第六章 循环控制(答案)

更新时间:2023-12-21 20:46:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第六章 循环控制

6.1 选择题

1. C语言用( C )表示逻辑“真”值。

A)true B)t或y C)非零整数值 D)整数0

2. 语句while(!e);中的条件!e等价于( A )。 A)e==0 B)e!=1 C)e!=0 D)-e

3. 以下for循环是( C )。

for(x=0,y=0;(y!=123)&&(x<4);x++);

A)无限循环 B)循环次数不定 C)执行4次 D)执行3次

4. 下面有关for循环的正确描述是( D ) A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判定表达式 C)在for循环中,不能用break语句跳出循环体

D)for循环体语句中,可以包含多条语句,但要用花括号括起来

5. 对于for(表达式1;;表达式3)可理解为( B ) A)for(表达式1;1;表达式3) B)for(表达式1:1;表达式3)

C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3)

6. 下面程序段的运行结果是( D ) x=y=0;

while(x<15) y++, x+=++y; printf(“%d,%d” y,x); A)20,7 B)6,12 C)20,8 D)8,20

7. 下面程序段的运行结果是( C ) int n=0;

while(n++<=2); printf(“%d”,n); A)2 B)3 C)4 D)有语法错

8. 下面程序的功能是将从键盘输入的一批正整数中求出最大者,输入0结束循环选

择填空。

#include

main()

{int a,max=0; scanf(“%d”,&a); while(( B )) {if(max

printf(“%d”,max); }

A)a==0 B)a C) !a==1 D)!a

9. 下面程序的运行结果是( C ). #include main()

{int num=0; while(num<=2) {num++;

printf(“=”,num); } } A)1 B)1 2 C)1 2 3 D)1 2 3 4

10. C语言中while和do-while循环的主要区别是( A ). A)do-while的循环体至少无条件执行一次

B)while的循环控制条件比的循环控制条件严格 C)do-while允许从外部转到循环体内 D)do-while的循环体不能是复合语句

11. 以下能正确计算1*2*3*??*10的程序是( C ).

A) do{i=1;s=1; B)do{i=1;s=0;

s=s*i; s=s*i; i++; i++;

}while(i<=10); }while(i<=10); C) i=1;s=1; D) i=1;s=0; do{s=s*i; do{s=s*i; i++; i++;

}while(i<=10); }while(i<=10);

12. 以下描述正确的是( C ).

A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。 C)在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。 D)do-while循环中,根据情况可以省略while

13. 若有如下语句

int x=3; do {printf(“%d\\n”,x-=2);} while(!(--x)); 则上面程序段( B ).

A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环

14. 下面程序的运行结果是( D ). #include main() {int y=10;

do{y--;}while(--y); printf(“%d\\n”,y--);}

A)-1 B)1 C)8 D)0

15. 下面程序运行结果是( B ). # include main()

{ int a=1,b=10; do

{b-=a ; a++ ; } while ( b--<0) ; printf ( “ a=%d , b=%d\\n”,a,b); }

A) a=3 , b=11 B) a=2,b=8 C)a=1,b=-1 D)a=4,b=9

16. 下面有关for循环的正确描述是( D ). A)for循环只能用于循环次数已经确定的情况。 B)for循环是先执行循环体语句,后判断表达式。 C)在for循环中,不能用break语句跳出循环体。

D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。

17. 以下for循环的执行次数是( C ). for(x=0,y=0;(y=123)&&(x<4);x++); A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次

18. 以下不是无限循环的语句为( A ). A)for(y=0,x=1;x>++y;x=i++) I=x B)for( ; ;x++=I); C)while(1){x++; }

D)for(I=10; ;I--) sum+=I;

19. 执行语句for(I=1;I++<4; );后变量I的值是( C ). A)3 B)4 C)5 D)不定

20. 下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。 #include main()

{int I,sum=0;

for(i=1;i<=50;i++) if( D ) sum+=i; printf(”%d”,sum); }

A)(int)(i/7)==i/7 B) (int) i/7==i/7 C)i%7=0 D) i%7==0

21. 下面程序的运行结果是( B ). #include main() {int i;

for(i=1;i<=5;i++) switch(i%5)

{case0:printf(“﹡”);break; case1:printf(“#”);break; default:printf(”\\n”); case2:printf(“&”); } }

A)#&&&* B)#& C)# D)#& & & &* & * & *

22. 下面程序的运行结果是( D ). #include main()

{int x,i;

for(i=1;i<=100;i++) {x=1;

if(++x%2= =0) if(++x%3= =0) if(++x%7= =0)

printf(“%d”,x) } }

A)39 81 B)42 84 C)26 68 D)28 70

23. 下面程序的运行结果是( D ). #include main()

{int i,b,k=0;

for(i=1;i<=5;i++) {b=i%2;

while(b- ->=0) k++; }

printf(“%d,%d”,k,b); }

A)3,-1 B)8,-1 C)3,0 D)8,-2

24. 以下正确的描述是( B ).

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto语句

25. 下面程序的运行结果是( B ). #include main()

{ int k=0;char c=’A’; do

{ switch(c++)

{ case ‘A’:k++;break; case ‘B’:k--;

case ‘C’:k+=2;break; case ‘D’:k=k%2;continue; case ‘E’:k=k*10;beak;

default:k=k/3; } k++; }

while(c<’G’);

pfintf(“k=%d\\n”,k); }

A)k=3 B)k=4 C)k=2 D)k=0

26. 下面程序的运行结果是( A ). #include”stdio.h>” main() { int I;

for (i=1;i<=5;i++)

{ if(i%2) printf(“*”); else continue; printf(“#”); }

printf(“$\\n”); }

A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$

27. 下面程序的运行结果是( A ). main()

{ int i,j,a=0; for(i=0;i<2;i++)

{ for (j=0; j<4; j++) {if (j%2) break; a++; }

a++; }

printf(“%d\\n”,a); }

A)4 B)5 C)6 D)7

28. c语言中( D )。

A)不能使用do-while语句构成的循环

B)do-while语句构成的循环必须用break语句才能退出

C)do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环 D)do—while语句构成的循环,当while语句中的表达式值为零时结束循环

29. C语言中while和do-while循环的主要区别是( A )。 A)do—while的循环体至少无条件执行一次

B)while的循环控制条件比do—while的循环控制条件严格 C)do—while允许从外部转到循环体内 D)do-while的循环体不能是复合语句

30. 以下程序的输出结果是( C )。 #include main() {

int num=0; while(num<=2) {

num++;

pringtf(\} }

A.1 B.1 C.1 D.1 2 2 2 3 3 4

6.2 填 空 题

}

1. 下列程序运行后的输出结果是【 * * * * * *

* * * * 】 #include main() {

int i,j;

for(i=4;i>=1;i--) {

printf(\

for(j=1;j<=4-i;j++) printf(\printf(\}

2. 下列程序运行后的输出结果是【 1 2 2

3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 】。

#include main() {

int i,j,k;

for(i=1;i<=6;i++) {

for(j=1;j<=20-2*i;j++) printf(\

for(k=1;k<=i;k++) printf(\

for(K=1;k<=i;k++) printf(\printf(\} }

3. 当运行以下程序时,从键盘出入China#,则下面程序的运行结果是【#include main( )

{int v1=0,v2=0,charch;

while((ch=getchar())! =’# ’) switch(ch) {case’a’:

case’h’: default:v1++ case ’o’:v2++ }

printf(“%d,%d\\n”,v1,v2); } 5,5 】.

本文来源:https://www.bwwdw.com/article/o885.html

Top