当前位置:文档之家› 第四章循环结构

第四章循环结构

第四章循环结构一、选择题1.下列叙述正确的是( )A.continue语句的作用是跳出循环体B.while循环语句的循环体至少执行一次C.do-while循环语句的循环体至少执行一次D.switch语句中的每个case语句组必须含有break语句2.if(表达式)和while(表达式)中的“表达式”( )A.只能是逻辑的B.只能是关系的C.只能是算术的D.以上三种都可以3.对循环结构正确的叙述是()A.do-while循环体可能被执行0次B.do-while循环体至少被执行1次C.while循环体不可能被执行0次D.for循环体不可能被执行无限次4.设int i=l, k=2;则错误..的循环语句是()A.for(i=0,k=-1;i++,k++);B.for(;k-1;i++);C.for(i=1,k=4;k--;i++);D.for(;k--;);5.在循环体中用来强制继续循环的语句是()A.breakB.continueC.exitD. return6.下列程序段中循环体执行的次数是()int x=-1;do{x=x*x;}while(! x);A. 0B. 1C. 2D. 无限7.设int m=5;语句while (m==0)printf (″%d″,m-=2);的循环体执行的次数是()A. 0B. 1C. 2D. 无限8.语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是( )A.0,0B.0,1C.1,0D.1,19.执行下列程序段后x的值为()int i=1, j=10, x; for (; i<=j; i++, --j) x=i;A.5B.6C.7D.810.以下程序的运行结果是( )int x,y,z=1; for(x=1,y=-1;x<y;x++,y--)z++; printf(〞%d\n〞,z);A.1 B.2 C.5 D.611.执行下述程序段后,变量a和b的值分别是()int a=11,b=2;do{a/=b++;}while(a>b);A.1,3 B.1,4 C.2,3 D.2,412.设for(i=0, j=10; (j>0)&&(i<4); i++, j--);该语句的循环次数是()A.0 B.3 C.4 D.无限13.执行语句for(i=1;i++<4);后i的值是( )A. 3B. 4C. 5D. 不确定14.以下程序段中的变量已正确定义,程序段的输出结果是( )for(i=0;i<4;i++,i++) for(k=1;k<3;k++);printf("*");A.******** B.**** C.** D.*15.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )A.n=0; while((ch=getchar())!='\n') n++; B.n=0; while(getchar()!='\n') n++;C.for(n=0;getchar()!='\n';n++);D.n=0;for(ch=getchar();ch!='\n';n++);16.以下程序运行后的输出结果是( )main(){ int i,j,m=1;for(i=1;i<3;i++){ for(j=3;j>0;j--) { if(i*j>3) break; m*=i*j; } }printf("m=%d\n",m); }A.m=6B.m=2C.m=4D.m=517.以下程序运行后的输出结果是( )main(){ int n=2,k=0; while(k++&&n++>2); printf("%d %d\n",k,n); }A.0 2B.1 3C.5 7D.1 218.以下程序运行后的输出结果是( )main(){ int c=0,k;for(k=1;k<3;k++)switch(k){ default: c+=k;case 2: c++;break;case 4: c+=2;break; }printf("%d\n",c); }A.3B.5C.7D.919.以下程序的运行结果是( )main(){ int i,j;for(i=3;i>=1;i--) { for(j=1;j<=2;j++) printf("%d ",i+j); printf("\n");} }A.2 3 4B.4 3 2C.2 3D.4 53 4 5 5 4 3 3 4 3 44 5 2 320.以下程序的运行结果是______。

#include <stdio.h>main(){int a=1,b=2;f or( ;a<8;a++) {b+=a;a+=2;}printf("%d %d\n",a,b);}A.9,18B.8,11C.7,11D.10,14二、填空题1.continue语句可以出现在for、while和语句中。

2.执行循环语句for(;‘0’;)printf(“Happy!\n”);后,输出“Happy!”的行数是_______。

3.设int n;执行for(n=0;n= =0;n++)n=0;则循环体被执行的次数是_________。

4.执行语句for(i=10;i>0;i--,);则变量i的值是___________。

5.设有循环语句for(i=-1;i<=5;i++)i++;则其循环体执行的次数是___________。

6.以下程序运行后的输出结果是______。

main(){ int a=1,b=7; do{ b=b/2;a+=b; }while(b>1); printf("%d\n",a); }7.程序运行后的输出结果是______。

main( ){int i=0,j =0,k=0; while (i< 10) i++; while (j++<l 0); while (++k<l 0);printf ("i=%d,j=%d,k=%d\n",i,j,k);}8.程序运行后的输出结果是______。

main(){ int f,f1,f2,i; f1=0;f2=1; printf("%d %d ",f1,f2);for(i=3;i<=5;i++) { f=f1+f2; printf("%d",f); f1=f2;f2=f;} printf("\n"); }9.执行下面程序段,输出“FIFA”的行数是____________。

int i,j;for(i=0;i<5;i++) for(j=1;j<i;j++)printf(“FIFA\n”);printf (“\n”); 10.执行下列程序段后,输出结果是____________。

int x=3;do{ptintf("%3d",x-=2);}while(!(--x));11.以下程序的输出结果是______。

main(){ int i,j,sum; for(i=3;i>=1;i--) { sum=0; for(j =1;j<=i;j++) sum+=i*j;}printf("%d\n",sum); }12.下列程序运行时,若输入1abcedf2df<回车> 则输出结果为______。

main(){ char a=0,ch;while((ch=getchar())!='\n'){ if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch-'a'+'A'; a++;putchar(ch); }printf("\n"); }13.以下程序运行后的输出结果是______。

main(){ int k=1,s=0;do{ if((k%2)!=0) continue; s+=k; k++; }while(k>10); printf("s=%d\n",s);} 14.程序运行后的输出结果是______。

main(){ int a,b,i; a=b=0; for(i=0;i<=10;i+=2){a+=i;b+=i+1;}printf(″a=%d\n″,a); printf(″b=%d\n″,b-11);}15.程序运行后的输出结果是______。

main(){ int a=0,b=2,c=3;switch (a){ case 0:switch (b==2){ case l:printf(“*”);break;case 2: printf (“%”);break;}case 1: switch (c){ case l:printf(“$”);break;case 2: printf (“&”);break;default: printf (“#”);} }16.程序运行后的输出结果是______。

main(){ int m,n;for(m=1;m<=3;m++){for(n=1;n<=2*m-l;n++)printf (“*”);printf(“\n”);} }17.以下程序的运行结果是______。

main(){int x=15; while(x<20){x++; if(x/3!=0){x++ ;break;}else continue;}printf(″%d\n″,x);}三、程序填空题1.一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33), 找出所有的这种数。

main( ){ int n, a, b, c;for(c=1;c<=9;c++)for (b=0; b<=9;b++)for( ;a++){n=_________; if(a*a*a+b*b*b+c*c*c==_________) printf(″%d\n″, n); } }2.为n输入一个正整数值后,计算并输出sum=1-的值。

main(){int n,k=0;float_______;scanf(″%d″,&n);do {k++;if(________)sum+=1.0/k;else sum-=1.0/k;}while(________);printf(″sum=%.4f\n″,sum);}3.输入一个英文字符串(换行符作为结束),分别统计并输出其中元音字母(大小写不加区别)各自出现的次数。

相关主题