C++ 语言中 3.0 和 3 的值相等,所以它们占用的存储空间也相同。( )
别被'值相等'晃了眼,这题核心是看类型。3.0 是 double,3 是 int,虽然比较时 int 会提升,但占用的内存字节数不一样,直接选 B。
很多考生只盯着数值看,觉得 3.0 和 3 都是 3,就误以为它们占空间一样。还有学生看到'值相等'就默认类型也相等,忽略了 C++ 里字面量默认类型由小数点决定。另外,有些同学会纠结于'隐式类型提升',以为提升后类型就变了,其实提升只是为了计算,不改变原始字面量在内存里的布局。
【考点】浮点字面量与整型字面量的存储差异
这题考查的是 C++ 中不同类型字面量在内存中的实际占用。命题人特意用'3.0 和 3 的值相等'这个真命题做铺垫,诱导考生认为'值相等意味着类型相同、空间相同',这是典型的偷换概念陷阱。绝大多数考生只关注数值结果,忽略了类型决定存储布局这一底层规则。
拿到题先识别字面量类型:3.0 带有小数点,是 double 类型,占 8 个字节;3 是整数,是 int 类型,占 4 个字节。虽然 C++ 在进行运算时,int 会被隐式提升为 double 参与计算(所以值确实相等),但这只是运算规则,不改变原始字面量本身的存储大小。题干后半句说'占用的存储空间也相同',这显然是错的。
避坑要点:别被'值相等'带偏节奏,看到字面量先想类型;别把'隐式提升'当成'类型转换',提升是为了计算,不改变原始变量布局;别用排除法硬猜,这题是概念判断题,直接看类型定义最稳。
从考频看,'基础语法'大类在题库中已考过 1295 题,2024 年单年就考了 413 题,GESP 一级更是考了 332 题,说明这类概念辨析题是高频考点。命题人喜欢在'数据类型与表达'模块设卡,撕开直觉裂缝。
预测趋势:未来 GESP 一级和二级仍会高频出现此类题型,命题人可能会换皮,比如用 3.14 和 314、0.0 和 0 等组合,或者把'存储空间'换成'变量类型'来考,但核心逻辑不变——字面量类型由书写形式决定,与数值大小无关。暂无足够依据预测具体新题面,但复习时务必把字面量类型规则刻进肌肉记忆。