GESP 二级 · GESP 202312 C++ 二级 第 22 题

判断题 · 答案 B

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

题目

在 C++ 代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )

答案:B

解题思维

这题考的是C++运算符的类型规则,别被'只能'这种绝对化词语带偏,核心是记住隐式转换和重载的存在。

常见错误

学生最容易死记硬背'运算符要求类型相同',看到题目就选A。其实C++里int和double相加完全合法,编译器会自动把int转成double再算;函数重载甚至允许不同参数类型调用同一个函数。命题人就是卡这个认知盲区,用'必须转换'这种模糊表述迷惑人,只背结论不琢磨语言机制的,肯定掉坑里。

详细解析(节选)

【考点】运算符类型处理|隐式转换与重载机制

【考纲定位】本考点位于GESP二级大纲'编程语言基础'模块,命题人专门卡住'运算符类型限制'这一认知盲区,喜欢用绝对化表述设陷阱。

【解题思维】拿到题先别急着翻书,脑子里过一遍:C++里int加double合法吗?当然合法,直接算出double结果。float和int运算呢?强制提升为double。那'只能处理相同数据类型'这句话在哪?显然和事实对不上。通法:遇到这种'只能...必须...'的绝对化表述,优先怀疑它忽略了语言的灵活性,立刻联想隐式转换规则和函数重载机制。

【陷阱拆解】题干中'只能'二字太绝对,C++运算符虽要求操作数类型兼容(compatible),但绝不要求类型完全相同(identical)。若命题人想考'必须转换',会表述为'不同运算类型需先统一'或给出具体表达式如int+double让考生判断结果类型。此题阴险在于用'必须转换'掩盖'兼容即可',只背结论会误选A。

【计算验证】假设题目想考具体计算,比如int a=1, double b=2.5; a+b,结果是2.5(double),证明类型不同也能运算,无需手动转换。

【避坑】千万别把'必须转换'理解成'必须显式转换',C++的隐式转换(arithmetic conversion)是自动发生的,而且往往发生在运算符求值之前。刷到类似题先问:命题人想考我什么?是不是在考重载?是不是在考隐式转换规则?

【考频与趋势】基础语法类题目在题库共考过1295题,覆盖11个考试级别,逐年分布极不均衡:2023年暴增287题,2024年413题,2025年401题,说明近三年来基础概念辨析是高频考点。运算符与表达式专题共261题,其中GESP二级独占70题,占比近27%,且2023年该专题考题高达91题,2024年41题,2025年61题,呈现明显的'基础概念年年考、细节表述年年变'的趋势。

【预测】基于数据,未来GESP二级仍会高频考查基础语法的细节表述,特别是这类'绝对化vs灵活性'的陷阱题。命题人可能会换皮,比如把'运算符'换成'函数调用'或'数组下标',但核心依然是考你是否真正理解C++的类型兼容机制,而非死记结论。暂无足够依据预测具体题型变化,但'概念辨析类'大概率持续霸榜。

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