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

判断题 · 答案 A · 考点:基本数据类型

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

题目

表达式 (3.5 * 2) 的计算结果为 7.0,且结果类型为 double。

答案:A

考点

基本数据类型

解题思维

这题考的是C++里浮点字面量的默认类型。看到3.5先别急着算结果,要立刻反应过来:带小数点的数在C++里默认是double,所以2会被提升成double参与运算,结果自然也是double。

常见错误

很多初学者会凭直觉觉得3.5乘以2等于7,然后下意识认为7是整数,或者以为题目里没写float就是int。这种思维惯性最容易掉进坑里——把结果类型当成整数类型。还有同学会纠结是不是float,其实C++标准规定小数点字面量默认就是double,除非你显式加个f后缀。记住:类型看操作数不看结果,3.5就是double,2变成double,乘出来还是double。

详细解析(节选)

【考点】算术运算|数据类型

这道题表面看是简单的乘法,实则是在考你对C++浮点字面量默认类型的理解。命题人特意选了3.5这个带小数点的数,就是想看看你是否真的知道它在C++里默认是什么类型,而不是仅仅会算结果。

1. 概念厘清 在C++中,任何包含小数点的字面量(literal)默认都是double类型。这是语言规范,不是约定俗成。3.5在代码里就是一个double类型的常量。而整数2是int类型。当这两种类型进行运算时,遵循整型提升规则,int会被提升为double,所以3.5 * 2实际上就是3.5 * 2.0。

2. 计算过程 3.5乘以2.0,数值上等于7.0。因为参与运算的两个操作数都是double类型,运算结果自然也是double类型。这符合C++的类型推导规则:二元运算的结果类型由操作数类型决定。

3. 命题视角 出题人挖坑的点很隐蔽:题目直接给出了结果7.0和类型double,看起来像是在确认你是否会算,其实是在测试你是否理解为什么结果是double。如果只背公式不会类型分析,很容易误以为7是整数或者float。这种“结果正确但类型判断错误”的陷阱在GESP一级里非常典型,专门用来区分死记硬背和真正理解的人。

4. 避坑提醒 最容易错的地方就是看到7就以为结果是int,或者纠结是不是float。记住:类型看操作数,不看结果。3.5是double,2提升成double,乘出来必然是double。另外,C++里没有float默认字面量,除非你写成3.5f,否则所有小数点字面量都是double。这个细节在更高阶考试里也会考,现在就要养成习惯。

5. 考频趋势 从题库数据看,基础语法和运算符表达式在GESP一级里考得非常频繁。基础语法一级考了332题,运算符与表达式一级考了72题,而本题涉及的“浮点字面量类型”属于基础语法中的数据类型部分,二级考了81题,一级占了大头。近几年趋势很明显:2023年基础数据类型考了63题,2024年34题,2025年26题,2026年119题,说明这类概念题在一级考试中始终是高频考点,尤其是涉及默认类型判断的题。

6. 预测 基于2026年基础数据类型考题量激增(119题)的趋势,以及一级考试中浮点字面量类型判断的高频出现,未来GESP一级很可能继续以“默认类型是什么”这类概念题为主,可能会换数字或换运算符组合,比如3.14 + 2,或者5.0 * 3,但核心考点不变:小数点字面量默认是double。暂无足够依据预测具体形式,但题型方向基本可定。

同考点真题

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