第5章 循环结构程序设计
5.1 基本知识点
? while语句的使用格式和注意事项 ? do-while语句的使用格式和注意事项 ? for语句的使用格式和注意事项
? break和continue语句在循环语句中的应用 ? 循环结构的嵌套
? 使用goto语句实现循环结构 ? 穷举法程序设计方法 ? 迭代程序设计方法
5.2 练习题5
1. 单项选择题
(1)语句while (!e);中的条件!e等价于 A 。 A. e==0
B. e!=1
C. e!=0
D. ~e
(2)下面有关for循环的正确描述是 D 。
A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体
D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中 D 。
A. 不能使用do-while语句构成的循环
B. do-while语句构成的循环必须用break语句才能退出
C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是 A 。 A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格
第5章 循环结构程序设计 35
C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段 C 。
int x=-1; do {
x=x*x; }
while (!x);
A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是__C__。 A. i=100;
while (1) {
i=i0+1;
if (i==20) break; }
B. for (i=1;;i++)
sum=sum+1;
C. k=0;
do { ++k;
} while (k<=0);
D. s=3379;
while (s++%2+3%2) s++;
(7)与以下程序段等价的是__A__。
while (a) {
if (b) continue; c; }
A. while (a) C. while (c)
B. while (c)
{ if (!b) break; c; }
{ if (!b) c; } { if (b) c; }
D. while (a)
{ if (b) break; c; }
(8)以下程序的输出结果是_B___。
36 第Ⅰ部分 C程序设计教程学习指导
#include
int i;
for (i=4;i<=10;i++) {
if (i%3==0) continue; COUT<
A. 45 B. C. 69 (9)以下程序的输出结果是__C__。
#include
int num=0;
while (num<=2) {
num++;
cout< A. 1 B. 1 2 2. 填空题 (1)以下程序的运行结果是__S=7__。 #include int s=0,k; for (k=7;k>=0;k--) { switch(k) { case 1: case 4: case 7: s++; break; case 2: case 3: case 6: break; D. C. 1 2 3 D. 1 2 3 4 第5章 循环结构程序设计 case 0: case 5: s+=2; break; } } cout< 37 (2)以下程序的运行结果是 i=8 。 #include (3)以下程序的运行结果是____。 #include int i,j; for (i=4;i>=1;i--) { cout<<\ for (j=1;j<=4-i;j++) cout<<\ cout<<\ } } 输出结果: * ** *** **** (4)以下程序的运行结果是____。 #include 38 int i,j,k; 第Ⅰ部分 C程序设计教程学习指导 for (i=1;i<=6;i++) { for (j=1;j<=20-2*i;j++) cout<<\ for (k=1;k<=i;k++) cout< 输出结果: 1 22 333 4444 55555 (5)以下程序的运行结果是____。 #include int i,j,k; for (i=1;i<=6;i++) { for (j=1;j<=20-3*i;j++) cout<<\ for (k=1;k<=i;k++) cout< for (k=i-1;k>0;k--) cout< 输出结果: 1 121 12321 (6)以下程序的运行结果是____。 #include