GESP 一级 · GESP 202506 C++ 一级 第 25 题

判断题 · 答案 B · 考点:运算符优先级

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

题目

$X$ 是 C++ 的整型变量,则表达式 3 < X < 5 求值结果是 4。( )

答案:B

考点

运算符优先级

解题思维

答案B。表达式(3==0)+'A'+1+3.0中,有double参与运算,整个表达式结果提升为double类型。

常见错误

表达式结果类型由最高精度的操作数决定。double参与运算后整个表达式提升为double。

详细解析(节选)

【考点】关系运算符优先级|布尔值类型|左结合性

🎯 考纲定位 本题考查GESP一级C++模块中"运算符与表达式"核心考点。命题人专攻学生从数学思维到编程思维的转换缺陷——很多人把3<X<5当成数学不等式链,却不知C++中关系运算符严格左结合,会先算3<X得布尔值,再把布尔值与5比较。

🧠 解题思维 看到表达式先判断结合性:C++中<是左结合,故3<X<5等价于(3<X)<5。再判断类型:3<X结果为bool类型(true或false),bool与int比较时,true=1、false=0,故表达式最终结果是1或0,绝不可能得到4。这是C++表达式求值的铁律。

🪤 陷阱拆解 错误选项A是典型"数学直觉陷阱"——命题人知道学生会被类似3<X<5这种写法误导,以为X=4时整体就是4。实际上X=4时,3<X为true(1),1<5为true(1),结果仍是1。命题人精准卡住"变量值代入求值"与"运算符结合性"两个薄弱点。

🔄 反命题思维 若改成X=3<X<5,命题人会考察赋值与比较的交互:先算3<X<5得1,再将X赋值为1。刷到链式比较题时,先问自己"这个表达式是按数学规则还是C++运算符规则求值"。

同考点真题

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