GESP 一级 · GESP 一级样题(C++ 组) 第 25 题

判断题 · 答案 B

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

题目

表达式 (6.0 / 3.0) 的计算结果为 2,且结果类型为 int 类型。( )

答案:B

解题思维

这题考浮点运算类型。看到6.0和3.0先判定它们是double,C++里二元运算符结果类型由操作数决定,所以6.0/3.0结果是2.0且类型为double,命题人把类型说成int就是错的。

常见错误

容易惯性套用整数除法,看到6和3就默认结果是2且类型是int,或者只盯着结果值2而忽略类型检查。其实6.0和3.0的小数点直接改变了运算数类型,导致整个表达式提升为double,这是命题人专门挖的坑。

详细解析(节选)

【考点】浮点运算类型|C++ 类型推导规则

1. 命题人怎么挖坑

GESP 一级 C++ 模块「数据类型与表达式」里,命题人专门卡住「浮点运算结果类型」这个盲区。题目说「(6.0 / 3.0) 的计算结果为 2,且结果类型为 int 类型」,前半句数值碰巧对了,后半句类型直接判错。很多考生看到两个小数相除,下意识认为「结果肯定是 2」,完全忽略了 C++ 的类型推导规则——结果类型不是由结果值决定的,而是由操作数类型决定的。

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