1. 设ch是char型变量,其值为A,且有下面的表达式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是 A) A B) a C) Z D) z
B
2. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中, 值为0的表达式是
A) 'a'&&'b' B) a<=b
C) a||b+c&&b-c D) !((a
3. 为表示关系x≥y≥z,应使用C语言表达式 A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) || (y>=z) A
4. 执行下面程序段 int x=35; char z='A'; int B;
B=((x=15)&&(z<'a')) 后,B的值为
A) 0 B) 1 C) 2 D) 3 B
5. 表达式: 10!=9的值是 A) true B) 非零值 C) 0 D) 1
D
6.能正确表示a≥10或a≤0的关系表达式是
A) a>=10 or a<=0 B) a>=10 | a<=0
C) a> =10 || a< =0 D) a>=10 || a<=0 D
7. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示 这一关系的表达式为 A) a<>0 B) !a
C) a=0 D) a D
8. 设a=5,b=6,c=5,d=8,m=2,n=2,执行 (m=a>b)&&(n=c>d) 后n的值为 A) 1 B) 2
C) 3 D) 0 B
9. 设a为整型变量,不能正确表达数学关系:10
表达式是
A) 1010 && a<15 D) !(a<=10) && !(a>=15) A
10. 若有以下定义: float x; int a,b; 则正确的switch 语句是 A) switch(x) B) switch(x) { case 1.0:printf(\ { case 1,2:printf(\ case 2.0:printf(\ case 3:printf(\ } } C) switch(a+b) D) switch(a-b); { case 1:printf(\ { case 1:printf(\ case 1-2:printf(\ case 2:printf(\ } } A
11. 设a=1,b=2,c=3,d=4,则表达式: a
12. 设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为 x=y=z=1;
t=++x || ++y && ++z; A) 不定值 B) 4
C) 1 D) 0 C
13. 语句:printf(\的输出结果是 A)无输出 B)结果不确定
C)-1 D)1 D
14. 能正确表示a和b同时为正或同时为负的逻辑表达式是 A) (a>=0 || b>=0) && (a<0 || b<0)
B) (a>=0 && b>=0) && (a<0 && b<0) C) (a+b>0 && a+b<=0) D) a*b>0
D
15. 有如下程序段 int a=14,b=15,x; char c='A';
x=(a&&b) && (c<'B'); 执行该程序段后,x的值为 A) ture B) false
C) 0 D) 1 D
16. 为了避免嵌套的if-else语句的二义性,C语言规定else总是
与( )组成配对关系。
A) 缩排位置相同的if B) 在其之前未配对的if C) 在其之前未配对的最近的if D) 同一行上的if
C
17. 选择出合法的判断a和b是否相等的if语句(设int x,a,b,c;)。 A) if (a=b) x++; B) if (a=b) x++; C
18. 已知 int x=10,y=20,z=30,则执行 if (x>y)
z=x;x=y;y=z;
语句后,x、y、z 的值是( )。 A) x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=20 B
19. 执行下面程序的输出结果是( )。 main( )
{ int a=5,b=0,c=0;
if (a=a+b) printf(\ else printf(\ }
A) 有语法错误不能编译
B) 能通过编译,但不能通过连接 C) 输出 **** D) 输出 ####
C
20. 运行下面程序后,输出是( )。 main( ) { int k=-3;
if (k<=0) printf(\ else printf(\ }
A) #### B) ****
C) ####**** D) 有语法错误不能通过编译 D
21. 以下不正确的if语句是( )。 A) if(x>y) printf(\
B) if(x=y)&&(x!=0) x+=y;
C) if(x!=y) scanf(\D) if(x B 22. 以下条件表达式中能完全等价于条件表达式x的是( A) (x==0) B) (x!=0) C) (x==1) D) (x!=1) )。 B 23. 若运行下面程序时,给变量a输入15,则输出结果是( )。 main( ) { int a,b; scanf(\ b=a>15?a+10:a-10; printf(\ } A) 5 B) 25 C) 15 D) 10 A 24. 以下选项中,两个条件语句语义等价的是( )。 A) if(a=2)printf(\ B) if(a-2)printf(\ if(a==2)printf(\ if(a!=2)printf(\C) if(a)printf(\ D) if(a-2)printf(\ if(a==0)printf(\ if(a==2)printf(\B 25. 执行下列程序后的输出结果是( )。 main( ) { int k=4,a=3,b=2,c=1; printf(\ } A) 4 B) 3 C) 2 D) 1 D 26. 以下程序段运行结果是( )。 int w=3,z=7,x=10; printf(\ printf(\ printf(\ printf(\ A) 0 B) 1 C) 0 D) 0 1 1 1 1 1 1 0 0 1 1 1 0 C 27. 以下程序段运行结果是( )。 int x=1,y=1,z=-1; x+=y+=z; printf(\A) 1 B) 2 C) 4 D) 不确定的值 A 28. 在执行以下程序时,为了使输出结果为:t=4 则给a和b 输入的值应满足的条件是 main( ) { int s,t,a,b; scanf(\ s=1; t=1; if (a<0) s=s+1; if (a>b) t=s+t; else if (a==b) t=5; else t=2*s; printf(\ } A) a>b B) aa>b D) 0 29. 请读程序: #include { 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) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 A 30. 下面程序的输出结果是 main( ) {int x=100,a=10,b=20,ok1=5,ok2=0; if (a if (ok2) x=10; x=-1; printf(\ }