GESP 三级 · GESP 202306 C++ 三级 第 21 题

判断题 · 答案 A

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

题目

在 C++ 语言中,可以使用字符(如 '0')作为数组下标。

答案:A

解题思维

这道题考的是 C++ 里字符常量怎么转成数字。拿到题先别想符号,直接反应'0'在 C++ 里就是个整数 48,既然下标允许整数,那字符当然能当数组下标。

常见错误

很多学生一看到字符就下意识觉得它只是用来表示形状的符号,完全忽略了 C++ 中 char 本质就是整型。命题人就是利用这种直觉偏差挖坑,让你误以为'0'不能直接当索引。其实只要记住字符常量参与运算时会自动转为对应的 ASCII 码值,就能轻松避开这个坑。

详细解析(节选)

【考点】字符与整数的类型关系|数组下标合法性判断

1. 命题人怎么挖坑 这题看似简单,实则直击初学者最容易产生的直觉误区:"字符是符号,下标是数字,符号怎么能当数字用?"命题人特意选'0'这个字符,就是利用它的符号属性迷惑你。很多学生看到'0'就联想到它是字母表里的一个符号,从而误判为错误。但 C++ 的类型系统里,char 本质就是整型,字符常量在参与运算(包括作为数组下标)时,会被自动转换为对应的 ASCII 码值。

2. 思考心法:拿到题先想什么 看到"字符作下标",第一步反应不是去查字符表,而是立刻转化思维:"这个字符在 C++ 里代表哪个整数?"

既然'0'等价于整数 48,而 48 完全可以作为数组下标,那么"可以使用字符作为数组下标"这个命题自然成立。

3. 避坑指南 最容易错的地方就是死守"下标必须是数字"的表象,而忽略了"字符即整数"的底层事实。如果你只背了"数组下标是整数"这一条,却没理解"字符常量参与运算时转为 ASCII 码"这一条,就会在遇到这类题时犹豫甚至选错。命题人用"可以使用"而非"必须使用",就是为了测试你是否真正理解类型转换规则,而不是机械记忆。

4. 考频与趋势 根据题库数据,"一维数组"相关考点共考过 224 题,覆盖 9 个考试级别(2008-2026)。逐年分布显示:2008 年 3 题、2009 年 5 题、2012 年 1 题、2013 年 2 题、2015 年 1 题、2016 年 2 题、2017 年 1 题、2019 年 2 题、2021 年 1 题、2022 年 1 题、2023 年 27 题、2024 年 48 题、2025 年 55 题、2026 年 59 题、null 年 16 题。分赛事来看:GESP 五级 59 题、GESP 四级 42 题、GESP 三级 32 题、GESP 六级 26 题、GESP 七级 25 题、GESP 八级 19 题、NOIP 提高组 初赛 10 题、CSP 入门级 6 题、NOIP 普及组 初赛 5 题。

从数据趋势看,数组相关考点在近年(特别是 GESP 三级及以上)考频显著上升,2026 年达到峰值 59 题,说明这类基础但易混淆的知识点仍是高频考点。

5. 预测 基于当前考频分布和命题规律,未来 GESP 三级及更高阶别仍可能继续考查"字符转整数"这类基础类型转换陷阱,但形式可能更隐蔽,例如结合字符串处理或数组遍历考察。暂无足够依据预测具体年份或题型变化。

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