问题 单项选择题

以下程序的功能是进行位运算: main() {unsigned char a,b; a=7∧3;b=~4 & 3; printf("%d%d\n",a,B) ; } 程序运行后的输出结果是【 】。

A.4 3

B.7 3

C.7 0

D.4 0

答案

参考答案:A

解析:C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(-)→左移(<<)和右移(>>)→按位与(&)→按位异或(∧)→按位或(|)。"∧"是按位异或运算,当对应位上的二进制数值相同时,异或的结果为0,对应位上的二进制数值不同时,异或的结果为1,本题"7∧3"相当于0111∧0011,所以a的值为4;"&"是按位与运算符,只有当所有对应位上的数值都为1时,结果才为1;"-"是按位取反。题中"-4&3"相当于1011&0011=0011,所以b的值为 3。

单项选择题 B型题
单项选择题