当前位置:文档之家› C语言试题库-循环结构

C语言试题库-循环结构

一、选择题1.以下叙述正确的是A: do-while 语句构成的循环不能用其它语句构成的循环来代替。

B: do-while 语句构成的循环只能用break 语句退出。

C: 用do-while 语句构成的循环,在while 后的表达式为非零时结束循环。

D: 用do-while 语句构成的循环,在while 后的表达式为零时结束循环。

2.下面有关for 循环的正确描述是A: for 循环只能用于循环次数已经确定的情况B: for 循环是先执行循环体语句,后判定表达式C: 在for 循环中,不能用break 语句跳出循环体D: for 循环体语句中,可以包含多条语句,但要用花括号括起来3.C 语言中while 和do-while 循环的主要区别是A: do-while 的循环体至少无条件执行一次B: while 的循环控制条件比do-while 的循环控制条件严格C: do-while 允许从外部转到循环体内;D: do-while 的循环体不能是复合语句;4.下列关于switch 语句和break 语句的结论中,正确的是A: break 语句是switch 语句中的一部分B: 在switch 语句中可以根据需要使用或不使用break 语句C: 在switch 语句中必须使用break 语句D: switch 语句是break 语句的一部分5..以下正确的描述是A: continue 语句的作用是结束整个循环的执行;B: 只能在循环体内和switch 语句体内使用break 语句;C: 在循环体内使用break 语句或continue 语句的作用相同;D: 从多层循环嵌套中退出时,只能使用goto 语句;6.语句while(!e);中的条件!e 等价于A: e==0B: e!=0C: e!=1D: ~e7.在以下给出的表达式中,与while(E)中的E不等价的表达式是A: !E=0B: E>0||E<0C: E==0D: E!=08.在C 语言中,当do-while 语句中的条件为()时,结束该循环。

A: TUREB: 1C: 0D: 非09.对于for(表达式1;;表达式3)可理解为A: for(表达式1;0;表达式3)B: for(表达式1;1;表达式3)C: for(表达式1;表达式1;表达式3)D: for(表达式1;表达式3;表达式3)10.以下不是死循环的语句为()A: for(y=1,x=1;x>=++y;x++)B: for(;;x++)C: while(1){x++;}D: for(i=10;;i--)11.以下不构成无限循环的语句或者与语句组是A: n=0;do{++n;}while{n<=0};B: n=0;while(1){n++;}C: n=10;while(n);{n--;}D: for(n=0,i=1;i++) n+=1;12.下列循环语句中有语法错误的是A: while(x=y) 5;B: while(0) ;C: do 2;while(x==b);D: do x++ while(x==10);13.在C 语言中,设已定义k 为int 整型变量,则有下面while 循环执行( ) 次。

k=10;while(k==0) k=k-1;A: 10B: 无限C: 0D: 114.有如下程序main( ){ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A: 987B: 876C: 8765D: 987615.以下程序的输出结果是( )。

main( ){ int n=4;while(n--)printf("%d ",--n);}A: 2 0B: 3 1C: 3 2 1D: 2 1 016.以下程序的输出结果是()。

main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A: 1234B: 123C: 12D: 117.定义如下变量: int n=10; 则下列循环的输出结果是while(n>7){ n--;printf("%d\n",n);}A: 10987B: 9876C: 1098D: 98718.以下程序的输出结果是()main(){ int num=0;while(num<=2){ num++;printf(“%d,”,num);}}A: 1,B: 1,2,C: 1,2,3,D: 1,2,3,4,19.请读程序:#include<stdio.h>main(){ int mun=0;while(num<=2){ num++; printf("%d\n",num);} }上面程序的输出结果是A: 12B: 123C: 1234D: 120.下面程序片段,退出while 循环时,s 的值是_____。

int i=0,s=1;while(i<3) s+=(++i);A: 7B: 6C: 5D: 421.下面程序片段,退出while 循环时,s 的值是____。

int i=0,s=1;while(i<3) s+=(i++);A: 6B: 5C: 4D: 322.以下程序的输出结果是()main(){ int x=0,y=0;while(x<15) y++,x+=++y;printf(“%d,%d”,y,x);}A: 20,7B: 6,12C: 20,8D: 8,2023.以下程序的输出结果是()main(){ int n=0;while(n++<=2);printf(“%d”,n);}A: 2B: 3C: 4D: 有语法错误24.以下程序的输出结果是()main(){ int n=10;while(n>7){ n--;printf(“%d,”,n);} }A: 10,9,8,B: 9,8,7,C: 10,9,8,7,D: 9,8,7,6,25.在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;while((ch=getchar())!='\n'){ if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);}printf("\n");}A: ABCdefB: abcDEFC: abcD: DEF26.有以下程序:#includemain(){int y=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。

A.y=0B.y=-1C.y=lD.while构成无限循环27.以下程序的输出结果是()main(){ int a=1,b=2,c=2,t;while(a<b<c) { t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);}A: 1,2,0B: 2,1,0C: 1,2,1D: 2,1,128.有以下程序段#includemain(){while(getchar()!=’\n’);}以下叙述中正确的是( )。

A.此while语句将无限循环B.getchar()不可以出现在while语句的条件表达式中C.当执行此while语句时,只有按回车键程序才能继续执行D.当执行此while语句时,按任意键程序就能继续执行29.有以下程序:#includemain(){int a=1,b=2;while(a<6){b+=a;a4+=2;b%=l0;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。

A.5,11B.7,1C.7,11D.6,130.有以下程序:#include,main(){int S;scanf("%d",&s);while(s>O){switch(s){case l:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,由输出结果是( )。

A.6566456B.66656C.66666D.666665631.下面的程序main(){ int x=3;do {printf("%d\n",x-=2);}while(!(--x));}A: 输出的是1B: 输出的是1 和-2C: 输出的是3 和0D: 是死循环32.以下程序段是()x=-1;do{ x=x*x;} while(!x);A: 死循环B: 循环执行两次C: 循环执行一次D: 有语法错误33.有以下程序段int x=3do{ printf(“%d”,x-=2); }while (!(--x));其输出结果是A: 1B: 3 0C: 1 -2D: 死循环34.有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是()。

A: 任意正奇数B: 任意负偶数C: 任意正偶数D: 任意负奇数35.下面的程序main(){ int x=3;do {printf("%d\n",x-=2);}while(!(--x));}A: 输出的是1B: 输出的是1 和-2C: 输出的是3 和0D: 是死循环36.有如下程序main( ){ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A: 321B: 23C: 不输出任何内容D: 陷入死循环37.有以下程序main(){ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘给n 输入的值是A: -1B: -3C: -5D: 038.假定a 和b 为int 型变量,则执行以下语句后b 的值为a=1; b=10;do{ b-=a; a++; }while (b--<0) ;A: 9B: -2C: -1D: 839.执行以下程序后,输出的结果是。

相关主题