广技师C语言复习题4 练习循环结构有答案.docx
- 文档编号:27138839
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:16
- 大小:19.87KB
广技师C语言复习题4 练习循环结构有答案.docx
《广技师C语言复习题4 练习循环结构有答案.docx》由会员分享,可在线阅读,更多相关《广技师C语言复习题4 练习循环结构有答案.docx(16页珍藏版)》请在冰豆网上搜索。
广技师C语言复习题4练习循环结构有答案
一、选择题
1。
设有如下程序段,则下面描述正确的是
intk=10;
while(k=0)k=k-1;
A.while循环执行10次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句执行一次
2.下面程序段的运行结果是
a=1;b=2;c=2;
while(a〈b pirntf(“%d,%d,%d",a,b,c); A.1,2,0B.2,1,0C.1,2,1D.2,1,1 3。 下面程序段的运行结果是。 intn=0; while(n<=2)n++;printf(“%d”,n); A.2B.3C.4D.有语法错误 4.设有如下程序段,则描述正确的是. t=0; while(printf(“*”)) {t++;if(t<3)break;} A.其中循环控制表达式与0等价 B.其中循环控制表达式与‘0’等价 C.其中循环控制表达式是不合法的 D.以上说法都不对 5。 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。 #include intmain() {inta,b,t; scanf(”%d%d”,&a,&b); while() {if(a〉b){t=a;a=b;b=t;} printf(”%d,%d\n",a,b); scanf("%d%d”,&a,&b); } return0; } A.! a=bB.a! =bC.a==bD.a=b 8。 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。 #include〈stdio。 h〉 intmain() {inta,max=0; scanf(”%d",&a); while() {if(max〈a)max=a; scanf("%d”,&a); } printf(”%d\n”,max); return0; } A.! a=0B.a! =0C.a==0D.a=0 9.下面程序的运行结果是. #include〈stdio。 h> intmain() {intnum=0; while(num〈=2) {num++; printf(”%d",num); } return0; } A.1B.12C.123D.1234 11.以下程序的功能是计算一个整数的各位数字之和,请选择填空。 #include h> intmain() {intn,m=0; scanf(”%d",&n); for(;n! =0;) {m; n/=10; } printf(”%d\n",m); return0; } A.+=n%10B.=n%10C.+=nD.=n/10 13.以下程序段。 x=—1; do {x=x*x;}while(! x); A.是死循环B.循环执行二次C.循环执行一次D.有语法错误 14。 以下描述中正确的是。 A.while、do-while、for循环中的循环体语句都至少被执行一次 B.do—while循环中,while(表达式)后面的分号可以省略 C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作 D.do-while循环中,根据情况可以省略while 15.下面程序的功能是计算正整数2345的各位数字的平方和,请填空。 #include h> intmain() {intn=2345,sum=0; do {sum=sum+; n=; }while(n); printf(“sum=%d",sum); return0; } A.n%10B.(n%10)*(n%10) C.n/10D.(n/10)*(n/10) A.n/1000B.n/100C.n/10D.n%10 17。 下面程序的运行结果是。 #include h〉 intmain() {inty=10; do {y——;}while(—-y); printf(”%d\n”,y—-); return0; } A.-1B.1C.8D.0 18.下面有关for循环的正确描述是. A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.for循环中,不能用break语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 19.对for(表达式1;;表达式3)可理解为. A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3) C.for(表达式1;表达式1;表达式3) D.or(表达式1;表达式3;表达式3) 20.若i为整型变量,则以下循环执行次数是。 for(i=2;i==0;)printf(“%d”,i——); A.无限次B.0次C.1次D.2次 21。 以下不是无限循环的语句为。 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; 24。 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。 #include〈stdio.h> intmain() {intx,y,z,I,result=532; for(x=1;x<10;x++) for(y=1;y<10;y++) for(;z<10;z++) {i=100*x+10*y+z+100*y+10*z+z; if() printf(“x=%d,y=%d,z=%d\n”,x,y,z); } return0; } A.z=xB.z=1C.z=0D.z=y A.i/result==1B.i=resultC.i! =resultD.i==result 25.以下正确的描述是。 A.continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循坏体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出,只能使用goto语句 26.在下面的程序中,。 #include h〉 intmain() {intt,x; for(t=1;t〈=100;t++) {scanf("%d",&x); if(x<0)continue; printf(”%3d",t); } return0; } A.当x<0时整个循环结束 B.x〉=0时什么也不输出 C.printf函数永远也不执行 D.最多允许输出100个非负整数 28。 下面程序的运行结果是。 #include〈stdio。 h〉 intmain() {inta,b; for(a=1,b=1;a<=100;a++) {if(b〉=20)break; if(b%3==1){b+=3;continue;} b—=5; } printf(“%d\n”,a); return0; } A.7B.8C.9D.10 答案: 1.C2.A3.B4。 D5。 B6。 CA7.DC8。 B9.C 10.A11。 A12.C13。 C14。 C15。 BC16.BD17。 D 18。 D19.B20.B21.A22。 D23.B24.CD25.B 26。 D27。 C28.B 二、填空题 1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 请填空。 intn=0,c; c=getchar(); while() {if()n++; c=getchar() } 3。 当运行以下程序时,从键盘键入right? <回车>,则下面程序的运行结果是。 #include h〉 intmain() {charc; while((c=getchar())! =’? ')putchar(++c); putchar('\n’); return0; } 4。 下面程序的运行结果是。 #include〈stdio。 h> intmain() {inta=2,s=0,n=1,count=1; while(count〈=7){n=n*a;s=s+n;++count;} printf("s=%d\n”,s); return0; } 6.下面程序段中循环体的执行次数是。 a=10;b=0; do{b+=2;a—=2+b;}while(a>=0); 7.下面程序段的运行结果是。 x=2; do{printf(“*”);x——;}while(! x==0); 8.下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2,用5除余3,用7除余2"的数,且一行只打印5个数,请填空。 #include〈stdio.h> intmain() {inti=1,j=0; do {if {printf(“%4d",i); j++; ifprintf(“\n”); } i=i+1; }while(i〈1000); return0; } 9。 当运行以下程序时,从键盘输入“12345—1<回车〉”,则下面程序的运行结果是。 #include intmain() {intk=0,n; do {scanf("%d”,&n);k+=n;}while(n! =—1); printf("k=%dn=%d\n”,k,n); return0; } 10。 下面程序的运行结果是。 #include〈stdio.h> intmain() {inti=0,x=0,y=0; do {++i; if(i%2! =0){x=x+i;i++;} y=y+i++; }while(i〈=7); printf("x=%d,y=%d\n",x,y); return0; } 12.鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序. for(x=1;x〈=30;x++) {y=30—x; if()printf(“%d,%d\n”,x,y); } 13.下面程序段的运行结果是。 for(a=1,i=—1;-1〈=i<1;i++) {a++;printf(“%2d",a);} printf(“%2d”,i); 14。 下面程序的功能是1—3+5—7+……—99+101的值。 请填空. #include〈stdio。 h〉 intmain() {inti,t,s=0,q=1; for(i=1;i〈=101;i+=2) {t=;s=s+t;q=;} printf("%d\n",s); return0; } 16.下面程序的运行结果是。 #include h> intmain() {inti; for(i=1;i〈=5;i++) switch(i%2) {case0: i++;printf(”#”);break; case1: i+=2;printf("*"); default: printf(”\n”); } return0; } 17.下面程序的功能是统计用数字0—9可以组成多少个没有重复数位的3位偶数。 请填空. #include h〉 intmain() {intn=0,i,j,k; for(i=1;i〈=9;i++) for(k=0;k<=8;) if(k! =i) for(j=0;j〈=9;j++) if() {printf(”%d\n",i*100+j*10+k); n++; } printf(”n=%d\n”,n); return0; } 18。 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数.请填空。 #include〈stdio.h〉 intmain() {intn,k=1,s=0,m; for(n=1;n〈=100;n++) {k=1;s=0; ; while() {k*=m%10; s+=m%10; ; } if(k>s)printf("%5d",n); } printf("\n”); return0; } 20.若从键盘输入6514<回车〉,则下面程序的运行结果是。 #include〈stdio。 h> intmain() {intm,n; printf("Enterm,n: "); scanf("%d%d”,&m,&n); while(m! =n) {while(m>n)m-=n; while(n>m)n—=m; } printf(”m=%d\n”,m); return0; } 21。 下面程序的功能是计算100—1000之间有多少个数其各位数字之和是5。 请填空。 #include h> intmain() {inti,s,k,count=0; for(i=100;i〈=1000;i++) {s=0;k=i; while(){s+=k%10;k=;} if(s! =5); else {count++;printf(”%6d”,i);} if(count%5==0)putchar('\n'); } putchar(’\n'); return0; } 答案: 1。 c! ='\n'c〉=’a’&&c〈='z'||c>=’A’&&c〈=’Z’ 2.(x1)x1/2—2 3.sjhiu 4。 s=254 5。 5,5 6。 3 7。 ** 8.(i%3==2&&i%5==3&&i%7==2)(j%5==0) 9.k=14n=—1 10。 x=1,y=20 11。 i〈=x 12.2*x+4*y==90 13.—1 14.q*i-q 15.e=1n>=1e—6 16.* # 17。 k+=2j! =i&&j! =k 18。 m=nmm/=10 19.j=1k〉=0&&k〈=6 20.m=1 21.kk/10continue 22。 breakk<=10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广技师C语言复习题4 练习循环结构有答案 技师 语言 复习题 练习 循环 结构 答案