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

admin2013-02-23  23

问题 以下程序的功能是进行位运算:    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。
转载请注明原文地址:https://kaotiyun.com/show/a2Jp777K
0

最新回复(0)