C语言考试循环结构训练习题库及答案精品.docx
- 文档编号:746402
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:21
- 大小:22.26KB
C语言考试循环结构训练习题库及答案精品.docx
《C语言考试循环结构训练习题库及答案精品.docx》由会员分享,可在线阅读,更多相关《C语言考试循环结构训练习题库及答案精品.docx(21页珍藏版)》请在冰豆网上搜索。
C语言考试循环结构训练习题库及答案精品
2021年C语言考试循环结构训练习题库及答案(精品)
1选择题
1.以下程序的输出结果是()。
main()
{intn=4;
while(n--)
printf(〞%d〞,--n);
}
A.20B.31C.321D.210
2.以下程序的输出结果是()。
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
A.10192B.9876C.10990 D.101091
3.当执行以下程序段时。
x=-1;
do
{x=x*x;}
while(!
x);
A.循环体将执行一次 B.循环体将执行两次
C.循环体将执行无数多次 D.系统将提示有语法错误
4.执行以下程序后输出的结果是()。
main()
{inty=10;
do{y--;}while(--y);
printf("%d\n",y--);}
A.-1 B.1 C.8 D.0
5.下面程序的输出结果是()。
main()
{intx=3,y=6,a=0;
while(x++!
=(y-=1))
{a+=1;
if(y } printf("x=%d,y=%d,a=%d\n",x,y,a); } A.x=4,y=4,a=1B.x=5,y=5,a=1 C.x=5,y=4,a=3D.x=5,y=4,a=1 6.若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。 for(i=5;i;i--) for(j=0;j<4;j++) {…} A.20B.24C.25D.30 7.请读程序: #include main() {intx=1,y=0,a=0,b=0; switch(x) {case1: switch(y) {case0: a++;break; case1: b++;break; } case2: a++;b++;break; } printf("a=%d,b=%d\n",a,b); } 上面程序的输出结果是()。 A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2 8.若有以下程序段,w和k都是整型变量 w=k; LB: if(w==0)gotoLE; w--; printf(〞*〞); gotoLB; LE: 则不能与上面程序段等价的循环语句是()。 A.for(w=k;w! =0;w--) print(〞*〞); B.w=k; while(w--! =0) printf(〞*〞); w++; C.w=k; do{w--;printf(〞*〞);} while(w! =0); D.for(w=k;w;--w)printf(〞*〞); 9.下面程序的输出是()。 main() { char*s=〞12134211〞; intk,v1=0,v2=0,v3=0,v4=0; for(k=0;s[k];k++) switch(s[k]) { default: v4++; case1: v1++; case2: v2++; csse3: v3++; } printf(〞v1=%d,v2=%d,v3=%d,v4=%d\n〞,v1,v2,v3,v4); } A.v1=4,v2=2,v3=1,v4=1 B.v1=4,v2=9,v3=3,v4=1 C.v1=5,v2=8,v3=6,v4=1 D.v1=8,v2=8,v3=8,v4=8 10.有以下程序 #include〞stdio.h〞 intabc(intu,intv); main() { intc,a=24,b=16; c=abc(a,b); printf(〞%d\n〞,c); } intabc(intu,intv) { intw; while(v) {w=u%v; u=v; v=w;} returnu; } 输出结果是()。 A.6B.7C.8D.9 11.在下列选项中,没有构成死循环的程序段是()。 A.inti=100; while (1) { i=i%100+1; if(i>100)break; } B.for(;;); C.intk=1000; do{++k;}while(k>=10000); D.ints=36; while(s); --s; 12.若输入B,以下程序的运行结果为()。 main() {chargrade;scanf("%c",&grade); switch(grade) {case'A': printf(">=85."); case'B': case'C': printf(">=60."); case'D': printf("<60."); default: printf("error."); } } A.>=85.B.>=60.C.>=60.<60.error.D.error. 13.列程序运行的情况是()。 main() {inti=1,sum=0; while(i<10)sum=sum+1;i++; printf("i=%d,sum=%d",i,sum); } A.i=10,sum=9B.i=9,sum=9C.i=2,sum=1D.运行出现错误 14.有以下语句: i=1; for(;i<=100;i++)sum+=i; 与以上语句序列不等价的有()。 A.for(i=1;;i++){sum+=i;if(i==100)break;} B.for(i=1;i<=100;){sum+=i;i++;} C.i=1;for(;i<=100;)sum+=i; D.i=1;for(;;){sum+=i;if(i==100)break;i++;} 15.下面程序的运行结果为()。 main() {intn; for(n=1;n<=10;n++) {if(n%3==0)continue; printf("%d",n); } } A.12457810B.369C.12D.12345678910 16.下面程序的运行结果是()。 main() {intx,y,z; x=0;y=z=-1; x+=-z---y; printf("x=%d\n",x); } A.x=4B.x=0C.x=2D.x=3 17.标有/**/的语句的执行次数是()。 inty,i; for(i=0;i<20;i++) {if(i%2==0)continue; y+=i;/**/ } A.20B.19C.10D.9 18.在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式。 A.只能用逻辑表达式B.只能用关系表达式 C.只能用逻辑表达式或关系表达式D.可用任意表达式 19.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。 A.(! E==0)B.(E>0||E<0)C.(E==0)D.(E! =0) 20.假定所有变量均已正确定义,下列程序段运行后x的值为()。 k1=1;k2=2;k3=3;x=15; if(! k1)x--; elseif(k2)if(k3)x=4;elsex=3; A.14B.4C.15D.3 21.执行下面语句的输出为()。 inti=-1; if(i<=0)printf(“****\n”); elseprintf(“%%%%\n”); A.****B.%%%%C.%%%%cD.有错,执行不正确 22.下列程序的输出是()。 #include main() {inti;charc; for(i=0;i<=5;i++) {c=getchar();putchar(c); } } 程序执行时从第一列开始输入以下数据, u w xsta A.uwxstaB.uC.uD.u www xxsxsta 23.下列程序的输出为()。 #include"stdio.h" main() {inti,j,x=0; for(i=0;i<2;i++) {x++; for(j-0;j<=3;j++) {if(j%2)continue;x++;} x++; } printf("x=%d\n",x); } A.x=4B.x=8C.x=6D.x=12 24.下列程序的输出为()。 #include main() {inti,j,k=0,m=0; for(i=0;i<2;i++) {for(j=0;j<3;j++)k++;k-=j;} m=i+j; printf("k=%d,m=%d\n",k,m); } A.k=0,m=3B.k=0,m=5C.k=1,m=3D.k=1,m=5 25.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为()。 A.0B.1C.trueD.非0 26.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。 A.0B.1C.trueD.非0 27.下列程序的输出为()。 #include main() {intk=0;charc='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;break; default: k=k/3; } k++; } while(c<'G'); printf("%d\n",k); } A.k=3B.k=4C.k=2D.k=0 28.C语言的if语句嵌套时,if与else的配对关系是()。 A.每个else总是与它上面的最近的if配对 B.每个else总是与最外的if配对 C.每个else与if的配对是任意的 D.每个else总是与它上面的if配对 29.下列程序的输出为()。 #include main() {inti=0,j=0,a=6; if((++i>0)||(++j>0))a++; printf("i=%d,j=%d,a=%d\n",i,j,a); } A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=7 30.下列程序段的输出结果为()。 main() {intx=3; do {printf("%3d",x-=2);} while(! (--x));} A.1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 循环 结构 训练 习题 答案 精品