一、变量赋初值
1、例如int i = 10,跟int i;i =10不同。
运算符:单目运算符优先级高于双目运算符或三目运算符。
任何表达式都有数据类型:
例如程序
int i = 10;
int j = 20;
printf(“%d\n”, i / j);输出为0
float i = 10;
float j = 20;
printf(“%f\n”,i / j);输出为0.5
2、求余运算符
求余运算符左右只能是整形或者与整形相兼容的数据类型。
求余运算符最终结果符号与左操作数一致。
求余运算符结果小于右操作数。
3、左值和右值
表达式产生的结果均为临时变量(匿名变量),所有的临时变量都是右值,不能做自增运算。
i++表达式没加但i加了,++i表达式直接加(程序运行效率高)。
判断左右值方法:能取地址的为左值,const int i = 2(只读变量)也为左值。
二、各类数值型数据间的混合运算
隐式转换
强制类型转换运算符
(double)a将a强制转换为double类型
int(a + b)将a+b强制转换为int类型
int = double小数部分截断
int i = 123456789;
short s ;
s = i;高位截断(保留低位字节)
int = short符号位扩展:如果短数据类型为负数,则高位全补1,如水果短数据类型为正数,则高位全补0.
逗号运算符:最低优先级的运算符号,从左至右,但在函数里做隔断作用。