C语言第五章循环习题.doc_第1页
C语言第五章循环习题.doc_第2页
C语言第五章循环习题.doc_第3页
C语言第五章循环习题.doc_第4页
C语言第五章循环习题.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 循环控制5.1选择题【题5.1】设程序段int k=10;while(k=0)k=k-1;则下面描述中正确的是_.A)while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次【题5.2】设有以下程序段int x=0,s=0;while(!x!0) s+=+x;printf(”d”,s);则_.A)运行程序段后输出0 B)运行程序段后输出lC)程序段中的控制表达式是非法的 D)程序段执行无限次【题5.4】下面程序段的运行结果是_.a1;b2;c2;while(ab & bc) t=a; a=b;b=t;c-;printf(”d,d,d”,a,b,c);A)1,2,2 B)2,1,0 C)1,2,1 D)2,1,1【题5.5】下面程序段的运行结果是_.xy0;while(x15) y+,x+=+y;printf(”d,d”,y,x);A)20,7 B)6,12 C)20,8 D)8,20【题5.6】下面程序段的运行结果是_.int n=0;while(n+=2); printf(”d”,n);A)2 B)3 C)4 D)有语法错【题5.8】下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。#includemain() int a,b,t; scanf(“%d%d”,&a,&b); while(1) if(ab) t=a;a=b;b=t; printf(“%d,%dn”,a,b); scanf(“%d%d”,&a,&b); 1A)!a=b B)a!=b C)a=b D)a=b【题5.9】下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。#includemain() int m0,n0; char c; while(1)!n) if(cA&c=a& c=z) n+; printf(”dn”,mn?2); 1 A)getchar(c) B)getchar( ) C)c=getchar( ) D)scanf(“%c”,c)2A)n:m B)m:n C)m:m D)n:n题511 下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。#includemain() int a,max0;scanf(“d”,&a);while(1)if(maxa) max=a; scanf(d”, &a);printf(“d”,max);1 A)a=0 B)a C)!a=1 D) !a题512 下面程序的运行结果是_.#includemain() int num0; while(num=2) num+;printf(”dn”,num); A)1 B)1 C) 1 D) 1 2 2 2 3 3 4题513若运行以下程序时,从键盘输入2473 (表示回车),则下面程序的运行结果是。 #includemain() int c;while(cgetchar()!=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; A)668977 B)668966 C)66778777 D)6688766题514C语言中while和dowhile循环的主要区别是_。A)dowhile的循环体至少无条件执行一次B)while的循环控制条件比dowhile的循环控制条件严格C)dowhile允许从外部转到循环体内D)dowhile的循环体不能是复合语句题515 以下能正确计算12310的程序段是_.A)do i=1;s=1; s=s*i; i+; while (i=10);B) doi=1;s=0; s=s*i; i+; while (i=10);C) i=1;s=1; do s=s*i; i+; while (i=10);D) i=1;s=0; do s=s*i; i+; while (i=10);题516以下程宇段_.x-1;doxx*x;while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误题517以下描述中正确的是_。A)由于dowhile循环中循环体语句只能是一条可执行语句,所以循环体内 不能使用复合语句B) dowhile循环由do开始,用while结束,在while(表达式)后面不能写分号C)在dowhile循环体中,一定要有能使while后面表达式的值变为零(”假”)的操作D)dowhile循环中,根据情况可以省略while题518若有如下语句int x3;doprintf(”dn”,x-=2);while(!(- -x);则上面程序段_。A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环题519下面程序的功能是计算正整数2345的各位数字平方和,请选择填空.#includemain()int n,sum=0;n2345;dosum=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%100 题521等比数列的第一项a=1,公比q=2, 下面程序的功能是求满足前n项和小于100的最大n,请选择填空。#includemain()int a,q,n,sum; a=1;q=2;n=sum=0; do1;+n;a*=q;while(sum100);2;printf(“%dn”,n);1A)sum+ B)sum+=n C)sum*=n D)a+=sum2A)n=n-2 B)n=n C)n+ D)n-=1 题525 下面程序的运行结果是_.#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=-1 D)a=4,b=9题526 下面有关for循环的正确描述是_.A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来.题527对for(表达式1; ;表达式3)可理解为_。A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3)题5,28 若i为整型变量,则以下循环执行次数是_.for(i2;i0;) printf(”d”,i- -);A)无限次 B)0次 C)1次 D)2次题529 以下for循环的执行次数是_。for(x0,y0;(y123)&(x4);x+);A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次题531下面程序段的运行结果是_。for(yl;y10;) y(x=3*y,x+1),x-1);printf(“xd,yd”,x,y);A)x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27题5.34 执行语句for(i=1;i+4; );后变量i的值是_。A)3 B)4 C)5 D)不定题5.35 有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#includemain() int i; for(i100;i200;i+) if(i-2)40) if(! (i-3)7) if(1) printf(”d”,i); A)i9=5 B)i9!=5 C)(i-5)9!0 D)i9= =5题536 下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#includemain()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) i7=0 D) i7= =0题537 下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。#includemain()int a,b,c,i; a=c=0; for(i=0;i=10;i+=2) a+=i; 1; c+=b; printf(“偶数之和=%dn”,a); printf(“奇数之和=%dn”,2); 1A) b=i- B) b=i+1 C) b=i+ D) b=i-1 2A) c-10 B) c C) c-11 D) c-b题538 下面程序的运行结果是_。#includemain()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)#& C)# D) #& & & &* & * & *题543下面程序的运行结果是_.#includemain()int i,b,k=0;for(i1;i=0) k+;printf(”d,d”,k,b)A)3,-1 B) 8,-1 C)3,0 D)8,-2题544 以下正确的描述是_.A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句题545下面程序段_.for(t1;t100;t+) scanf(”d”,&x); if(x0) continue; printf(”3d,t); A)当x0时什么也不输出C)printf函数永远也不执行 D)最多允许输出100个非负整数 题548以下描述正确的是_。A)goto语句只能用于退出多层循环 B)switch语句中不能出现continue语句C)只能用continue语句来终止本次循环 D)在循环中break语句不能独立出现题549与下面程序段等价的是_。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”,n); else continue; break; 题551下面程序的运行结果是_.#includemain() int k=0;char c=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=k3; k+; while(cG);printf(“kdn”,k);A) k3 B)k4 C)k2 D)k=0题554下面程序的运行结果是#includemain()int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j2)contine; x+; x+; printf (“xdn”,x);A)x=4 B) x=8 C) x=6 D) x=12 题556下面程序的运行结果是main() int i,j,a=0;for(i=0;i2;i+) for(j=0;j=1 & c=9 题559有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请填空。#include main( )int day,x1,x2; day=0;x1=1020; while(1) x2=2;x1=x2;day+; printf(“day=%dn”,day);1 x1 2x1/2-2题560下面程序的功能是用“辗转相除法”求两个正整数的最大公约数。请填空。#includemain() int r,m,n;scanf(”dd”,&m,&n);if(mn) 1;r=m%n;while(r) m=n,n=r,r=2;printf(“dn”,n);1r=m,m=n,n=r 2m%n题5.62 下面程序的运行结果是_.#include main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7) n=n*a;s=s+n;+count; printf(“s=%d”,s);S=254题5.63当运行以下程序时,从键盘键入China?(代表回车),则下面程序的运行结果是_.#include main() int v1=0,v2=0;char ch;while (ch=getchar()!=#)switch(ch) case a; case h; default:v1+; caseo:v2+; printf(“%d,%dn”,v1,v2);5,5题564 执行下面程序段后,k值是_.k=1;n=263;dok*=n%10;n/=10;while(n);36题568 下面程序的功能是用dowhile语句求1至1000之间满足“用3除余2;用5除余3,用7除余2”的数,且一行只打印五个数。请填空。#include main() int i=1;j=0; doif(1) printf(“%4d”,i); j=j+1; if(2) printf(“n”); i=i+1; while(i1000);1i%3= =2&i%5= =3&i%7= =2 2j%5=0 题572当运行以下程序时,从键盘输入1 2 3 4 5 -1(表示回车),则下面程序的运行结果是_.#include main() int k0,n;do scanf(”d”,&n);k+=n;while(n!=-1); printf(“k=%d n=%dn”,k,n); k=14 n=-1题577 鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空for(x=1;x=29;x+)y=30-x; if(1) printf(“%d,%dn”,x,y);12*x+4*y=90题5.79 for循环用以下形式表示:for(表达式1;表达式2;表达式3) 循环体语句则执行语句for(i=0;i3;i+) printf(”*”);时,表达式1执行1次,表达式3执行2次。11 2 3题580 下面程序的功能是计算1-3+5-7+-99+101的值,请填空。#includemain()int i,t=1,s=0;for(i=1;i=101;i+=2) 1;s=s+t;2;printf(“%dn”,s);1t=t*i 2t=-t/i题593 下面程序的运行结果是_.#includemain()int i,j; for(i=0;i=3;i+) for(j=0;j=5;j+) if(i=0|j=0|i=3|j=5)printf(“*”); else printf(“”); printf(“n”);* * * * * * * * * * * * *题594 下面程序的运行结果是_.#includemain()int i,j; for(i=4;i=1;i- -)for(j=1;j=i;j+)putchar(#);for(j=1;j=4-i;j+) putchar(*);putchar(n); # # # # # # # * # # * * # * * * 题598下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。请填空。#includemain()int i,s,k,count=0; for(i100;i=1000;i+) s=0; k=i; while(【1】)s=s+k%10;k=【2】; if(s!=5) 【3】; else count+;printf(“%d”,count); 1 k 2 k/10 3 continue题599下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印”notexist”。请填空。#includevoid main() int i,a; for(i=1;i=10;i+) scanf(”d”,&a);if(a7=0) printf(”d”,a);【1】;if(【2】) printf(“notexistn”);1 break 2 i=l1题5100下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。#includemain()int i,j; for(i=0;【1】;i+) j=i*10+6;if(【2】) continue;printf(“d”,j); 1 i=9 2 j%3!=0题5,103 下面程序的运行结果是_.#includemain()int a,y; a=10;y=10; do a+=2;y+=a;if(y50)break;while(a=14); printf(“a=%d y=%dn”,a,y);a=16 y=54题5104 下面程序的运行结果是#includemain()int i=5; doswitch(i%2)case 4:i-;break; case 6:i-;continue; i- -;i- -; printf(“%d”,i);while(i0);3 1 -15.3 编 程 题题5105每

温馨提示

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

评论

0/150

提交评论