第四章循环结构

内容发布更新时间 : 2025/9/19 20:50:30星期一 下面是文章的全部内容请认真阅读。

第四章 一、选择题

1、 以下由while构成的循环执行的次数是

A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 int k=0;

while(k=1) k++;

2、 以下程序的输出结果是

A、15 B、14 C、不确定 D、0 void main() { int i,sum; for(i=1;i<6;i++) sum+=i printf(“%d\\n”,sum); }

3、 以下程序段的输出结果是 A、9 B、1 C、11 D、10 int k,j,s; for(k=2;k<6;k++,k++) { s=1; for(j=k;j<6;j++)s+=j; } printf(“%d\\n”,s);

4、 以下程序的输出结果是 A、39 81 B、42 84 C、26 68 D、28 70 main() { int x,i; for(i=1;i<=100;i++) {x=i; if(++x%2==0) if(++x%3==0) if(++x%7==0) printf(“%d ”,x); } }

5、 以下程序的输出结果是 A、8 12 16 B、8 12 C、12 16 D、8 main()

{ int k=5; for(;k<=15;) { k++; if(k%4==0)printf(“%d ”,k); else continue; } }

6、 下面程序运行时从键盘输入3.6 2.4,则输出结果是

A、1.500000 B、1.600000 C、2.000000 D、2.400000 main()

{ float x,y,z; scanf(“%f%f”,&x,&y); z=x/y; while(1) if(fabs(z)>1.0) {x=y;y=x;z=x/y;} else break; printf(“%f\\n”,y); }

7、 以下的for循环是 A、无限循环 B、循环次数不定 C、执行四次 D、执行三次 for(x=0,y=0;(y!=123)&&(x<4);x++); 8、 以下的程序段执行结果是

A、输出321 B、输出23 C、不输出任何内容 D、陷入死循环 int x=23; do

{printf(“%d”,x--);} while(!x);

9、 以下的程序段执行结果是 A、12 B、15 C、20 D、25 int k,j,m=0;

for(k=1;k<=15;k+=4) for(j=3;j<=19;j+=4)m++; printf(“%d\\n”,m); 10、 若k、j已定义为int类型,则以下程序段中内循环体的执行次数为 A、20 B、24 C、25 D、30 for(k=5;k;k--) for(j=0;j<4;j++){…} 11、 若x是int型变量,以下程序段输出结果是 A、**3 B、##3 C、##3 D、**3##4 ##4 **4 **4##5 **5 **5 ##5 for(x=3;x<6;x++) printf((x%2)?(“**%d”) : (“##%d\\n”),x); 12、 从以下给出的表达式中选出与while(E)语句中的(E)不能等价的表达式 A、(!E==0) B、(E>0)||(E<0) C、(E==0) D、(E!=0) 13、 假定a和b为int型变量,则执行以下语句后b的值为 A、9 B、-2 C、-1 D、8 a=1;b=10; do

{b-=a;a++;} while(b--<0);

14、 以下程序的输出结果是 A、1 B、3 0 C、1 -2 D、死循环 int x=3; do {printf(“=”,x-=2);} while(!(--x)); 15、 以下程序的输出结果是 A、741 B、852 C、963 D、875421 main()

{ int y=10; for(;y>0;y--) if(y%3==0) {printf(“%d”,--y);continue;} } 16、 执行下面的程序后,a的值是 A、7 B、8 C、9 D、10 main()

{ int a,b;

for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1) {b+=3;continue;} b-=5; } } 17、 以下程序的输出结果是 A、11 B、10 C、9 D、10 11 main() { int k,j; for(j=10;j<11;j++) { for(k=9;k=j-1)printf(“%d ”,j); } } 18、 设x和y均为int型变量,则执行下面的循环后,y的值为 A、2 B、4 C、6 D、8 for(y=1,x=1;y<=50;y++) { if(x>=10)break; if(x%2==1) { x+=5;continue; } x-=3; } 19、 下面的程序输出是

A、x=4,y=4,a=1 B、x=5,y=5,a=1 C、x=5,y=4,a=3 D、x=5,y=4,a=1 main()

{ int x=3,y=6,a=0; while(x++!=(y-=1)) { a+=1; if(y

{ a+=2;y+=a; printf(“a=%dy=%d\\n”,a,y); if(y>50)break; }while(a=14); 21、 以下程序的输出结果是 A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$ main() { int k; for(k=1;k<=5;k++) { if(k%2)printf(“*”); else continue; printf(“#”); } printf(“$\\n”); }

二、填空题

1、写出一个与(!a==0)等价的表达式 。 2、以下程序的输出结果是 。 main()

{ int k,sum=0; for(k=2;k<10;k++) { if((k%2)!=0)continue; sum+=k; }

printf(“%d\\n”,sum); }

3、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 。 for(i=0,j=10;i<=j;i++,j--)k=i+j;

4、当执行以下程序段后,i的值是 ,j的值是 ,k的值是 。 int a,b,c,d,i,j,k;

a=10; b=c=d=5;i=j=k=0; for(;a>b;++b)i++; while(a>++c)j++;

do{k++;}while(a>d++);

5、以下while循环执行次数是 。 k=0;

while(k=10)k=k+1;

6、若变量都已正确说明,输入数据为:aUniversity#,以下程序段执行后结果是 。 v1=0,v2=0;

while((ch=getchar()!=’#’)) switch(ch) { case’a’ :case’A’: default: v1++; case’e’ :case’E’: case’o’ :case’O’: case’i’ :case’I’: case’u’ :case’U’: v2++; }

printf(“%d,%d”,v1,v2);

7、运行以下程序,如果从键盘上输入5462,则输出结果为 。 main()

{ int digit,num; scanf(“%d”,&num); while(num!=0) { digit=num;num=num/10;printf(“%d”,digit); } }

8、以下程序段的输出结果是 。 int k,n,m;

n=10;m=1;k=1;

while(k<=n)m*=2;k++; printf(“%d\\n”,m);

9、以下程序段的输出结果是 。 int i=0,sum=1;

do{sum+=i++;}while(i<5); printf(“%d\\n”,sum); 10、有以下程序段: s=1.0;

for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi