第十九章 一般控制问题
布尔表达式 用 ture 和 false 做布尔判断; 隐式地比较布尔值与 true 和 false ; 简化复杂的表达式; 拆分复杂的判断并引入新的布尔变量; 把复杂的表达式做成布尔函数; 用决策代替复杂的条件; 编写肯定性质的布尔表达式; 在 if 语句中,把判断条件从否定形式转换为肯定形式,并且互换 if 和 else 子句中的代码; 用狄摩根定理简化否定的布尔判断; 用括号使布尔表达式更清晰; 用一种简单的计数技巧来世括号对称; 理解布尔表达式是如何求值的; 按照数轴的顺序编写数值表达式; 与0比较的指导原则; 隐式地比较逻辑变量; 把数和0相比较; 在C中显式地比较字符和零终止符(`\0`); 把指针与 NULL 相比较; 布尔表达式常见问题; 在C家族语言中,应该把常量放在比较的左端; 在C++中,可以考虑创建预处理宏来替换&&,||和==; 复合语句(语句块) 复合语句指的是一组语句,该组语句被视为一条单一的语句,用于控制程序流。符合语句使用指导原则: 把括号对一起写出; 用括号来把条件表达清楚。 空语句 空语句即一条仅含分号的语句。 小心使用空语句; 为空语句创建一个 DoNothing() 预处理宏或者内联函数; 考虑如果换用一个非空的循环体,是否会让代码更清晰。 驯服危险的深层嵌套 深层嵌套与软件首要技术使命——管理复杂度——是相违背的。