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:E0||E0C: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:do2;while(x==b);D:dox++while(x==10);13.在C语言中,设已定义k为int整型变量,则有下面while循环执行()次。k=10;while(k==0)k=k-1;A:10B:无限C:0D:114.有如下程序main(){intn=9;while(n6){n--;printf(“%d”,n);}}该程序段的输出结果是A:987B:876C:8765D:987615.以下程序的输出结果是()。main(){intn=4;while(n--)printf(%d,--n);}A:20B:31C:321D:21016.以下程序的输出结果是()。main(){intnum=0;while(num=2){num++;printf(“%d\n”,num);}}A:1234B:123C:12D:117.定义如下变量:intn=10;则下列循环的输出结果是while(n7){n--;printf(%d\n,n);}A:10987B:9876C:1098D:98718.以下程序的输出结果是()main(){intnum=0;while(num=2){num++;printf(“%d,”,num);}}A:1,B:1,2,C:1,2,3,D:1,2,3,4,19.请读程序:#includestdio.hmain(){intmun=0;while(num=2){num++;printf(%d\n,num);}}上面程序的输出结果是A:12B:123C:1234D:120.下面程序片段,退出while循环时,s的值是_____。inti=0,s=1;while(i3)s+=(++i);A:7B:6C:5D:421.下面程序片段,退出while循环时,s的值是____。inti=0,s=1;while(i3)s+=(i++);A:6B:5C:4D:322.以下程序的输出结果是()main(){intx=0,y=0;while(x15)y++,x+=++y;printf(“%d,%d”,y,x);}A:20,7B:6,12C:20,8D:8,2023.以下程序的输出结果是()main(){intn=0;while(n++=2);printf(“%d”,n);}A:2B:3C:4D:有语法错误24.以下程序的输出结果是()main(){intn=10;while(n7){n--;printf(“%d,”,n);}}A:10,9,8,B:9,8,7,C:10,9,8,7,D:9,8,7,6,25.在执行以下程序时,如果从键盘上输入,ABCdef回车,则输出为#includestdio,hmain(){charch;while((ch=getchar())!='\n'){if(ch='A'&&ch='Z')ch=ch+32;elseif(ch='a'&&ch='z')ch=ch-32;printf(%c,ch);}printf(\n);}A:ABCdefB:abcDEFC:abcD:DEF26.有以下程序:#includemain(){inty=10;while(y--);printf(y=%d\n,y);}程序执行后的输出结果是()。A.y=0B.y=-1C.y=lD.while构成无限循环27.以下程序的输出结果是()main(){inta=1,b=2,c=2,t;while(abc){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(){inta=1,b=2;while(a6){b+=a;a4+=2;b%=l0;)printf(%d,%d\n,a,b);}程序运行后的输出结果是()。A.5,11B.7,1C.7,11D.6,130.有以下程序:#include,main(){intS;scanf(%d,&s);while(sO){switch(s){casel:printf(%d,s+5);case2:printf(%d,s+4);break;case3:printf(%d,s+3);default:(%d,s+1);break;}scanf(%d,&s);}}运行时,若输入123450回车,由输出结果是()。A.6566456B.66656C.66666D.666665631.下面的程序main(){intx=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.有以下程序段intx=3do{printf(“%d”,x-=2);}while(!(--x));其输出结果是A:1B:30C:1-2D:死循环34.有以下程序段intn,t=1,s=0;scanf(%d,&n);do{s=s+t;t=t-2;}while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是()。A:任意正奇数B:任意负偶数C:任意正偶数D:任意负奇数35.下面的程序main(){intx=3;do{printf(%d\n,x-=2);}while(!(--x));}A:输出的是1B:输出的是1和-2C:输出的是3和0D:是死循环36.有如下程序main(){intx=23;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是A:321B:23C:不输出任何内容D:陷入死循环37.有以下程序main(){ints=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.执行以下程序后,输出的结果是。main(){inty=10;do{y--;}while(--y);printf(“%d\n”,y--);}A:–1B:1C:8D:040.以下程序的输出结果是()main(){inta=1,b=10;do{b-=a;a++;}while(b--0);printf(“a=%d,b=%d”,a,b);}A:a=3,b=11B:a=2,b=8C:a=1,b=-1D:a=4,b=941.若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf(*****\n);下面关于语句执行情况的叙述中正确的是()。A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环42.以下程序执行后sum的值是()。min(){inti,sum;for(i=1;i6;i++)sum+=i;printf(“%d\n”,sum);}A:15B:14C:不确定D:043.在C语言中,执行语句:for(j=1;j5;j++);后,变量j的值是()。A:3B:4C:5D:644.已知inti,j;执行语句for(i=1,j=10;ij;i++,j-=2);i,j的值是______。A:3,6B:4,4C:5,2D:其它三个答案都不对45.以下循环体的执行次数是()。main(){inti,j;for(i=0,j=1;i=j+1;i+=2,j--)printf(%d\n,i);}A:3B:2C:1D:046.若i,j已定义为int类型,则一下程序段中内循环体的总的执行次数是for(i=5;i;i--)for(j=0;j4;j++)A:20B:25C:24D:3047.有以下程序main(){inti,s=0;for(i=1;i10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()。A:自然数1~9的累加和B:自然数1~10的累加和C:自然数1~9中的奇数之和D:自然数1~10中的偶数之和48.若x是int型变量,且有下面的程序片段:for(x=3;x6;x++)printf((x%2)?(**%d):(##%d\n),x);上面程序片段的输出结果是A:**3##4B:##3**4C:##3**4##5**5D:**3##4**5##549.以下程序的输出结果是()。main(){intx=10,y=10,i;for(i=0;x8;y=++i)printf(%d,%d,x--,y);}A:10192B:9876C:10990D:10109

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功