case 3:a++; b++; }
printf(\=%d,b=%d\\n\,a,b); }
程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
二.填空题
1.在C语言中,当表达式值为0时表示逻辑值\假\,当表达式值为 时表示逻辑值\真\。
2.设x为int型变量,请写出一个关系表达式_____,用以判断x同时为3和7的倍数时,关系表达式的值为真。
3.有以下程序
#include
{ int a=1,b=2,c=3,d=0; if(a==1) if(b!=2)
if(c==3)d=1; else d=2; else if(c!=3)d=3; else d=4; else d=5;
printf(\}
程序运行后的输出结果是______ 。
4.有以下程序
#include
scanf(\,&x);
if(x>15)printf(\,x-5); if(x>10)printf(\,x); if(x>5)printf(\,x+5); }
若程序运行时从键盘输入12<回车>,则输出结果为 。
5.以下程序运行后的输出结果是 。
#include
9
main()
{ int x=10,y=20,t=0; if(x==y)t=x;x=y;y=t; printf(\,x,y); }
第05章 循环结构
一.选择题
1.以下不构成无限循环的语句或语句组是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;
2.有以下程序
#include
{ int y=10; while(y--);
printf(\=%d\\n\,y); }
程序执行后的输出结果是 A)y=0 B)y=-1
C)y=l D)while构成无限循环
3.有以下程序:
#include
{ int i=5; do
{ if(i%3==1) if(i%5==2)
{ printf(\,i); break; } i++;
} while(i!=0); printf(\; }
程序的运行结果是________。 A)*7
10
B)*3*5 C)*5 D)*2*6
4.以下程序段中的变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=l;k<3;k++);printf(\; 程序段的输出结果是________。 A)******** B)**** C)** D)*
5.有以下程序
#include
{ int a=1,b=2;
for(;a<8;a++){b+=a;a+=2;} printf(\}
程序运行后的输出结果是
A)9,18 B)8,11 C)7,11
6.有以下程序:
#include
{ int i,j;
for(i=3;i>=1;i--)
{ for(j=1;j<=2;j++)printf(\,i+j); printf(\; } }
程序的运行结果是________。 A)2 3 4 B)4 3 2 3 4 5 5 4 3 C)2 3 D)4 5 3 4 3 4 4 5 2 3
7.有以下程序
#include
{ int i,j,m=1;
for(i=1;i<3;i++)
11
D)10,14
{ for(j=3;j>0;j--) {if(i*j>3)break; m*=i*j; } }
printf(\}
程序运行后的输出结果是
A)m=6 B)m=2 C)m=4 D)m=5
8.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是________。
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++);
9.有以下程序
#include
{ 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(\}
程序运行后的输出结果是
A)m=6 B)m=2 C)m=4 D)m=5
10.有以下程序
#include
scanf(\,&s); while(s>0) { switch(s)
{ case 1:printf(\,s+5);
case 2:printf(\,s+4);break; case 3:printf(\,s+3);
default:printf(\,s+1);break; }
12