问题
单项选择题
以下程序的功能是进行位运算:main(){ unsigned chara,b;a=7∧3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
A.43
B.73
C.70
D.40
答案
参考答案:A
解析:C 语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(~)→左移(<<)和右移(>>)→按位与(&)→按位异或(∧)→按位或(|)。"∧"是按位异或运算,当对应位上的二进制数值相同时, 异或的结果为 0,对应位上的二进制数值不同时,异或的结果为 1,本题“7∧3”相当于 0111∧0011,所以 a 的值为 4;"&"是按位与运算符,只有当所有对应位上的数值都为 1 时,结果才为 1;"~"是按位取反。 题中“~4&3”相当于 1011&0011=0011,所以 b 的值为 3。