内容发布更新时间 : 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
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));