C语言第四份练习题(循环结构)

上传人:痛*** 文档编号:100478446 上传时间:2022-06-02 格式:DOC 页数:15 大小:111.50KB
收藏 版权申诉 举报 下载
C语言第四份练习题(循环结构)_第1页
第1页 / 共15页
C语言第四份练习题(循环结构)_第2页
第2页 / 共15页
C语言第四份练习题(循环结构)_第3页
第3页 / 共15页
资源描述:

《C语言第四份练习题(循环结构)》由会员分享,可在线阅读,更多相关《C语言第四份练习题(循环结构)(15页珍藏版)》请在装配图网上搜索。

1、一、选择题1. 设有如下程序段,则下面描述正确的是 int k=10; while (k=0) k=k-1;Awhile循环执行10次 B循环是无限循环C循环体语句一次也不执行 D循环体语句执行一次2. 下面程序段的运行结果是 a=1; b=2; c=2;while(abc) t=a; a=b; b=t; c-;pirntf(“%d, %d, %d”,a,b,c);A1,2,0 B2,1,0 C1,2,1 D2,1,13. 下面程序段的运行结果是 。int n=0;while(n=2) n+; printf(“%d”,n);A2 B3 C4 D有语法错误4. 设有如下程序段,则描述正确的是 。

2、t=0;while (printf(“*”)t+; if(t3) break;A其中循环控制表达式与0等价 B其中循环控制表达式与0等价C其中循环控制表达式是不合法的 D以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。#includeint main()int a,b,t; scanf(%d%d,&a,&b); while( ) if(ab) t=a;a=b;b=t; printf(%d,%dn,a,b); scanf(%d%d,&a,&b); return 0;A!a=b Ba!=b Ca=b Da=b6. 下面程序的功能是从

3、键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。#includeint main()int m=0,n=0; char c; while( )!=n) if(c=a & c=A & c=Z) m+; printf(%dn,mn? ); return 0;Ac= =getchar( ) Bgetchar( ) Cc=getchar( ) Dscanf(“%c”,c)An:m Bm:n Cm:m Dn:n7. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B。请选择填空。#includeint main()char

4、c; while(c=getchar()!=n) if(c=a & cZ) ; printf(%c,c); return 0;Ac+=2 Bc-=32 Cc=c+32+2 Dc=c-32+2Ac=B Bc=A Cc-=26 Dc=c+268. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。#includeint main()int a,max=0; scanf(%d,&a); while( ) if(maxa) max=a; scanf(%d,&a); printf(%dn,max); return 0;9. 下面程序的运行结果是 。#includeint ma

5、in()int num=0; while(num=2) num+; printf(%d,num); return 0;A1 B12 C123 D123410. 若运行以下程序是,从键盘输入2473,则下面程序的运行结果是 。#includeint 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; return 0;A668977 B66

6、8966 C66778777 D668876611. 以下程序的功能是计算一个整数的各位数字之和,请选择填空。#includeint main()int n,m=0; scanf(%d,&n); for( ; n!=0; ) m ; n/=10; printf(%dn,m); return 0;A+=n%10 B=n%10 C+=n D=n/1012. 以下能正确计算12310的程序段是 。15Ado i=1;s=1;s=s*i;i+; while(i=10)Bdo i=1;s=0;s=s*i;i+; while(i=10)Ci=1;s=1;do s=s*i;i+; while(i=10)Di

7、=1;s=0;do s=s*i;i+; while(i=10)13. 以下程序段 。x=-1;do x=x*x;while(!x);A是死循环 B循环执行二次 C循环执行一次 D有语法错误14. 以下描述中正确的是 。Awhile、do-while、for循环中的循环体语句都至少被执行一次Bdo-while循环中,while(表达式)后面的分号可以省略Cwhile循环体中,一定要有能使while后面表达式的值变为“假”的操作Ddo-while循环中,根据情况可以省略while15.下面程序的功能是计算正整数2345的各位数字的平方和,请填空。#include int main( ) int n

8、=2345,sum=0; do sum=sum+ ;n= ;while(n);printf(“sum=%d”,sum);return 0;An%10 B(n%10)*(n%10)Cn/10 D(n/10)*(n/10)An/1000 Bn/100 Cn/10 Dn%1016. 假设等比数列的第一项a=1,公比q=2,下面程序的功能是满足前n项和小于100的最大n,请选择填空。#includeint main()int a=1,g=2,n=0,sum=0; do ; n+; a*=g; while(sum100); ; printf(%dn,n); return 0;Asum+ Bsum+=a

9、Csum=a+a Da+=sumAn=n-2 Bn=n Cn+ Dn-=117. 下面程序的运行结果是 。#includeint main() int y=10; do y-;while(-y); printf(%dn,y-); return 0;A-1 B1 C8 D018.下面有关for循环的正确描述是 。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式Cfor循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用花括号括起来19. 对for(表达式1; ;表达式3)可理解为 。Afor(表达式1;0;表达式3)

10、Bfor(表达式1;1;表达式3)Cfor(表达式1;表达式1;表达式3) Dor(表达式1;表达式3;表达式3)20. 若i为整型变量,则以下循环执行次数是 。for (i=2; i= =0; ) printf(“%d”,i-);A无限次 B0次 C1次 D2次21. 以下不是无限循环的语句为 。Afor(y=0, x=1; x+y; x=i+) i=x; Bfor( ; ; x+=i);Cwhile(1) x+; Dfor(i=10; ; i-) sum+=i;22. 下面程序段的运行结果是 。for(x=3; x6; x+) printf(x%2)? (“*%d”): (“#%dn”),

11、 x); A*3 #4 *5B#3 *4 #5C#3 *4#5D*3#4 *523. 下面程序的运行结果是 。#includeint 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(&); return 0;A#&*B#& & &*C# & & & *D#& *24. 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。#in

12、clude int main( ) int x,y,z,I,result=532; for(x=1;x10;x+)for(y=1;y10;y+) for( ; z10; z+) i=100*x+10*y+z+100*y+10*z+z; if ( ) printf(“x=%d,y=%d,z=%dn”,x,y,z); return 0;Az=x Bz=1 Cz=0 Dz=yAi/result=1 Bi=result Ci!=result Di=result25. 以下正确的描述是 。Acontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循坏体内

13、使用break语句或continue语句的作用相同D从多层循环嵌套中退出,只能使用goto语句26. 在下面的程序中, 。#includeint main()int t,x; for(t=1;t=100;t+) scanf(%d,&x); if(x0) continue; printf(%3d,t); return 0;A当x=0时什么也不输出Cprintf函数永远也不执行D最多允许输出100个非负整数27. 与下面程序段等价的是 。for(n=100; n=200; n+) if(n%3=0) continue; printf(“%4d”,n);Afor(n=100; (n%3) & n=2

14、00; n+) printf(“%4d”,n);Bfor(n=100; (n%3) | n=200; n+) printf(“%4d”,n);Cfor(n=100; n=200; n+) if(n%3!=0) printf(“%4d”,n);Dfor(n=100; n=200; n+) if(n%3) printf(“%4d”,n); else continue; break;28. 下面程序的运行结果是 。#include int main( ) int a,b; for( a=1, b=1; a=20) break;if(b%3= =1) b+=3;continue;b - =5; pri

