问题 单项选择题

下述程序的输出结果是( )。 #include<stdio.h> void main() {char a=3,b=1; char c=a^b<<2; printf("%d",c); }

A.1

B.7

C.3

D.2

答案

参考答案:B

解析: 本题考查的是位运算符的应用。a和b写成二进制表示分别为a=00000011,b=00000001,由于左移位运算符“<<”的优先级高于按位异或运算符“^”,左移两位后b<<2=00000100,此结果和x按位异或后a^b<<2=00000111。

单项选择题
名词解释