GESP 三级 · GESP 三级样题(C++ 组) 第 17 题

判断题 · 答案 B

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

题目

在 C++ 语言中,数组的下标从 1 开始计数。( )

答案:B

解题思维

这道题考C++数组下标规则。拿到题先锁定语言体系:C/C++/Java/Python从0,Pascal从1。直接背结论容易掉坑,要理解C++数组本质是内存连续块,下标0对应首地址,所以长度为n的数组下标范围是0到n-1。

常见错误

学生最容易错选A,原因有两类:一是语言迁移错误,把Pascal或数学教材里‘下标从1开始’的习惯套用到C++;二是直觉陷阱,觉得‘第一个元素’就该是‘下标1’。其实C++标准明确规定int a[5]只有5个元素,合法下标为0~4,访问a[5]会越界。记住:C++数组索引从0开始,最后一个元素是a[n-1]。

详细解析(节选)

【考点】C++数组下标规则|编程语言基础

1. 考纲定位 本题考查GESP三级《编程基础》模块中“基本语法与数据类型”部分。命题人刻意在试卷里放这道题——它卡住了绝大多数考生对C++语言特性的认知盲区。很多考生凭直觉或受Pascal语言影响,误以为数组下标从1开始,这是GESP三级最典型的基础知识漏洞。

2. 解题思维 看到题干,第一步反应应该是确认C++数组的起始索引。关键观察:C++标准明确规定int a[5]只有5个元素,合法下标为0~4。推理依据是C++数组本质是内存连续块,下标0对应首地址。这类题的通法是记住主流语言下标规则:C/C++/Java/Python从0,Pascal/Maple从1,考试时先锁定语言体系。

3. 陷阱拆解 错误选项A的设计利用了两种思维误区:一是语言迁移错误(将Pascal规则套用到C++),二是直觉陷阱(数组下标“从1开始”符合人类计数习惯)。最阴险的细节是“从1开始计数”这个绝对化表述——它偷换了“下标起始位置”的概念,命题人就是在测试考生是否真正理解C++数组的内存机制,而非仅仅背诵结论。背结论的考生会下意识认为“数组元素从第1个开始”,从而掉进陷阱。

4. 反命题思维 如果把题干改成“在C语言中,数组的下标从0开始计数”,答案就变成正确。或者换成“在Pascal语言中,数组下标从1开始计数”,考生需要重新判断。刷到此类题时,先问自己“命题人想确认我对C++的下标规则是否真正理解,还是仅仅记住了‘数组从1开始’这个错误常识”。

5. 考频与趋势 一维数组是题库高频考点,共考过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题。可见此类基础概念题在近年来(2023-2026)考频显著上升,尤其是GESP五级和2026年,说明命题人越来越重视对语言底层机制的考察。

暂无足够依据预测未来具体考法,但趋势显示基础语法题仍将是必考内容。

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