设有定义:int a=64,b=8;,则表达式(a&&b)和(a |b)&&(a||b)的值分别为( )。

admin2019-04-14  26

问题 设有定义:int a=64,b=8;,则表达式(a&&b)和(a |b)&&(a||b)的值分别为(    )。

选项 A、1和1
B、1和0
C、0和1
D、0和0

答案A

解析 常用的位运算符有:“~”按位求反,“<<”左移,“>>”右移,“&”按位与,“^”按位异或,“|”按位或。
逻辑或运算符“|”,计算左表达式值,如果为真,则不计算右表达式值,而整个表达式为真;若左表达式为假,再计算右表达式值,然后做或运算逻辑与运算符“&”,计算左表达式值,如果为假,则不计算右表达式值,而整个表达式为假;若左表达式为真,再计算右表达式值,然后做与运算。
a=64换算为二进制为1000000,b=8换算为二进制为1000,a&b=0为假,a&&b为真,(a&b)||(a&&b)为真,值为1。a|b=1001000为真,a||b为真,则(a|b)&&(a||b)为真,值为1。故A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/EHf0FFFM
0

最新回复(0)