问题 单项选择题

执行下面的程序段
int x=35;
char z='A';
int B;
B=((x&15)&&(z<'a'));
后,B的值为_______。

A.0

B.1

C.2

D.3

答案

参考答案:B

解析:[评析] 从整个表达式来看是个逻辑表达式,而与运算符“&&”的右边的子表达式中由于z的值为“A”,而A的ASCII码的值小于a的ASCII码值,所以这个子表达式的值为真,即1;在与运算符“&&”的左边的子表达式是个基于位运算的子表达式,将x的值与15做位与运算,表达式值不为零,所以两个子表达式的与值应当为1。

填空题
填空题