5.8
1.入口条件循环和出口条件循环之间的区别是什么?各种C++循环分别属于其中的哪一种?
答:入口条件循环就是程序在执行循环体语句之前先检查循环条件,出口条件循环则是在执行语句之后再检查。入口条件循环有for循环、while循环;出口条件循环有do while循环。
2.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?
int i;
for(i=0; i<5; i++)
cout << i;
cout << endl;
答:01234。由于没有花括号,只有cout<<i一行算循环语句。
3. 如果下面的代码片段是有效程序的组成部分,它将打印什么内容?
int j;
for(j=0; j<11; j+=3)
cout << j;
cout << endl << j << endl;
答:0369
12
0369由for循环输出,for循环结束后j的值为12
4.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?
int j = 5;
while( ++j < 9 )
cout << j++ << endl;
答:6
8
首先j在入口条件判断前先自增为6<9,直接输出,之后j再自增为7,再次进行判断前的自增为8<9,则直接输出,输出后自增为9,判断前自增为10>9,跳出循环。
5.如果下面的代码片段是有效程序的组成部分,它将打印什么内容?
int k = 8;
do
cout <<" k = "<< k << endl;
while (k++ < 5);
答:k=8
先执行do语句,再判断8>5跳出循环
6.编写一个打印1、2、4、8、16、32、64的for循环,每轮循环都将计数变量的值乘2。
for (int i = 1;i <= 64;i *= 2)
cout<<i<<" ";
7.如何在循环体中包括多条语句?
答:将语句用大括号包裹。
8.下面的语句是否有效?如果无效,原因是什么?如果有效它将完成什么工作?
int x = (1,024);
答:第一条语句是有效的。表达式1, 024由1和024组成。值为右侧表达式的值024,以0开头为八进制的20,因此该声明将值20赋给X。
下面的语句又如何呢?
int y;
y = 1,024;
答:第二条语句也是有效的。但将左侧表达式将y设置成1,整个表达式没有使用024。
9. 在查看输入方面,cin>>ch同cin.get(ch)和ch = cin.get()有什么不同?
答:cin>>ch会跳过空格、换行符、制表符,而后两者都会读取到。