p126~p128:
1、关系运算符作用于算数类型和指针类型。
2、逻辑运算符作用于任意能转换成布尔类型值的类型。
3、以上两种运算的运算对象和运算结果都是右值。
4、逻辑与和逻辑或的运算策略:短路求值。
(左侧对象通常是为了确保右侧运算对象求值过程的正确性和安全性)
5、补充的几点:
1)用 &s访问字符串可以避免对元素的拷贝。
2)如果想测试一个算数对象或指针的真值,最好直接将其作为if 的条件。例如:if(!val)...
3)布尔类型转换为其它类型结果为 0 或 1,而其它类型转换为布尔类型,凡是不是 0 的结果都为 true。
6、优先级方面,暂时记住非运算符是关系运算符中优先级别最高的,关系运算符总比逻辑运算符优先级高,与运算符比或运算符优先级高,
赋值运算符优先级很低。
练习 4.8
p126 见表 4.2
练习 4.9
先判断指针是否为空,如果为空则不再计算右侧对象,返回false,
如果不为空则继续计算右侧字符串的值,若空则返回false否则返回true。
练习 4.11
if (a > b && b > c && c > d)
练习 4.12
!=的优先级要比<的低,先计算j<k返回一个布尔值后转化为整数0或者1,之后再与i比较。
相当于 i != (j < k)。
时间: 2024-10-01 06:22:16