GESP 三级 · GESP 202403 C++ 三级 第 4 题

选择题 · 答案 B · 考点:位运算

← 整套速查表 GESP 三级 全部真题

题目

定义整数 int x = -5,则执行C++代码 cout << (x == (x << 1 >> 1)) 输出是( )。

答案:B

考点

位运算 讲解 →位运算 真题汇总 →

解题思维

看到链式位移先定优先级,有符号数右移补符号位

常见错误

误判优先级把x<<1>>1当成x<<(1>>1);误以为负数右移高位补0或数值变小

详细解析(节选)

考点:运算符优先级|有符号数右移规则

解析

表达式 x == (x << 1 >> 1) 中,左移 << 优先级高于右移 >>,故 x << 1 >> 1 等价于 (x << 1) >> 1。

左右两边相等,输出 1。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断