C++ Primer 第五版:第五章「语句」习题答案
第五章:语句
练习5.1
什么是空语句?什么时候会用到空语句?
只含有一个单独的分号的语句是空语句。如:
1 | ; |
如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句。(建议做好注释说明空语句作用)
1 | //重复读入数据直至到达文件末尾或某次输入的值等于sought |
练习5.2
什么是块?什么时候会用到块?
用花括号括起来的语句和声明的序列就是块。
1 | { |
如果在程序的某个地方,逻辑上需要多条语句,而语法上只能容纳一条语句,此时应该使用块。
1 | while (val <= 10) { |
练习5.3
使用逗号运算符重写(参见4.10节,第140页)1.4.1节的 while 循环,使它不再需要块,观察改写之后的代码可读性提高了还是降低了。
1 | while (val <= 10) |
代码的可读性降低了。
练习5.4
说明下列例子的含义,如果存在问题,试着修改它。
1 | (a) while (string::iterator iter != s.end()) { /* . . . */ } |
- (a) 这个循环试图用迭代器遍历string,但是变量的定义应该放在循环的外面,目前每次循环都会重新定义一个变量,明显是错误的。
- (b) 这个循环的 while 和 if 是两个独立的语句,if 语句中无法访问 status 变量,正确的做法是应该将 if 语句包含在 while 里面,
练习5.5
写一段自己的程序,使用if else 语句实现把数字转换为字母成绩的要求。
练习5.6
改写上一题的程序,使用条件运算符(参见4.7节,第134页)代替if else语句。