一.条件操作符
三目操作符:
举例子:下面是一段正常比大小的代码,接下来可以尝试使用三目操作符来编写。
二.逗号表达式
举例子:
这题我们可以知道d才是真正判断的关键 ,不过有时候前面的式子也可能会影响到最终结果。
这段代码重复性过高,我们可以用逗号表达式来尝试优化。
三.下标引用、函数调用和结构成员
当上传结构体的地址时,用指针接收的同时,也可以用(*pb)解引用来找到结构体。
四.表达式求值
4.1 隐式类型转换
这句话说白了就是自身大小小于整型的,都要进行整型提升。
我们先列出5与126的二进制序列,因为char是8bit位,所以截取8位出来。又因为是char类型两个数相加,所以我们需要整型提升。
因为是正数,所以整型提升的时候看符号位,char又是signed char有符号。a与b的符号位都是0,所以补0至32位。最后相加得到新的32bit位,因为要存储在char c中,故再截取8位下来,c是数字相加的整型,所以还要整型提升,符号位为1,故补1至32位(此处为补码)。因为我们要打印整型c,所以需要原码。对补码取反+1得到原码,结果为-125.
例1:
这里打印后只有c不用整型提升(因为大小刚好就是等于整型)。而a与b整型提升后已经不满足打印条件了。
有了符号后默认计算,也发生了整型提升。
4.2 算术转换
就是说当大小已经大于整型了,那么改考虑的不是整型提升,而是算术转换。
4.3 操作符的属性