C语言 第三章 顺序结构练习
2020-05-22 本文已影响0人
小明同学机器人
第三章 顺序结构练习
#include<stdio.h>
#define PI 3.1415926 //静态常量
int main()
{
int a=88; //整形常量
printf("%d\n",a); //打印 \n 回车换行 %d 十进制打印
float b=10.2;
printf("%.1f\n",b);
float c=12.5e3; //12.5*10^3 浮点型 %f 12.5e+3 意思为 12.5*10^3
printf("%f\n",c);
float d=12.5e-3; //12.5*10^(-3)
printf("%f\n",d);
char f='z'; //字符型
printf("%c\n",f); //打印字符 %c
printf("\\n\n"); // 用\转义
printf("\a"); //声音
printf("ab\bc"); // /b 往前移动一个字符
printf("\n圆的面积为%f",2*2*PI);
unsigned int e=-100; //声明无符号-类型
printf("%u",e); //无符号输出
// /u
return 0;
}
变量
先定义,后使用
内存
存放正在执行的程序(存放数据的空间)
C类型 | 32位/byte | 64位/byte |
---|---|---|
char | 1 | 1 |
short int | 2 | 2 |
int | 4 | 4 |
long int | 4 | 8 |
long long int | 8 | 8 |
char* | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
硬盘
存放长久保存的数据
空间
1 Byte(字节)=8 bit(位)
进制转换
(1) 10进制转换2进制
-
基础法:除2取余 倒取
-
凑数法:2权重 32 16 8 4 2 1
求35的二进制
二进制为 100011
(2)二进制转换为10进制
浮点型数据 (float,double\long double)
float 类型:6位小数 float a=10.23f; 若不加f,就意味着默认double。
double类型:15位小数
#include<stdio.h>
int main()
{
unsigned int a=100; //无符号整型
printf("%u\n",a);//无符号输出
float b=12.2;
printf("%f\n",b);
double e=13.8;
printf("%f\n",e);
}
标识符(类型名称)
命名规则:只能由字母、数字、下划线(_)3种字符构成;第一个字符必须为字母或者下划线。
字符
char a='\101'; 为八进制一个字符
3.2 数据的表现形式以及运算
常量 包括
- <u>整型常量</u> 10
- <u>实型常量</u> 100.1 ,10e+3
- <u>字符常量</u> a
- <u>字符串常量</u> ABCD
- <u>符号常量</u> ?*……%¥
实型常量包括十进制小数形式和指数形式
字符串常量打印
#include<stdio.h>
int main()
{
char ch1='\101';
printf("%c\n",ch1);
char str[]="\101\102\103\104";
printf("%s",str);
return 0;
}
++a和a++区别
++a:先加后用
a++:先用后加
C语言非0 为假,则为1
三角形面积公式
//求面积 上述公式
#include<stdio.h>
#include<math.h>
int main()
{
float a=2.1;
float b=2.5;
float c=3;
double s=(a+b+c)/2;
printf("%f\n",s);
double area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积为%f",area);
}
- char 只能存放八位二进制数
#include<stdio.h>
int main(){
int i=289;
char ch2;
ch2=i;
printf("ch2=%d",ch2);
return 0;
将289转换为二进制,取后八位,然后转换为10进制
//打印结果 33
}
#include<stdio.h>
#include<math.h>
int main() {
printf("******%5d*****\n",10); //右对齐 输出%d 占五列
printf("******%-5d*****\n",10);//左对齐 输出%d 占五列
printf("******%20.13f*****\n",3.221); //右对齐 13个小数,占20列
printf("******%-20.13f*****\n",3.221); //左对齐 13个小数,占20列
printf("******%.1e*****\n",312.221); //指数标准化输出
printf("******%o*****\n",190)//八进制输出;
printf("******%x*****\n",190)//16进制输出;
printf("******%u*****\n",190)//无符号输出
// int a,b,c;
// scanf("%d%d%d",&a,&b,&c); //输入整型
// printf("%d,%d,%d\n",a,b,c);
// char d,e,f;
// scanf("%c%c%c",&d,&e,&f); //输入字符型
// //printf("%c,%c,%c\n",d,e,f);
putchar('B'); //字符输出
putchar('O');
putchar('Y');
printf("\n");
char ch1,ch2;
ch1= getchar(); //必须连续输入
ch2= getchar();
printf("ch1=%c,ch2=%c",ch1,ch2);
return 0;
}
-
C语言char类型数据在内存种形式是ASCLL码形式
<font color=#ff8f size=20>大小写字母转换</font>
#include<stdio.h> int main() { char a; printf("请输入一个字母"); a=getchar(); if(a>64&&a<91) { printf("字母变为小写:"); putchar(a+32); } else { printf("字母变为大写:"); putchar(a-32); } }
