循环结构习题_第1页
循环结构习题_第2页
循环结构习题_第3页
循环结构习题_第4页
循环结构习题_第5页
免费预览已结束,剩余5页可下载查看

付费下载

下载本文档

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

文档简介

1、循环结构一.选择题1 .下面程序段intk=2;while(k=0)printf("%d,k);k则下面描述中正确的是。A)while循环执行10次B)循环是无限循环C)循环题语句一次也不执行D)循环体语句执行一次2 .以下程序段的循环次数是。for(i=2;i=0;)printf("%d'i-);A)无限次B)0次C)1次D)2次4 .下面程序的输出结果是。main()charc=?A?;intk=0;doswitch(c+)case,A?:k+;break;case,B?:k-;case,C?:k+=2;break;case,D?:k%=2;continue;c

2、ase,E?:k*=10;break;default:k/=3;)k+;while(c<?G?);printf("k=%d",k);A)k=3B)k=4C)k=2D)k=05 .下面程序的输出结果是。main()intx=9;for(;x>0;x-)if(x%3=0)printf("%dx),;continue;A)741B)852C)963D)8754216 .以下不是死循环的程序段是。A)inti=100;B)for(;);while(1)i=i%100+1;if(i>100)break;)C) intk=0;D)ints=36;do+k;w

3、hile(k>=0);while(s);-s;7 .下述程序段的运行结果是。inta=1,b=2,c=3,t;while(a<b<c)t=a;a=b;b=t;c-;printf("%d,%d,%d”,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,18 .下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。main()intm=0,n=0;charc;while()!?n?)if(c>=?A?&&c<=?Z?)m+;if(c>=?a?&&c<=?z?)n+;A)c

4、=getchar()B)getchar()C)c=getchar()D)scanf("%d',&c)9 .下述语句执行后,变量k的值是。intk=1;while(k+<10);A)10B)11C)9D)无限循环,值不定10 .下面程序的输出结果是。main()intk=0,m=0,i,j;for(i=0;i<2;i+)for(j=0;j<3;j+)k+;k-=j;m=i+j;printf("k=%d,m=%d',k,m);)A)k=0,m=3B)k=0,m=5C)k=1,m=3D)k=1,m=511 .下面for循环语句。inti,

5、k;for(i=0,k=-1;k=1;i+,k+)printf(*”);A)判断循环结束的条件非法B)是无限循环C)只循环一次D)一次也不循环12 .语句while(!E);括号中的表达式!E等价于。A)E=0B)E!=1C)E!=0D)E=113 .以下是死循环的程序段是。A) for(i=1;)if(i+%2=0)continue;if(i+%3=0)break;)B) i=32767;doif(i<0)break;while(+i);C)for(i=1;)if(+I<10)continue;D) i=1;while(i-);14 .执行语句for(i=1;i+<4;);

6、后变量i的值是。A)3B)4C)5D)不定15 .以下程序段。x=-1;dox=x*x;while(!x);A)是死循环B)循环执行2次C)循环执行1次D)有语法错误16 .下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。main()inta,max=0;scanf("%d',&a);while()if(max<a)max=a;scanf("%d',&a);printf("%d',max);A)a=0B)aC)!a=1D)!a17 .以下不是死循环的语句是。A) for(y=9,x=1;x>

7、+y;x=i+)i=x;B) for(;x+=i);C)while(1)x+;D)for(i=10;i-)sum+=i;18 .下面程序段的运行结果是。x=y=0;while(x<15)y+,x+=+y;printf("%d,%d',y,x);A)20,7B)6,12C)20,8D)8,2019 .以下for循环的执行次数是。for(x=0,y=0;(y=123)&&(x<4);x+);A)无限循环B)循环次数不定C)4次D)3次20 .若运行以下程序时,输入2473/,则程序的运行结果是main()intc;while(c=getchar()!=

8、?n?)switch(c-,2?)case0:case 1 :putchar(c+4);case 2 :putchar(c+4);break;case 3 :putchar(c+3);default:putchar(c+2);break;printf(n”“);A)668977B)668966C)66778777D)6688766二.填空题1 .C语言三个循环语句分别是语句,语句和语句。2 .至少执行一次循环体的循环语句是。3 .循环功能最强的循环语句是。5 .程序段for(a=1,i=-1;-1<i<1;i+)a+;printf("%2d',a);printf(

9、"2d',i);的运行结果是。三.判断题1 .在while循环中允许使用嵌套循环,但只能是嵌套while循环。【】2 .在实际编程中,do-while循环完全可以用for循环替换。【】3 .continue语句只能用于三个循环语句中。【】4 .在不得已的情况下(例如提高程序运行效率),才使用goto语句。【】5 .语句标号与C语言标识符的语法规定是完全一样的。【】6 .for循环的三个表达式可以任意省略,while,do-while也是如此。【】7 .do-while允许从外部转到循环体内。【】8 .while的循环控制条件比do-while的循环控制条件严格。【】9 .do

10、-while循环中,根据情况可以省略while。110 .do-while循环的while后的分号可以省略。【】四.程序阅读题1 .写出下面程序运行的结果。main()intx,i;for(i=1;i<=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf("%d”,x);2 .写出下面程序运行的结果。main()inti,b,k=0;for(i=1;i<=5;i+)b=i%2;while(b-=0)k+;printf("%d,%cT,k,b);3 .写出下面程序运行的结果。main()inta,b;for(a=1,b=

11、1;a<=100;a+)if(b>=20)break;if(b%3=1)b+=3;continue;b-=5;printf("r%d,a);4 .写出下面程序运行的结果。main()intk=1,n=263;dok*=n%10;n/=10;while(n);printf("%d,k);5 .写出下面程序运行的结果。main()inti=5;doswitch(i%2)case4:i-;break;case6:i-;continue;i-;i-;printf("%d',i);while(i>0);6 .写出下面程序运行的结果。main()in

12、ti,j;for(i=0;i<3;i+,i+)for(j=4;j>=0;j-)if(j+i)%2)j-;printf("%d,",j);continue;)-i;j-;printf("%d,",j);)7 .写出下面程序运行的结果。main()inta=10,y=0;doa+=2;y+=a;if(y>50)break;while(a=14);printf("a=%dy=%d,a,y);8 .写出下面程序运行的结果。main()inti,j,k=19;while(i=k-1)k-=3;if(k%5=0)i+;continue;e

13、lseif(k<5)break;i+;printf("i=%d,k=%d,i,k);9 .写出下面程序运行的结果。main()inty=2,a=1;while(y-!=-1)doa*=y;a+;while(y-);printf("%d,舷d,a,y);10 .写出下面程序运行的结果。main()inti,k=0;for(i=1;i+)k+;while(k<i*i)k+;if(k%3=0)gotoloop;loop:printf("%d%d,i,k);六.程序填空题1 .下述程序用碾转相除法”计算两个整数m和n的最大公约数。该方法的基本思想是计算m和n相

14、除的余数,如果余数为0则结束,此时的被除数就是最大公约数。否则,将除数作为新的被除数,余数作为新的除数,继续计算m和n相除的余数,判断是否为0,等等,请填(3)空使程序完整。main()intm,n,w;scanf("%d,%d',&m,&n);while(n)w=【1】;m=【2】;n=【3】;printf("%d',m);2 .下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填(3)空使程序完整。main()intn,k=1,s=0,m;for(n=1;n<=100;n+)k=1;s=0;【1】;while(【2

15、】)k*=m%10;s+=m%10;【3】;if(k>s)printf("%dd',n);3 .下面程序段的功能是计算1000!的末尾有多少个零,请填(1)空使程序完整。main()inti,k;for(k=0,i=5;i<=1000;i+=5)m=i;while(【1)k+;m=m/5;4 .下面程序接受键盘上的输入,直到按/键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。main()charcx,front=?0?;while(1!=?n?)if(cx!=?)putchar(cx);if(cx=?)if(【2)putchar(【3】)front=cx;5 .下面程序按公式求和并输出结果,请填(3)空使程序完整。main()1;intk;for(k=1;k<=100;k+)s+=k

温馨提示

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

评论

0/150

提交评论