GESP 三级 · GESP 202509 C++ 三级 第 22 题

判断题 · 答案 B

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

题目

在 C++ 中,char 类型的取值范围总是 $-128$ 到 $127$。

答案:B

解题思维

答案B。double占8字节,int占4字节,float占4字节,char占1字节,bool占1字节。类型的占用空间在编译时确定。

常见错误

double占8字节是固定不变的。数组占用空间=元素个数×sizeof(元素类型)。

详细解析(节选)

【考点】C++类型系统|char取值范围|有符号/无符号

看到“char 取值范围”先想 C++ 标准定义。char 是 8 位整数,但标准允许编译时选择有符号或无符号。无符号时范围 0-255,有符号时才是 -128~127。命题说“总是”,显然忽略了无符号情况。这类题的通法是:遇到“总是”“一定”等绝对化词,先找标准允许的例外。

陷阱在“总是”二字。C++ 标准允许 char 无符号,此时范围 0~255。命题人故意用绝对化表述,卡住只背结论不读标准的考生。如果你只记"char 是 -128~127",就会掉坑。

若把“总是”改成“至少”,命题就变成考 char 类型的最小字节数(1 字节=8 位)。若把答“正确”换成“错误”,则需补充“除非指定无符号”。刷到类似题,先问“标准是否允许例外”。

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