1、 1 / 15一、 选择题1. 以下非法的赋值语句是A: n=(i=2,+i); B: j+; C: +(i+1); D: x=j0;2. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 scanf(“%d”,if(x-main() int a,b,c=246;a=c/100%9;b=(-1)printf(“%d,%dn“,a,b);输出结果是( ) 。A: 2,1 B: 3,2 C: 4,3 D: 2,-16. 两次运行下面的程序,如果从键盘上分别输入6 和4,则输出结果是main( ) int x;scanf(“%d“,2 / 15if(x + + 5) prin
2、tf(“%d“,x);else printf(“%dn“,x - -); A: 7 和5 B: 6 和3 C: 7 和4 D: 6 和47. 能表示x 为偶数的表达式是A: x%2=0 B: x%2=1 C: x%2 D: x%2!=08. 下面的程序段中共出现了几处语法错误?int a,b;scanf(“%d“,a);b=2a;if(b0) printf(“%b“,b);A: 1 B: 2 C: 3 D: 49. C 语言中,逻辑“真” 等价于A: 大于零的数 B: 大于零的整数 C: 非零的数 D: 非零的整数10. C 语言的 switch 语句中, case 后A: 只能为常量B: 只
3、能为常量或常量表达式C: 可为常量及表达式或有确定值的变量及表达式D: 可为任何量或表达式11. 已知int i=10 ;表达式“20-01)A: 5 B: 0 C: 2 D: 117. 以下程序的输出结果是( )main() int a5,b0,c0;if(ab+c) printf(“*n”);else printf(“$n”);A: 有语法错误不能通过编译B: 可以通过编译但不能通过连接C: *D: $18. 以下程序的输出结果是( )main() int m5;if(m+5) printf(“%dn”,m);else printf(“%dn”,m);A: 4 B: 5 C: 6 D: 7
4、19. 若运行时给变量x 输入12,则以下程序的运行结果是( )main() int x,y;scanf(“%d”,yx12?x+10:x12;printf(“%dn”,y);A: 0 B: 22 C: 12 D: 1020. 若w1,x2,y3,z4,则表达式wy)zx;xy;yz;A: x10,y20,z30B: x20,y 30,z30C: x20,y 30,z10D: x20,y30,z2030. 下列表达式中能表示a 在0 到100 之间的是A: a0 B: a=0,b=0,c=0; C: if(a0); D: if(b=0) m=1;n=2;以下题目为二级题37. if 语句的基本
5、形式是:if(表达式)语句,以下关于“表达式 ”值的叙述中正确的是 A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值38. 有以下程序段 int i,n;for(i=0;imain() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf(“%dn“,y);程序运行后的输出结果是A)3 B)2 C)1 D) 041. 有以下程序:#include main()int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(“%d,%d,%d,%d“,a,b,
6、c,d);程序输出( ).A)1,1,2,0 B)0, 0,0,3 C)编译有错 D) 0,1,2,042. 有以下程序:#include main()int x=1,y=0,a=0,b=0;switch(x) case 1: switch(y)7 / 15case 0: a+; break;case 1: b+; break;case 2 : a+; b+; break;case 3: a+; b+;printf(“a=%d,b=%dn“,a,b);A) a=2,b=2 B) a=2,b=1 C) a=1,b=1 D) a=1,b=043. 若有定义 int x, y; 并已正确给变量赋值,
7、则以下选项中与表达式(x-y)?(x+) : (y+)中的条件表达式(x-y) 等价的是( ) A) (x-y0)B) (x-y0)D)(x-y=0)44 .有以下程序: #include main()int x=1,y=0;if ( !x ) y+;else if (x=0)if(x) y+=2;else y+=3;printf(“%dn“,y);程序运行后的输出结果是( )A) 3 B) 2 C) 1 D) 045. 若有定义: float x=1.5; int a =1,b=3,c=2;则正确的 switch 语句是() A)switch(a+b)case 1: printf(“*n“)
8、;case 2+1 : printf(“*n“);B)switch( (int)x ); case 1: printf(“*n“);case 2 : printf(“*n“);C) switch( x ); case 1.0: printf(“*n“);case 2.0 : printf(“*n“);D) switch( a+b ) case 1: printf(“*n“);case c: printf(“*n“);8 / 1546. 若变量已正确定义,在 if ( W ) printf(“%dn“,k); 中,以下不可替代 W 的是() 。A) ay)if(ymain()int a=1,b=2,c=3,d=4,r=0;if(a!=1) ; else r=1;if(b=2) r+=2;else; if(c!=3) r+=3;else; if(d=4) r+=4;printf(“%dn“,r);则程序的输出结果是()A) 10 B) 7 C) 6 D) 359. 有以下程序#include main()int a;scanf(“%d“,if(a+, 则输出结果是A) 10 B) 11 C) 9 D) 8