C++提供了一组控制流(flow-of-control)语句以支持更复杂的执行路径

5.1 简单语句

一个表达式,在末尾加上分号(;)就变成了表达式语句,表达式语句的作用是执行表达式并丢弃执行结果

空语句

空语句是最简单的语句,空语句中只有一个分号:

; // 一条空语句

使用空语句的场合:程序中语法上需要一条语句,但逻辑上不需要,如:

// 重复输入直到输入为”abc”,条件部分的功能已经是完整的

while(cin >> s && s != “abc”)

; // 空语句

注意:使用空语句时应该加上注释,从而令读者知道这条语句是有意省略的

别漏写分号,也别多写分号

多余的分号实际上是一条空语句:

ival = v1 + v2;; // 正确,第二个分号是一个空语句

多余的空语句一般是无害的,但在if或while的条件后的空语句会改变程序的含义:

while(iter != iv.end()); // while语句实际上在此处结束,循环体为空语句

++iter; // 虽然有缩进,但不属于循环的一部分

注意:多余的空语句并非总是无害的

复合语句(块)

复合语句:花括号括起来的语句和声明的序列(可能为空,空块的作用等价于空语句),也称为块