六.赋值操作符
1.连续赋值(接收上一个运算的返回值)
2.复合赋值符
七.逻辑操作符
1.逻辑操作符一览
- &&:逻辑与
- ||:逻辑或
2.区分 “逻辑与或” 和 “按位与或”
3.经典例题
例1:逻辑与的“短路特性”——前面为0判定时,后面不操作
例2:逻辑或的“反短路特性”——前面为真判定时,后面不操作
八.单目操作符
1.单目操作符一览
2.sizeof特性与操作规范 (操作数的类型长度)
操作规范:
特性:sizeof内部操作不改变原值
PS:截断过程
九.其他操作符
1.下标引用操作符
2.函数引用操作符
():接受一个或多个操作数:第一个操作数是函数名,其余的操作数就是传递给函数的参数
演示:
3.访问结构的成员操作符
演示:
九.算术转换
十.隐式类型转换
1.概述:
2.整型提升:
一.正负数的整型提升
方法:高位补符号位
3.截断:
- 与整型提升(char赋值给int)相对的,当int(整型)赋值给char时,会发生截断。
- 而运算时依照规定,又要进行整型提升
- 涉及到运算时,才会发生截断
十一.问题表达式问题
原理:优先级虽然存在,但与执行的次序存在不确定性
例1:无法判断三个fun( )哪个先执行
例2:无法判断是c开始先去+"--c",还是先执行--c再+c
十二.逗号表达式
1.逗号表达式
- 逗号表达式,就是用逗号隔开的多个表达式
- 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
2.逗号表达式的实际应用——简化代码
优化前:
a=get_val(); count_val(a); while(a>0) { 业务处理 a=get_val(); count_val(a); }
优化后: