C语言循环习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

循环习题集锦一.选择题1.for(i=0;i10;i++);结束后,i的值是;(10)A9B10C11D122.下面程序的循环次数是:(D)intk=0;while(k10){if(k1)continue;if(k==5)break;k++;}A.5B6C4D死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){ints,k;for(s=1,k=2;k5;k++)s+=k;printf(“%d\n”,s);}A1B9C10D154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i=;)printf(“%d\n”,i+=2);A9B10C18D205.运行下面程序:(B)main(){inti=10,j=0;do{j=j+i;i--;}while(i5);printf(“%d\n”,j);}输出结果是:A45B40C34D556.运行下面程序#include“stdio.h”main(){intk=0,a=1;while(k10){for(;;){if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d%d\n”,k,a);}则输出的结果是(C)A2132B2133C1112D10117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。B.do---while语句构成的循环只能用break语句退出。C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。D.用do---while语句构成的循环,在while后的表达式为零时结束循环。8.有如下程序:main(){intx=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A321B210C3D29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0)k=k-1;A0B1C10D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。D.for循环的循环体语句汇总,可以包含多条语句,但必须用花括号括起来。11.对for(表达式1;;表达式3)可理解为(B)Afor(表达式1;0;表达式3)Bfor(表达式1;1;表达式3)Cfor(表达式1;表达式1;表达式3)Dfor(表达式1表达式2;表达式3)12.若i为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);A.无限次B0次C1次D2次13.以下循环体的执行次数是;(B)main(){intI,j;for(i=0,j=3;i=j;i+=2,j--)printf(“%d\n”,i);}A3B2C1D014.执行以下程序后,输出结果是:(D)main(){inty=10;do{y--;}while(--y);printf(“%d”,y--);}A-1B1C8D015以下程序的输出结果是:(C)mian(){inta,b;for(a=1,b=1;a=100;a++){if(b=10)break;if(b%3==1){b+=3;continue;}}printf(“%d”,a);}A101B3C4D5二、填空题1.循环的3个常见语句分别是?(for,while,do,break,continue)2.下面程序的运行结果为:(14,26)main(){inta=10,y=0;do{a+=2;y+=a;if(y50)break;}while(a14);printf(“a=%d,y=%d\n”,a,y);}3.从键盘输入12345-1回车,则下面程序运行的结果是:(14,-1)main(){intn,k=0;do{scanf(“%d”,&n);k+=n;}while(n!=-1);printf(“k=%d,n=%d”,k,n);}4.下面程序的运行结果为:39(--i=1,i=2两次循环)main(){inti,j,s=0;for(i=1,j=5;ij;i++,j--)s+=i*10+j;printf(“\n%d”,s);}5.下面程序的运行结果是19(i=9,s=9;i=6,s=15;i=3,s=18)main(){inti=10,s=0;for(;--i;)if(i%3==0)s+=i;s++;printf(“\ns=%d”,s);}6.下面程序的运行结果是–22222(n=4,s=22;n=4,s=222;n=2,s=2222;n=1,s=22222)main(){inta=2,n=5,s;s=a;for(;--n;)s=s*10+a;printf(“%d”,s);}7.下面的程序运行时,循环体语句“a++”运行的次数为:10main(){inti,j,a=0;for(i=0;i2;i++)for(j=4;j=0;j--)a++;}8.下面的程序运行后,a的值为:7main(){inti,j,a=0;for(i=0;i2;i++)a++;for(j=4;j=0;j--)a++;}9.下面程序的运行结果为:(8)--(s=4,i=3;s=7,i=4;s=11,i=6;s=17,i=8)inti=1,s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s15);printf(“%d”,i);10.当运行以下程序时,从键盘输入China#回车,则下面程序的运行结果是:5,5#include“stdio.h”main(){intv1=0,v2=0;charc;while((c=getchar())!=’#’){switch(c){case‘a’:case‘h’:default:v1++;case‘o’:v2++;}}printf(“%d,%d\n”,v1,v2);}三、改错题1.for(i-0,i5,i++)j++;2.while(j10);{j++;i=j;}3.do{j++;a=j;}while(j10)4.用下面程序来实现5!ints=1,i=1;while(i=5)s*=i;i++;5.下面程序段实现求半径r=1到r=10的圆面积,直到面积大于100为止。For(r=1;r=10;r++){s=3.14*r*r;if(s100)continue;printf(“%f”,s);}四、编程题1.求1-2+3-4+…+99-100。2.任意输入10个数,分别计算输出其中的正数和负数之和。3.计算1---100以内的所有含6的数的和。4.输出所有的3位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如:153=13+33+535.编写程序输出下面图形。12345678906.编写程序输出下面图形*************************

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功