练习5.1
空语句:
; //空语句中只含有一个单独的分号
如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要的时候,将会用到空语句,以下为示例:
//重复读入数据直至到达文件末尾或某次输入的值等于sought
while(cin >> s && s != sought)
;//空语句
while 循环的条件部分首先从标准输入读取一个值并且隐式地检查 cin,判断读取是否成功,假定读取成功,条件的后半部分检查读进来的值是否等于 sought 的值。如果发现了想要的值,循环终止;否则,从 cin 中继续读取另一个值,再一次判断循环的条件。
练习5.2
复合语句也被称之为块,是指用花括号括起来的语句和声明的序列。一个块就是一个作用域。
如果在程序的某个地方,语法上需要一条语句,但逻辑上需要多条语句,则应该使用符合语句,比如我们常常需要在循环体内做很多事情,此时就需要将多条语句用花括号括起来,从而把语句序列转变成块。示例如下:
while (val <= 10){
sum += val;
++val;
}
练习5.3
int main() {
int sum = 0;
for (int val = 1;val <= 10;++val)
sum += val;
cout << "sum of 1 to 10 inclusive is " << sum << endl;
}
可读性差不多,但是注意作用域的问题,for循环定义的变量仅仅在循环内有效,不能在for内初始化sum,又在for之外的地域输出sum。