第二章 选择结构
2.1 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是()。
A.6 B.0 C.2 D.1
2. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为()。
A.1 B.2 C.3 D.4
3. 设x、y和z都是int类型变量,且x=3,y=4,z=5, 则下面的表达式中,值为0的表达式为()。
A.’x’ && ’y’ B.x<=y
C.x||y+z && y-z D.!((x
4.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
5. 逻辑运算符两侧运算对象的数据类型()。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
6. 以下关于运算符优先顺序的描述中正确的是()。
A.关系运算符
B.逻辑与运算符
C.赋值运算符
D.算术运算符
7. 下列运算符中优先级最高的是()。
A.< B.&& C.+ D.!=
8. 选择出合法的if语句(设int x,a,b,c;)()。
A.if(a=b) c++;
B.if(a=
C.if(a<>b) c++;
D.if(a=>b) c++;
9. 能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是()。
A.(x>= -58) && (x<= -40) && (x>=40) && (x<=58)
B.(x>= -58) || (x<= -40) || (x>=40) || (x<=58)
C.(x>= -58) && (x<= -40) || (x>=40) && (x<=58)
D.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58)
10.判断char型变量s是否为小写字母的正确表达式是()。
A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)
11.若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。
A.x%2==1 B.!(x%2==0)
C.!(x%2) D.x%2
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y
A.0 B.语法错
C.1 D.“假”
13.指出下列程序段所表示的逻辑关系是()。
if(a
{if(c==d)
x=10;
}
else
x=-10;
A.
B.
C.
D.
14.有一函数: ,以下程序段中不能根据x值正确计算出y值的是()。
A.if (x>0) y=1;
else if (x==0) y=0;
else y= -1;