操作符和表达式
操作符 算术操作符 +,-,*,/,% ,除了 % 操作符其它几个操作符既可以用于浮点型,也可以用于整型。 / 的两个操作数是整型时它执行整除运算,其它气矿下执行浮点运算。 % 操作符的两个操作数必须是整型。 移位操作符 左移时,值最左边的几位被丢弃,右边多出来的几个空位由0补齐。 右移时,左边移入的新位有两种填充方案: 逻辑移位:左边移入的位用0填充。 算术移位:左边移入的位的值由原先该值的符号决定,符号位为1则移入的位都是1,符号位为0则移入的位都是0,这样可以保证原数的正负形式不变。 移位操作的操作数必须是整数。 标准中说对于无符号数,所有的移位操作都是逻辑移位,对于有符号数,移位操作采用逻辑移位还是算术移位是由编译器所决定的。如果一个程序使用了有符号数的移位操作,那么它是不可移植的。 单目操作符 ~ 操作符对整型类型的操作数执行求补操作,即操作数原来为1 的位变成0,原来为0的位变成1。 sizeof 操作符判断它的操作数的类型长度,以字节为单位。 (类型) 操作符被称为强制类型转换操作符,它用于显示把表达式的值转换为另外的类型。 前缀++/-- ,操作数的值被增加/减少,表达式的值就是操作数增加/减少后的值。 后缀++/-- ,操作数的值被增加/减少,表达式的值就是操作数增加/减少之前的值。 逻辑操作符 && , || 都具有短路特性: && 首先会对左操作数求值