1. 变量与常量
变量:在其值域内可变化的量;
常量:有固定数据类型及固定值的量;
2. 数据类型
数据类数据类型可以理解为固定内存大小的别名。当程序员需要使用字节时,往往需要先为它申请空间,之后才能使用。为了提高编程的效率与程序的可读性。将1个字节定义为char型,4个字节定义为int型.……
型可以理解为固定内存大小的别名。当程序员需要使用字节时,往往需要先为它申请空间,之后才能使用。为了提高编程的效率与程序的可读性。将1个字节定义为char型,4个字节定义为int型.……
3. 字节数
Int 4B; float 4B;
double 8B;
short 2B;char 1B;
Signed 有符号0~2^n位 unsigned无符号-2^n位~~0~~2^n位-1
例如:char 一字节 n=8, char 取值范围为-128~~0~~127;unsigned char取值范围为0~~256;
4. 控制语句
C语言9种控制语句
①if( )~else 条件语句
②for( )~ 循环语句
③while( )~ 循环语句
④do~while( ) 循环语句
⑤continue 结束本次循环语句
⑥break 中止执行switch或循环语句
⑦switch 多分支选择语句
⑧goto 转向语句
⑨return 从函数返回语句
重点讨论break&continue:
在使用continue时,程序运行遇到它,会继续执行下面的指令,循环内继续执行;
而break,无论何时读到它,将会停止该操作,循环内会跳出循环。
5. 关于数据类型不同之间计算的转换(自动类型转换)
遵循以下规则:
1.若参与运算量的类型不同,则应先转换成统一类型,然后在进行运算。
2.转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型进行运算时,要先把int量转成long型后在进行运算。
3.所有的浮点运算都是一双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,在做运算。
4.char型和short型参与运算,必须先转成int型。
总之,转换的顺序是由精度低的类型向高的类型转换:char,short->int->unsigned->long->double->float
例:整型与无符号整型
int a=-2;
unsigned int b=1;
printf(“%d”,a+b);// -1
printf(“%u”,a+b);// 4294967295
课上有老师所说: a+b 先转换为无符号整型计算;%d a+b转换为int型;%u a+b 4294967295
我自己归纳将其a、b还原本质二进制码来看,a(0000 0001)+b(1000 0001)用其补码计算,从而得到新的数据a+b=1111 1111
由该补码可 取得在%d 或%u下的数值;
1原码0000 0001反码 0000 0001 补码0000 0001
-1 原码1000 0001反码 1111 1110补码1111 1111
-2 原码1000 0010反码 1111 1101补码1111 1110