GESP 二级 · GESP202609 C++ 二级 第 18 题

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

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

题目

C++ 表达式 2 * - '2' / 4 的值是 -1 。

答案:B

考点

运算符优先级

解题思维

先识别运算符优先级,一元负号高于乘除;再处理字符常量转整型('2'为50);最后按左结合顺序计算:2×(-50)=-100,-100÷4=-25。

常见错误

字符常量'2'的ASCII值是50,不是2;一元负号优先级高于乘除,所以先算-50;整数除法-100÷4=-25,不是-24。

详细解析(节选)

1. 考纲定位

GESP二级C++大纲中,运算符优先级属于"表达式与语句"模块,字符常量与整型转换属于"数据类型"模块。命题人放这道题,就是要卡住那些"看到字符就以为是字符"的考生——他们往往忽略ASCII码转换,直接把'2'当成2算,导致整除结果偏差。

2. 解题思维

看到题先想优先级。一元负号(-)优先级高于乘除(*、/),所以- '2'先算。字符常量'2'在C++中会被自动转换为整型,其ASCII码是50,不是2。然后按左结合顺序计算:2 * -50 = -100,再-100 / 4 = -25。题目说结果是-1,显然错误。

同考点真题

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