15、ntf(“%dn”,a);return 0;A7 B8 C9 D10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。int n=0, c;c=getchar( );while( ) if( ) n+; c=getchar( )2. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计买完所需的天数,请填空。#include int main( ) int day=0, x1=1020, x2; while x2= ;x1=x2;day+; printf(“day=%dn”,day);return 0;3. 当运行以下程序时

16、,从键盘键入right?,则下面程序的运行结果是 。#includeint main()char c; while(c=getchar( )!=?) putchar(+c); putchar(n); return 0;4. 下面程序的运行结果是 。#includeint main()int a=2,s=0,n=1,count=1; while(count=7) n=n*a;s=s+n;+count; printf(s=%dn,s); return 0;5. 当运行以下程序时,从键盘输入“China#”,则下面程序的运行结果是 。#includeint main()int v1=0,v2=0;

17、char ch; while(ch=getchar( )!=#) switch(ch) case a: case h: default: v1+; case o: v2+; printf(%d,%dn,v1,v2); return 0;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语句求11000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。#i

18、nclude int main( ) int i=1,j=0; do if printf(“%4d”,i); j+; if printf(“n”); i=i+1; while(i1000);return 0;9. 当运行以下程序时,从键盘输入“1 2 3 4 5 -1”,则下面程序的运行结果是 。#includeint main() int k=0,n; do scanf(%d,&n);k+=n;while(n!=-1); printf(k=%d n=%dn,k,n); return 0;10. 下面程序的运行结果是 。#includeint main()int i=0,x=0,y=0; do

19、 +i; if(i%2!=0) x=x+i;i+; y=y+i+; while(i=7); printf(x=%d,y=%dn,x,y); return 0;11. 下面程序段是找出整数的所有因子。请填空。#includeint main()int x,i; scanf(%d,&x); i=1; for( ; ; ) if(x%i=0) printf(%3d,i); i+; return 0;12. 鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序。for(x=1; x=30; x+) y=30-x; if( ) printf

20、(“%d,%dn”,x,y); 13. 下面程序段的运行结果是 。for(a=1,i=-1; -1=i1; i+) a+; printf(“%2d”,a);printf(“%2d”,i);14. 下面程序的功能是1-3+5-7+-99+101的值。请填空。#includeint main()int i,t,s=0,q=1; for(i=1;i=101;i+=2) t= ; s=s+t; q= ; printf(%dn,s); return 0;15. 以下程序的功能是根据公式e=1+1/1!+1/2!+1/3!+,求e的近似值,精度要求为10-6。请填空。#includeint main()i

21、nt i; double e,n; ; n=1.0; for(i=1; ;i+) n/=i;e+=n; printf(e=%fn,e); return 0;16. 下面程序的运行结果是 。#includeint main()int i; for(i=1;i=5;i+) switch(i%2) case 0: i+; printf(#);break; case 1: i+=2; printf(*); default: printf(n); return 0;17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数。请填空。#includeint main()int n=0,i

22、,j,k; for(i=1;i=9;i+) for(k=0;k=8; ) if(k!=i) for(j=0;j=9;j+) if( ) printf(%dn,i*100+j*10+k); n+; printf(n=%dn,n); return 0;18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数。请填空。#includeint main() int n,k=1,s=0,m; for(n=1;ns) printf(%5d,n); printf(n); return 0;19. 下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可

23、能的方案。请填空。#includeint main()int i,j,k; printf(n hong bai hein); for(i=0;i=3;i+) for( ;j=5;j+) k=8-i-j; if( ) printf(%3d%3d%3d,i,j,k);printf(n); return 0; 20. 若从键盘输入65 14,则下面程序的运行结果是 。#includeint main()int m,n; printf(Enter m,n:); scanf(%d%d,&m,&n); while(m!=n) while(mn) m-=n; while(nm) n-=m; printf(m

24、=%dn,m); return 0;21. 下面程序的功能是计算100-1000之间有多少个数其各位数字之和是5。请填空。#includeint main() int i,s,k,count=0; for(i=100;i=1000;i+) s=0;k=i; while( ) s+=k%10; k= ; if(s!=5) ; elsecount+; printf(%6d,i);if(count%5=0) putchar(n); putchar(n); return 0;22. 下面的程序是从键盘输入的10个整数中,找出一个能被7整除的数,若找到,打印次数;若未找到,打印not exist。请填空。#include int main( ) int k,a; for(k=1;k=10;k+) scanf(“%d”,&a); if(a%7= =0) if printf(“%dn”,a); else printf(“not existn”);return 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!