位bit
字节byte 1byte=8bit
实型变量
float单精度 一般4个字节
double双精度 一般8个字节
long double 长双精度 一般16个字节
字符型数据运算
字符数组中要在结尾添加一个字符'\0',作为字符串结束的标志
算术运算符
c语言规定,两个整形数据相除结果是整形
多数c编译系统采取“向零取整”
自增,自减运算符
++i,--i 在使用i之前,先使i值加/减1,先加加再赋值
i++,i-- 在使用i之后,使i值加/减1,先赋值再加加
例
i=3
j=++i; i值先变成4,再赋值给j,j值为4
j=i++; i值3先付给j,j值为3,i再变为4
逗号运算符 (3+4,4+6)值为10,最后一个逗号的表达式为值
提高部分
计算机不论对正数或负数都按“补码”形式存放到存储单元
对正数来说,补码就是该数原码,负数补码不是原码
对负数的补码的方法:
1⃣️取该数二进制形式,他就是原码
2⃣️对该原码逐位取反,得反码
3⃣️将反码加一,这就是补码
可以看到负数补码形式的最高位都是1,从第一位可以判断该数正负
整形常量的类型
在一个整常量后加一个字母l或L,则认为是long int
在一个整常量后面加一个字母u或U,认为是unsigned int型
运算符的优先级与结合性
运算“左结合性”
赋值“右结合性”
各类数值型数据之间的混合运算
转换成同一类型
保证精度不降低,转换数据长度增加的方向进行。如int和long,先把int转化为long再运算
所有浮点都是以双精度进行,即使仅含float,也要转成double,再运算
char和short型参与运算,必须转换成int型
赋值运算中,会将右边的类型转换为左边的类型。如果右边数据类型长度比左边长时,会丢失一部分数据,会降低精度
强制类型转换是临时的
类型转换
同各类型混合运算
实型赋与整型,舍去小数部分
整型赋予实型,数值不变,以浮点形式存在
字符型赋予整形,字符型一个字节,整型四字节,将数值放在低八位中,高八位为0