学号: 姓名: 成
绩:
程序设计基础(C)第五章 循环结构习题
一、选择题
1. 以下程序段的输出结果是____。 int k,j,s;
for(k=2; k<6; k++,k++) { s=1;
for(j=k; j<6; j++) s+=j; }
printf(\
A) 9 B) 1 C) 11 D) 10
2. 以下程序段的输出结果是____。 int i,j,m=0;
for(i=1; i<=15; i+=4) for(j=3; j<=19; j+=4) m++; printf(\
A) 12 B) 15 C) 20 D) 25
第五章 循环结构 共7页第1页
3. 以下程序段的输出结果是____。 int n=10; while(n>7) { n--;
printf(\} A) B) C) 10 9 10 9 8 9 8 7 8
7
4. 以下程序段的输出结果是____。 int x=3; do
{ printf(\while(!(--x));
A) 1 B) 3 0 C) 1 -2 D) 死循环
5. 以下程序段的输出结果是____。 main() { int i,sum;
第五章 循环结构 共7页第2页D) 9 8 7 6
for(i=1; i<6; i++) sum+=sum; printf(\}
A) 15 B) 14 C) 不确定 D) 0
6. 以下程序段的输出结果是____。 main() { int y=10; for(; y>0; y--) if(y%3==0)
{ printf(\}
A) 741 B) 852 C) 963 D) 875421
7. 若x 是int 型变量,以下程序段的输出结果是____。 for(x=3; x<6; x++)
printf((x%2)?(\A) **3 ##4 **5
第五章 循环结构 共7页第3页
B) ##3 **4 ##5
C) ##3 **4##5
D) **3##4 **5
8. 以下程序的输出结果是____。 main() { int i;
for(i=1; i<=5; i++) { if(i%2) printf(\else contionue; printf(\}
printf(\}
A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$ 9. 以下叙述正确的是____。
A) do_while 语句构成的循环不能用其它语句构成的循环来代替。 B) do_while 语句构成的循环只能用break 语句退出。
C) 用do_while 语句构成循环时,只有在while 后的表达式为非零时结束循环。
D) 用do_while 语句构成循环时,只有在while 后的表达式为零时结束循环。
10. 以下程序的输出结果是____。 main() { int x,i;
for(i=1; i<=100; i++)
第五章 循环结构 共7页第4页
{ x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(\}
printf(\}
A) 39 81 B) 42 84 C) 26 68 D) 28 70 二、填空题
1)当执行以下程序段后,i 的值是____、j 的值是____、k int a,b,c,d,i,j,k; a=10; b=c=d=5; i=j=k=0; for( ; a>b; ++b) i++; while(a>++c) j++; do k++; while(a>d++);
2)以下程序段的输出结果是____。 int k,n,m; n=10; m=1; k=1; while(k<=n) m*=2; printf(\
第五章 循环结构 共7页第5页
____。的值是