执行以下程序段,输出值是( )
int x = 5;
if (x == 3 >> 2) x = 8 >> 3;
cout << x << endl;答案B。数组和位运算的代码追踪要特别小心:数组下标从0开始,位运算结果可能不直观。建议画图辅助。
位运算追踪时建议把数字写成二进制形式再逐位计算。
【考点】右移运算符|条件表达式求值|整数除法规则
本题考查位运算中的右移操作符优先级,位于 GESP 三级 C++ 基础语法模块。命题人专门卡住那些「看到>>就以为是除法」或者「没注意整数除法规则」的考生,这是C++基础语法陷阱。