ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:21.17KB ,
资源ID:6688423      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6688423.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第六章循环结构练习题参考答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第六章循环结构练习题参考答案.docx

1、第六章循环结构练习题参考答案第六章循环控制【题6.1】设有程序段int k=10;while(k=10) k=k-1;则下面描述中正确的是。A)while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次【题6.2】设有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);则。A)运行程序段后输出0 B)运行程序段后输出1C)程序段中的控制表达式是非法的 D)程序段执行无限次【题6.3】下面程序段的运行结果是。x=y=0;while(x15) y+,x+=+y;printf(“%d,%d”,y,x);A)20,7

2、 B)6,12 C)20,8 D)8,20【题6.4】下面程序段的运行结果是。int n=0;while(n+=2); printf(“%d”,n);A)2 B)3 C)4 D)有语法错【题6.5】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。#include main()int a,b,t;scanf(“%d %d”,&a,&b);while( 【1】)if(ab)t=a; a=b; b=t; printf(“%d,%d”n”,a,b);scanf(“%d %d”,&a,&b);【1】 A)!a=b B)a!=b C)a=b D)a=b【题6

3、.6】下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。#include main()int m=0,n=0;char c;while(【1】)!=n) if(c=A&c=a&c=z) n+; printf(“%dn”,mn? 【2】);【1】 A)c=getchar() B)getchar() C)scanf(“%c”,c)【2】 A)n:m B)m:n C)m:m D)n:n【题6.7】下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。#include main()char c;

4、while(c=getchar()!=n)if(c=a&cZ)【2】;printf(“%c”,c);【1】 A)c+=2 B)c-=32 C)c=c+32+2 D)c-=30【2】 A)c=BB)c=A C)c-=26 D)c=c+26【题6.8】下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。#include main()int a,max=0;scanf(“%d”,&a);while(【1-B】)if(maxa) max=a;scanf(“%d”,&a);printf(“%d”,max);【1】 A)a=0 B)a C)!a=1 D)!a【题6.9】下面程序的运

5、行结果是。#include main()int num=0;while(num=2)num+;printf(“%dn”,num);A)1 B)1 C)1 D)1 2 2 2 3 3 4【题6.10】若运行以下程序时,从键盘输入2473,则下面程序的运行结果是。#include main()int c;while(c=getchar()!=n)switch(c-2)case 0:case 1: putchar(c+4);case 2: putchar(c+4); break;case 3: putchar(c+3);default: putchar(c+2); break;printf(“n”)

6、;A)668977 B)668966 C)66778777 D)6688766【题6.11】C语言中while和do-while循环的主要区别是。A) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while的循环控制条件严格C) do-while允许从外部转到循环体内D) do-while的循环体不能是复合语句【题6.12】以下能正确计算12310的程序段是。A)doi=1; s=1; B)doi=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

7、s=s*i; dos=s*i; i+; i+; while(i=10); while(i=10);【题6.13】以下程序段。x=-1;dox=x*x;while(!x);A)是死循环 B)循环执行二次C)循环执行一次 D)有语法错误【题6.14】以下描述中正确的是。A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作D) do-while循环中,根据情况可以省略while【

8、题6.15】下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。#include main() int n,sum=0; n=2345; do sum=sum+【1】; n=【2】; while(n); printf(“sum=%d”,sum); 【1】 A)n%10 B)(n%10)*(n%10) C)n/10 D)(n/10)*(n/10)【2】 A)n/1000 B)n/100 C)n/10 D)n%10【题6.16】等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。#include main() int a,q,n,sum;

9、a=1; q=2; n=sum=0; do【1】; +n; a*=q; while(sum100);【2】; printf(“%dn”,n); 【1】 A)sum+ B)sum+=a C)sum=a+a D)a+=sum 【2】 A)n=n-2 B)n=n C)n+ D)n-=1【题6.17】下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空。#include main() int i=0,j,k; do i+; k=316-13*i; while(【1】); j=k/11; printf(“316=13*%d+11*%d”,i,j); 【1】 A)k/1

10、1 B)k%11 C)k/11=0 D)k%11=0【题6.18】下面程序的运行结果是。#include main() int y=10; do y-; while(-y); printf(“%dn”,y-); A)-1 B)1 C)8 D)0【题6.19】若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是。#include main() char c; int v0=0,v1=0,v2=0; do switch(c=getchar() case a: case A: case e: case E: case i: case I: case o: case

11、O: case u: case U: v1+=1; default: v0+=1; v2+=1; while(c!=n); printf(“v0=%d,v1=%d,v2=%dn”,v0,v1,v2); A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8 C)v0=11,v1=4,v2=11 D)v0=12,v1=4,v2=12【题6.20】下面程序的运行结果是。#include main() int a=1,b=10; do b-=a; a+; while(b-0); printf(“a=%d,b=%dn”,a,b); A)a=3,b=11 B)a=2,b=8 C)a=1,b=

12、-1 D)a=4,b=9【题6.21】下面有关for循环的正确描述是。A) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体语句,后判断表达式C) 在for循环中,不能用break语句跳出循环体D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来【题6.22】对for(表达式1;表达式3)可理解为。 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1; 表达式1;表达式3)D)for(表达式1; 表达式3;表达式3)【题6.23】若i为整型变量,则以下循环执行次数是。for(i=2;i=0;) printf(

13、“%d”,i-); A)无限次 B)0次 C)1次 D)2次【题6.24】以下for循环的执行次数是。for(x=0,y=0;(y=123)&(x+y;x=i+) i=xB) for(;x+=i);C) while(1) x+; D) for(i=10;i-) sum+=i;【题6.26】下面程序段的运行结果是。for(y=1;y10;) y=(x=3*y,x+1),x-1);printf(“x=%d,y=%d”,x,y); A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27【题6.27】下面程序段的运行结果是。for(x=3;x100) break;B)

