第二次 选择结构
一 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2 的值是( D)。
A.6 B.0 C.2 D.1
2.为了避免嵌套的 if-else 语句的二义性,C 语言规定 else 总是与(C)组成配对关系。
A.缩排位置相同的 if
B.在其之前未配对的 if
C.在其之前未配对的最近的 if
D.同一行上的 if
3. 逻辑运算符两侧运算对象的数据类型(D)。
A.只能是 0 或 1
B.只能是 0 或非 0 正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
4. 下列运算符中优先级最高的是(C)。
A.< B.&& C.+ D.!=
5. 选择出合法的 if 语句(设 int x,a,b,c;)( A)。
A.if(a=b) c++;
B.if(a=<b) c++;
C.if(a<>b) c++;
D.if(a=>b) c++;
6.判断 char 型变量 s 是否为小写字母的正确表达式是(C)。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)
7.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是(C)。
A.0 B.语法错
C.1 D.“假”
8.已知 int a=1,b=2,c=3; 以下语句执行后 a,b,c 的值是(B)。
if(a>b)
c=a; a=b; b=c;
A.a=1, b=2, c=3 B.a=2, b=3, c=3
C.a=2, b=3, c=1 D.a=2, b=3, c=2
9.请阅读以下程序:该程序(C)。
#include ”stdio.h”
main()
{ int x=-10, y=5, z=0;
if (x=y+z) printf(”***” );
else printf(”$$$”);
}
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
10.以下程序的运行结果是(C)。