下列关于 C++ 语言的叙述,不正确的是( )。
这题考C++基础数据类型。拿到题先别急着背定义,直接看选项里的‘绝对化’字眼。命题人最爱用‘浮动’‘无限’这种词制造陷阱,double大小固定8字节,bool至少1字节,int有范围限制,char能存256个值。只要抓住这几个死规则,A项那个‘浮动’说法立马就露馅了。
很多同学看到double会联想到‘浮点’,就下意识觉得它内存大小也是浮动的,或者以为char因为能表示负数所以取值少。其实C++标准里double就是固定8字节,float是4字节,long double才可能变;bool不管系统怎么实现,标准保证至少1字节;char默认1字节,有符号时-128~127,无符号0~255,加起来正好256种取值。别被‘浮点’名字带偏,也别想当然认为char只能存正数。
【考点】C++基础数据类型与存储规则。这道题表面是单选,实则是在筛掉那些把‘浮点’字眼和‘内存浮动’挂钩的半吊子概念,同时考察对bool、int、char取值范围的常识。命题人出题视角很明确:用绝对化表述(如‘占用内存大小是浮动的’)来制造陷阱,只有A项完全错误,其他三项都是C++标准或常识中的正确描述。
解题心法很简单:拿到题先扫一眼选项,找那些用了‘浮动’‘无限’‘任意’这种词的,大概率是坑。逐个验证:double是IEEE 754双精度,固定8字节,绝不浮动;bool按标准至少1字节,有些系统可能用1位,但C++规定‘至少’1字节,所以B项‘占用1字节内存’在考试语境下算正确;int受机器字长限制,取值范围肯定不是无限的;char默认1字节,无论有符号还是无符号,总共能表示256个不同值,D项‘有256种取值’完全正确。因此只有A项错。
这里有个易错点要特别注意:很多同学看到‘浮点’就以为内存大小也‘浮动’,或者以为char因为能存负数所以取值少。其实C++标准里double就是固定8字节,float是4字节,long double才可能变;bool不管系统怎么实现,标准保证至少1字节;char默认1字节,有符号时-128~127,无符号0~255,加起来正好256种取值。别被‘浮点’名字带偏,也别想当然认为char只能存正数。
从考频趋势看,C++基础语法在题库中占比极高:基础语法类题目共1295题,覆盖2008-2026年,其中2023年就有287题,2024年413题,2025年401题,说明这类概念题是近年高频考点。GESP二级作为入门阶段,每年都有大量题目考察数据类型、存储大小、取值范围等基础内容,本题正是典型代表。历年来看,命题人越来越喜欢在细节处挖坑,比如用‘浮动’这种看似合理实则错误的表述来误导学生,或者用‘至少’‘默认’等限定词来增加迷惑性。
基于这个趋势,未来GESP二级甚至一级考试中,类似的数据类型判断题仍会高频出现,命题人可能会继续用绝对化表述设陷阱,比如把‘double占用8字节’改成‘double占用内存大小是浮动的’,或者把‘char能表示256个值’改成‘char只能表示128个正数’。同时,随着考试难度逐步提升,可能会在基础题中融入更多平台无关的规范细节,比如强调bool的‘至少’1字节,或者考察long double在不同编译器下的差异。因此,学生在备考时应牢牢记住C++标准对基本数据类型的规定,避免被表面字眼迷惑。
(注:本解析由提供,出品。)