14、 for(;);C) int k=0;do +k; while(k=0);D) int s=36;while(s) -s;【题6.29】执行语句for(i=1;i+4;);后变量i的值是。 A)3 B)4 C)5 D)不定【题6.30】有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#include main() int i; for(i=100;i200;i+) if(i-2)%4=0) if(!(i-3)%7) if(【1】)printf(“%d”,i);

15、 A)i%9=5 B)i%9!=5 C)(i-5)%9!=0 D)i%9=5【题6.31】下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#include main() int i,sum=0; for(i=1;i=50;i+) if(【1】) 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【题6.32】下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。#include main() int a,b,c,i; a=c=0; for(i=0;i=10;i+=2) a

16、+=i;【1】; c+=b; printf(“偶数之和=%dn”,a); printf(“奇数之和=%dn”, 【2】); 【1】A)b=i- B)b=i+1 C)b=i+ D)b=i-1 【2】A)c-10 B)c C)c-11 D)c-b【题6.33】下面程序的运行结果是。 #include main() int i; for(i=1;i=5;i+) switch(i%5) case 0: printf(“*”); break; case 1: printf(“#”); break; default: printf(“n”); case 2: printf(“&”); A)#&* B)#&

17、 C)# D)#& & &* & * & *【题6.34】下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。 (提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i=1000;i+=5) m=i; while(【1】) k+; m=m/5; 【1】A)m%5=0 B)m=m%5=0 C)m%5=0D)m%5!=0【题6.35】下面程序的功能是求算式xyz+yzz=532中x,y,z值(其中xyz和yzz分别表示一个三位数),请选择填空。#include main()int x,y,z,i,result=532;for(x=1;x10;x+)for(y=1;y

18、10;y+)for(【1】;z10;z+)i=100*x+10*y+z+100*y+10*z+z;if(【2】)printf(“x=%d,y=%d,z=%dn”,x,y,z);【1】A)z=x B)z=1 C)z=0 D)z=y【2】A)i/result=1 B)i=result C)i!=result D)i=result【题6.36】下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。 #include main() int a,d,i,s,f,x; for(a=1;a30;a+)/* a是第一项, 预估a的可能取值范围 */ for(d=1;

19、【1】;d+)/* d是公差,预估d的可能取值范围*/ s=0; f=1; x=a; for(i=1;i=4;i+) s=s+x; f=f*x; x=x+d; if(s=26&f=880) for(i=0;i10;i+) printf(“%3d”, 【2】); printf(“n”); 【1】A)d=a B)空C)d=5 D)da 【2】A)a+i*d B)i*d C)a+(i+1)*d D)a+d【题6.37】下面程序的运行结果是。#include main()int i,b,k=0;for(i=1;i=0) k+;printf(“%d,%d”,k,b);A)3,-1 B)8,-1 C)3,

20、0 D)8,-2【题6.38】以下正确的描述是。A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用goto语句【题6.39】下面程序段。for(t=1;t=100;t+) scanf(“%d”,&x); if(x0) continue; printf(“%3d”,t); A)当x=0时什么也不输出 C)printf函数永远也不执行 D)最多允许输出100个非负整数【题6.40】下面程序段。x=3; do y=x-; if(!y)

21、printf(“x”); continue; printf(“#”); while(1=x=2); A)将输出# B)将输出#* C)是死循环 D)含有不合法的控制表达式【题6.41】以下是死循环的程序段是。A) for(i=1;) if(+i%2=0) continue; if(+i%3=0) break;B) i=32767;do if(i0) break; while(+i);C) for(i=1;) if(+i10) continue;D) i=1;while(i-);【题6.42】以下描述正确的是。A) goto语句只能用于退出多层循环B) switch语句中不能出现continue

22、语句C) 只能用continue语句来终止本次循环D) 在循环中break语句不能独立出现【题6.43】与下面程序段等价的是。for(n=100;n=200;n+)if(n%3=0) continue;printf(“%4d”,n);A) for(n=100;(n%3)&n=200;n+) printf(“%4d”,n);B) for(n=100;(n%3)|n=200;n+) printf(“%4d”,n);C) for(n=100;n=200;n+) if(n%3!=0) printf(“%4d”,n);D) for(n=100;n=200;n+)if(n%3) printf(“%4d”,

23、n);else continue;break;【题6.44】下面程序的功能是将从键盘输入的偶数写成两个素数之和。请选择填空。#include #include main()int a,b,c,d;scanf(“%d”,&a);for(b=3;b=a/2;b+=2)for(c=2;csqrt(b) d=【1】; else break;for(c=2;csqrt(d) printf(“%d=%d+%dn”,a,b,d);【1】A)a+b B)a-b C)a*b D)a/b【题6.45】下面程序的运行结果是。#include main()int k=0; char c=A;doswitch(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(cG);printf(“k=%dn”,k);A)k=3 B)k=4 C)k=2 D)k=0参考解答:1B 2B 3D 4C 5B 6A,A 7D,C 8 9 10.11 12 13 14 15 16 17 18 19 20.21222324252627282930.31323334353637383940.41C42C43C44B45B

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1