您的位置:首页 > 编程语言 > C语言/C++

C++Primer第五版 第五章习题答案(1~10)

2016-12-31 11:30 239 查看
1:空语句:最简单的语句,当程序中在语法上需要一条语句,但是逻辑上却不需要时,就可以用到空语句

while (cin >> a && a != s) //不断的读取输入流的内容,直到输入中遇到s。
; //使用空语句时,必须加上注释,使得代码阅读者知道语句是有意义的。

2:复合语句(也称为“块”):指用花括号括起来的语句和声明的序列。

一个块就是一个作用域,在块中引入的名字只能在块内部以及嵌套在块中的子块访问

注意:块不以分号结尾。

while(a > 1)
{
sum += a;
a--;
} //当语法上需要一条语句,但是逻辑上需要多条语句时,就要用到块。

3:会降低代码的可读性

while(a > 1)
sum += a ,a--;
//逗号运算符,使得两条语句放到一起

4:其他代码也需要访问控制变量时,变量需要定义在语句的外部

(a):iter变量未初始化,且需要定义在语句的外部

(b):if部分无意义,在while循环中已经完成了判断

5:较为简单的if语句识别,前面章节中有实现的代码

6:同上所述。

7:

(a) : ival1 = ival2 ; //缺少一个分号

(b):使用了两条语句,需要使用花括号括起来

(c):下面的if需要换成else if

(d):=和==的区别再次注意

8:悬垂else:C++规定,else与其最近的尚未匹配的if相匹配

9:题目简单,但是勿要眼高手低,亲手完成最佳。代码虽然简单,但是其中确有很多细节需要注意。

#include <iostream>
#include <string>
#include <vector>
using namespace std;
void main()
{
char cval;
int sum_a = 0,sum_e = 0,sum_i = 0,sum_o = 0,sum_u = 0; //变量的定义要简洁并且可以看出含义,切勿使用简单的a,b,c...
while (cin >> cval)
{
if (cval == 'a')
{
sum_a++;
}
else if (cval == 'e')
{
sum_e++;
}
else if (cval == 'i')
{
sum_i++;
}
else if (cval == 'o')
{
sum_o++;
}
else if (cval == 'u')
{
sum_u++;
}
}
cout<<"元音字母a的个数为:"<<sum_a<<endl;
cout<<"元音字母e的个数为:"<<sum_e<<endl;
cout<<"元音字母i的个数为:"<<sum_i<<endl;
cout<<"元音字母o的个数为:"<<sum_o<<endl;
cout<<"元音字母u的个数为:"<<sum_u<<endl;
}

10:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
void main()
{
char cval;
int char_a = 0,char_e = 0,char_i = 0,char_o = 0,char_u = 0;
while (cin >> cval)
{
switch (cval)
{
case 'a':
case 'A':
++char_a;
break;
case 'e':
case 'E':
++char_e;
break;
case 'i':
case 'I':
++char_i;
break;
case 'o':
case 'O':
++char_o;
break;
case 'u':
case 'U':
++char_u;
break;
}
}
cout<<"元音字母a的个数为:"<<char_a<<endl;
cout<<"元音字母e的个数为:"<<char_e<<endl;
cout<<"元音字母i的个数为:"<<char_i<<endl;
cout<<"元音字母o的个数为:"<<char_o<<endl;
cout<<"元音字母u的个数为:"<<char_u<<endl;
}
结果示例:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息