C语言程序设计习题集第4章 循环结构(答案)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构一、选择题1、有以下程序段intk=0;while(k=1)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次2、t为int类型,进入下面的循环之前,t的值为0while(t=1){……}则以下叙述中正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B)A)m==0B)m!=0C)m==1D)m!=14、有以下程序,程序运行后的输出结果是(C)。main(){inti=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%dn”,sum);}A)4B)5C)10D)死循环5、有以下程序,程序运行后的输出结果是(D)。main(){inti=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%dn”,sum);}A)4B)5C)10D)死循环6、有如下程序main(){intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A)987B)876C)8765D)9876n7、以下程序的输出结果是(B)main(){intnum=0;while(num<=2){num++;printf(“%dn”,num);}}A)1B)1C)1D)l2223348、有以下程序,若运行时输入3.62.4<回车>,则输出的结果是(B)。main(){floatx,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%fn”,y);}A)1.500000B)1.600000C)2.000000D)2.4000009、执行以下程序段时x=-1;do{x=x*x;}while(!x);则下面描述正确的是(A)A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误10、有以下程序段其输出结果是(C)intx=3;do{printf("%d",x-=2);}while(!(--x));A)1B)30C)1-2D)死循环11、有如下程序main(){intx=23;do{nprintf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B)A)321B)23C)不输出任何内容D)陷入死循环12、有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是(D)A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A)n=0;do{++n;}while(n<0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A)3B)4C)5D)不定16、有以下程序main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是(C)A)741B)963C)852D)87542117、以下程序执行后sum的值是(C)A)15B)14C)不确定D)0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf(“%dn”,sum);}18、有如下程序nmain(){inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf(“%dn”,sum);}该程序的执行结果是(C)A)6B)3C)死循环D)019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C)A)0B)10C)-1D)120、执行下面程序片段的结果是(A)。intx;for(x=3;x<6;x++)printf((x%2)?(“**%d”):(”##%dn”),x);A)**3##4B)##3**5**4##5C)##3**4D)**3##4**5##521、有以下程序,执行后输出的结果是(A)。main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}A)011122B)012C)012020D)12022、有以下程序,程序运行后的输出结果是(C)。main(){intk=4,n=0;for(;n1;i++)f*=i;D)f=1;for(i=n;i>=2;i--)f*=i;24、执行下面程序片段的结果是(B)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf(“%dn”,a);}A)7B)8C)9D)1025、以下程序的输出结果是(B)。main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf("%dn",a);}A)21B)32C)33D)1126、以下程序的输出结果是(A)main(){inti,j,x=0;for(i=1;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf(“x=%dn”,x);}A)x=4B)x=8C)x=6D)x=12n27、有以下程序main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("n");}}程序的运行结果是(D)A)234B)432C)23D)453455433434452328、有以下程序main(){inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("n");}程序的运行结果是(A)A)*7B)*3*5C)*5D)*2*629、以下程序的结果是(A)main(){intn;for(n=1;;){if(++n%2==0)continue;if(++n%3==0)break;}printf("n=%d",n);}A)n=6B)n=5C)n=4D)死循环30、以下叙述中正确的是(C)A)break语句只能用于switch语句题中B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同二、程序阅读题(共10题)n1、以下程序运行后的输出结果是52。main(){inti=10,j=0;do{j=j+i;i--;}while(i>2);printf(“%dn”,j);}2、设有以下程序:main(){intn1,n2;scanf(“%d”,&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf(“%d”,n1);}}程序运行后,如果从键盘上输入1298;则输出结果为8921。3、以下程序的输出结果是5。main(){ints,i;for(s=0,i=1;i<3;i++,s+=i);printf("%dn",s);}4、阅读下面程序,程序的结果是2,1,0。main(){inti=7;for(i=2;i>0;i--)printf(”%d,”,i);printf(”%d”,i);}5、阅读下面程序,程序的结果是14,4。main(){inti,j,m=0;for(i=2;i<=10;i+=4)for(j=3;j<=4;j++){m++;i++;}printf("%d,%d",i,m);}6、阅读下面程序,程序的结果是1978。main()n{intj,a=2,n=4;longs=0,t=0;for(j=0;j=i){printf("%5d",i);s=s+1;if(s%5==0)printf("n");}}printf("n"); }8、以下程序实现:从键盘输入一位整数,计算其各位数字之和。比如输入整数31421,则打印结果为11。请填空。main(){inti,sum=0,a;scanf("%d",&i);while(i>0){a=i%10;sum+=a;i=i/10;}printf("%dn",sum);}9、以下程序实现:计算1~10之间(不含10)的奇数之和以及偶数之和main(){inta,b,i;a=b=0;for(i=0;i<10;i+=2){a=a+i;b=b+i+1;}printf("偶数为:%d,奇数和为:%dn",a,b);}10、以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main()n{inti,j;for(i=0;i<10;i++){j=i*10+6;if(j%3==0)continue;printf(“%d”,j);}}三、编程题1、写一个程序,程序的功能是:从键盘输入一个整数m,输出1到m(含m)能被7或11整除的所有整数,并计算出这些数的个数。例如:如果m为50,则程序输出7、11、14、21、22、28、33、35、42、44、49共11个数。2、计算100到1000间有多少个数其各位数字之和是5。3、从键盘输入整数n,输出1+3+5+7+…前n项的和(输入的n<=10)4、编写程序,实现如下图形1121231234123455、打印100-999以内所有满足条件的数。条件为,这个数等于其个位数,十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3
查看更多

相关文章

您可能关注的文档