复习题
1. 编写一个程序:从键盘读入字符,直到键入的字符为$为止。程序对键入的句号进行统计计数,在程序的最后输出统计的总数。
2. 在switch结构中,代码序列是否可以从一个case运行到下一个case分支?为什么?
3. 写出if-else-if阶梯形式的通用形式?
4. 考虑下面的代码段:
if ( x < 10 )
if ( y > 100 )
{
if ( !done ) x = z;
else y = z;
}
else cout << " error";
最后的else是和那个if相关联的?
5. 写出用for循环实现从1000 到0计数,每次递减2。
6. 下面的代码是否有效?
for ( int i = 0; i < num; i ++)
sum += i;
count = i;
7. 请解释break是干什么用的?
8. 在下面的代码段中,break语句执行后,会输出什么?
for ( i = 0; i< 10; i ++)
{
while ( runing )
{
if ( x< y ) break;
}
cout << "after while\n";
}
cout << " After for\n";
9. 下面的代码段输出什么?
for ( i = 0; i< 10; i ++)
{
cout << i << " ";
if ( ! (i%2) ) continue;
cout << "\n";
}
10. for循环中的自增表达式并不一定是每次改变一个固定的取值。实际上,循环控制变量可以以任意的方式进行修改。写一个程序,使用for循环来生成并显示级数1,2,4,8,16,32等等。
11. 小写字母的ASCII码和大写字母的ASCII码相差32。因此,小写字母减去32就变成大写字母了。编写一个程序,从键盘读入字符。程序把所有的小写字母转换成大写字母,并把所有的大写字母转换成小写字母,并输出结果。程序不对其它的字符进行转换。程序在用户键入一个句号的时候结束。程序在最后输出大小写转换的次数。