GESP 一级 · GESP 202309 C++ 一级 第 5 题

选择题 · 答案 D

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

题目

在 C++ 语言中,int 类型的变量 x、y、z 的值分别为 2、4、6,以下表达式的值为真的是( )。

答案:D

解题思维

这题考C++关系与逻辑运算优先级。拿到题先代入x=2,y=4,z=6,再把每个选项按运算符优先级一步步算,别被感叹号忽悠了。

常见错误

多数人会下意识把!x当成1,然后算1<6,觉得D也真,其实!x是false,false<6才是真;还有人会把||优先级当成比>高,导致A、D判断错误。

详细解析(节选)

【考点】关系运算符、逻辑运算符优先级及表达式求值。命题人专门挖“感叹号”这个坑,卡住学生把逻辑非当成一元运算符优先于关系运算的盲区——多数考生看到!会下意识先算取反,却忘了C++里!x < z其实是(!x) < z,且!x是false,false < z恒真。解题思维:逐句代入x=2,y=4,z=6。A:2>4假,2>6假,假||假=假。B:z-y=2,x!=2为假。C:y+x=6,z>6假。D:x<y假,但!x<z即false<6为真,假||真=真。关键在识别!x与x<y的短路规则:只要左端假,结果取决于右端。陷阱拆解:A错在“或”的优先级高于关系,但考生常误以为>会先算。B的z-y偷换为x!=2,利用减法与不等式的混淆。C把z比作y+x,却忽略z只比y+x大0。D最阴险:!x<z看似要算!x再比,实则false<6直接真,有人会把!x当成1再比,掉进“非运算优先”陷阱。反命题思维:若把D改成!x > y,答案就变假;若把z换成5,D仍真但C变假。命题人想考的是“逻辑非在关系中的位置”和“短路求值”,刷到类似题先问自己:“这里!到底是对变量还是对关系?”考频趋势:关系与逻辑运算在题库共考过261题,覆盖9个考试级别,2023年91题、2024年41题、2025年61题、2026年14题,GESP一级72题、GESP二级70题,说明这类题近年仍高频出现,尤其一级和二级。预测:未来大概率继续以“非运算符位置”或“混合运算优先级”挖坑,考生需牢记!x是false而非1,且||优先级低于关系运算符。

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