18.下列程序段运行后x的值是()。 inta=0,b=0,c=0,x=35, if(!a)x--; else if(b); if(c)x=3; else x=4: A.34 B.4 C.35 D.3 19.下列程序段的输出结果是( int main(void) int a=2,b=-1,c=2; if(a<b) ifb<0)c=0: else c++: printf("%d\n",c); return0;) A.04 B.1 C.2 D.3 20.下列程序段的输出结果是()。 int main(void) int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++; printf("a=%d,b=%d\n",a,b); return 0;) A.a=2,b=1 B.a=l,b=1 C.a=1,b=0 D.a=2,b=2 21.下列程序的运行结果是()。 int main(void) {intx=1,y=0,a=0,b=0: switch(x) case 1: switch(y) case 0:a++;break; case 1:b++:break; case 2:a++;b++;break: printf("a=%d,b=%d\n",a,b); return0;) A.a=1,b=0 B.a=l,b=1 C.a=2,b=1 D.a=2,b=2 16
16 18. 下列程序段运行后x的值是( )。 int a=0,b=0,c=0,x=35; if(!a) x--; else if(b); if(c) x=3; else x=4; A. 34 B. 4 C. 35 D. 3 19. 下列程序段的输出结果是( )。 int main(void) { int a=2,b=-l,c=2; if(a<b) if(b<0) c=0; else c++; printf("%d\n",c); return 0; } A. 04 B. 1 C. 2 D. 3 20. 下列程序段的输出结果是( )。 int main(void) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b); return 0; } A. a=2,b=1 B. a=l,b=1 C. a=1,b=0 D. a=2,b=2 21. 下列程序的运行结果是( )。 int main(void) { int x= 1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++:break; case 2: a++;b++;break; printf("a=%d,b=%d\n",a,b); return 0; } A. a=1,b=0 B. a=l,b=1 C. a=2,b=1 D. a=2,b=2
22.下列程序段的输出结果是()。 int main(void) {inta=0,b=0,c=0,d=0: if(a=1)b=1;c=2; else d=3: printf("%d,%d,%d,%dn",ab.c,d), A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 23.下列叙述中正确的是()。 A.break语句只能用于switch语句 B.在switch语句中必须使用default C.break语句必须与switch语句中的case配对使用 D.在switchi语句中,不一定使用break语句 24.下列程序段的输出结果是()。 int main(void) {inta=15,b=21,m=0: switch(a%3) case 0:m++;break; case 1:m++; switch(b%2) default:m++: case 0:m++;break; printf("%d\n",m); return0;) A.1 B.2 C.3 D.4 二.填空题 1.己知a=7.5,b=2,c=3.6,则表达式a>b&&c>ala<b&&1c心b的值为 2.已定义"char c-=';inta=l,b,"(此c为空格字符),执行"b=lc&&a"后,b的值为 3.若a=6,b=4,c=3,则表达式"a&&b+clb-c"的结果是 4.设有"intw=A',x=l4,y=15,",则执行"w=(xly)&&(w<'a);"后,w的值为 5.以下程序的输出结果是 int main(void) int p=30; printf("%d\n",(p/3>0?p/10:p%3)); return0; 6.下列程序的输出结果是 int main(void) int a=-1,b=4,k: 17
17 22. 下列程序段的输出结果是( )。 int main(void) { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3: printf("%d,%d,%d,%d\n",a,b,c,d); } A. 0,1,2,0 B. 0,0,0,3 C. 1,1,2,0 D. 编译有错 23. 下列叙述中正确的是( )。 A. break语句只能用于switch语句 B. 在switch语句中必须使用default C. break语句必须与switch语句中的case配对使用 D. 在switch语句中,不一定使用break语句 24. 下列程序段的输出结果是( )。 int main(void) { int a=15,b=21,m=0; switch(a%3) { case 0: m++;break; case 1: m++; switch(b%2) { default: m++; case 0: m++;break; } } printf("%d\n",m); return 0; } A. 1 B. 2 C. 3 D. 4 二. 填空题 1. 己知a=7.5, b=2, c=3.6,则表达式a>b&&c>a||a<b&& ! c>b的值为 。 2. 已定义"char c=' ';int a=l,b;"(此c为空格字符),执行"b=!c&&a;"后,b的值为 。 3. 若a=6,b=4,c=3,则表达式"a&&b+c||b-c"的结果是 。 4. 设有"int w='A', x=14, y=15;",则执行"w=((x||y)&&(w<'a');"后,w的值为 。 5. 以下程序的输出结果是 。 int main(void) { int p=30; printf("%d\n",(p/3>0? p/10: p%3)); return 0; } 6. 下列程序的输出结果是 。 int main(void) { int a=-1,b=4,k;
k=(+a<0)&&!(b-<=0): printf("%d%d%d\n",ka,b); return 0; 7.下列程序的功能是输出a、b、c3个变量中的最小值,请填空。 int main(void) { int a.b.c.tl,t2: scanf("%d%d%d",&a,&b,&c); tl=a<b? t2=c<tl? printf("%d\n",t2); return 0; } 8.下列程序的输出结果是 int main(void) int a=5,b=4,c=3,d; d=(a>b>c); printf("%dIn",d);} return 0: 9.表示条件"10<x<100或者x<0"的C语言表达式是 10.C语言中要实现多分支结构,除了用嵌套的f语句实现外,还可以用 。语句和 语句实现。 11.下列程序段的输出结果是 int n='C; switch(n++) default,printf("error");break, case 'a':case 'A'case 'b':case 'B':printf("good");break; case 'c':case'C:printf("pass"); case 'd':case'D':printf("fail");) 12.以下程序段的输出结果是 int main(void) {inta=2,b=7,c=5 switch(a>o)】 case 1: switch(b<0) case 1:printf("@");break, case 2:printf("!");break; case 0: switch(c=5) {case 0:printf("*")break; 18
18 k=(++a<0)&&!(b--<=0); printf("%d%d%d\n",k,a,b); return 0; } 7. 下列程序的功能是输出a、b、c 3个变量中的最小值,请填空。 int main(void) { int a,b,c,tl,t2; scanf("%d%d%d",&a,&b,&c); tl=a<b? ; t2=c<tl? ; printf("%d\n",t2); return 0; } 8. 下列程序的输出结果是 。 int main(void) { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); } return 0; 9. 表示条件"10<x<100或者x<0"的C语言表达式是 。 10. C语言中要实现多分支结构,除了用嵌套的if语句实现外,还可以用 。语句和 。语句实现。 11. 下列程序段的输出结果是 。 int n='C'; switch(n++ ) { default; printf("error");break; case 'a':case 'A':case 'b':case 'B':printf("good"); break; case 'c':case'C':printf("pass"); case 'd':case'D':printf("fail"); } 12. 以下程序段的输出结果是 。 int main(void) { int a=2,b=7,c=5; switch(a>0) { case 1: switch(b<0) { case 1:printf("@" );break; case 2:printf( " ! " );break; } case 0: switch(c==5) { case 0: printf(" * "); break;
case 1:printf("#");break; case 2:printf("$");break: default:printf("&");) printf("\n"); return 0;) l3.若有"itx;",请以最简单的形式写出与逻辑表达式lx等价的C语言关系表达 14.能正确表示"a≥10或a≤10"的C语言关系表达式是 15.若从键盘输入56,则以下程序段的输出结果是 int main(void) inta; scanf("%d",&a); if(a>30)printf("%d",a); if(a>40)printf("%d",a); else if(a>50)printf("%d",a); return0; 16.以下程序段的输出结果是 intx=10;y=20;t=0: if(x-=y)t=xx-y;y=t; printf("%d,%d\n"x,y); 17.下列程序段的输出结果是 int a=l,b=2,c=3; if(c=a)printf("%d\n",c); else printf("%d\n",b); l8.下列程序用于判断a、b、C能否构成三角形,若能,输出YES,否则输出NO。当给a、b、 c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足3个条件:a+b>c, a+c心b,b+c>a。请填空。 int main(void) float a,b,c; scanf("%f%f%of",&a,&b,&c); if( printf("YESn");/*a、b、C能构成三角形*/ else printf("NO\n"); /体a、b、c不能构成三角形*/ return0; 19.以下程序段的输出结果是 int main(void) {intx=1,y=0,a=0,b=0: switch(x)
19 case 1: printf(" # "); break; case 2: printf(" $ "); break; } default: printf("&"); } printf("\n"); return 0; } 13. 若有"int x;",请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达 。 14. 能正确表示"a≥10或a≤10"的C语言关系表达式是 。 15. 若从键盘输入56,则以下程序段的输出结果是 。 int main(void) { int a; scanf("%d",&a); if(a>30) printf("%d",a); if(a>40) printf("%d",a); else if(a>50) printf("%d",a); return 0; } 16. 以下程序段的输出结果是 。 int x= 10;y=20;t=0; if( x==y) t=x;x=y;y=t; printf("%d,%d\n",x,y); 17. 下列程序段的输出结果是 。 int a=l,b=2,c=3; if( c=a) printf("%d\n",c); else printf("%d\n",b); 18. 下列程序用于判断a、b、C能否构成三角形,若能,输出YES,否则输出NO。当给a、b、 c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足3个条件: a+b>c, a+c>b,b+c>a。请填空。 int main(void) { float a,b,c; scanf("%f%f%f",&a,&b,&c ); if( ) printf("YES\n"); /*a、b、C能构成三角形*/ else printf("NO\n"); /*a、b、c不能构成三角形*/ return 0; } 19. 以下程序段的输出结果是 。 int main(void) { int x= 1,y=0,a=0,b=0; switch(x)
case 1:switch(y) case 0:a++;break; case 1:b++;break: case 2:a++;b++;break; } printf("%d%dn",a,b)方 return0;) 20.以下程序段的输出结果是 int main(void) {intn=0,m=1,x=2; if(In)x-=1; if(m)x-=2; if(x)x-=3; printf("%d\n",x), return0; 21.下列程序段的输出结果是 int main(void) {inta=3,b=4,c=5,t=99: if(b<a&&a<c)t=a;a=c;c=t; if(a<c&&b<c)t=b:b=a:a=t: printf("%d%d%d\n",ab,c); return 0: 22.下列程序运行后的输出结果是 int a=10,b=20,c; c-(a%b<)ll(a/b>1)片 printf("%d %d%d n",a,b,c); 23.下列程序运行后的输出结果是 int main(void) char c;int k; c=b,k=4; switeh(c) case 'a':k=k+l;break; case 'b':k=k+2; case 'c':k=k+3;} printf("%d\n",k); return0; 24.输入一个学生的数学成绩(0~100),将它转换为五级记分制成绩后输出。如果输入不正确 的成绩,显示"Invalid input'"。请填空。 int main(void) 20
20 { case 1:switch(y) { case 0:a++; break; case 1:b++; break; case 2:a++;b++; break; } printf("%d %d\n",a,b); return 0; } 20. 以下程序段的输出结果是 。 int main(void) { int n=0,m= 1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf("%d\n",x); return 0; } 21. 下列程序段的输出结果是 。 int main(void) { int a=3,b=4,c=5,t=99; if( b<a&&a<c) t=a;a=c;c=t; if( a<c&&b<c) t=b;b=a;a=t; printf("%d%d%d\n",a,b,c); return 0; } 22. 下列程序运行后的输出结果是 。 int a= 10,b=20,c; c=(a%b<l)||(a/b>1); printf("%d %d %d\n",a,b,c); 23. 下列程序运行后的输出结果是 。 int main(void) { char c; int k; c='b'; k=4; switeh(c) case 'a': k=k+l;break; case 'b': k=k+2; case 'c': k=k+3; } printf("%d\n",k); return 0; } 24. 输入一个学生的数学成绩(0~100),将它转换为五级记分制成绩后输出。如果输入不正确 的成绩,显示"Invalid input"。请填空。 int main(void)