1. 考试背景与题目特点解析
GESP(青少年编程能力等级考试)作为国内权威的青少年编程水平认证体系,其C++四级考试主要面向具备1-2年编程学习经历的中学生。2025年3月版的判断题部分延续了"小而精"的命题风格,10道题目覆盖了从基础语法到面向对象的核心知识点。这类判断题不同于选择题,它要求考生对概念有绝对清晰的认知——任何模糊地带都可能导致判断失误。
在实际教学中发现,判断题的失分往往集中在那些"看似正确"的干扰项上。比如关于指针和引用的区别,很多学生会忽略const引用作为函数参数时的特殊行为。这也是为什么我们需要逐题拆解背后的技术细节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 题目详解与技术要点
2.1 指针与内存管理相关题目
第1题考察指针的算术运算:"对于int型指针p,执行p++后地址值增加4个字节"。这个说法在x86架构下是正确的,但需要特别注意:
- 指针运算的实际步长取决于指向类型的大小
- 在特殊架构(如某些嵌入式系统)中int可能是2字节
- 实际考试中默认按通用环境判断
经验提示:遇到指针题先画内存示意图,标注类型和地址变化
第3题涉及动态内存:"delete[]必须配合new[]使用"。这是绝对正确的C++铁律,但学生常犯的错误包括:
- 混淆delete和delete[]的使用场景
- 忽略二次释放导致的未定义行为
- 不了解现代C++更推荐智能指针
2.2 面向对象特性判断题
第5题关于继承关系:"派生类对象包含基类的所有成员变量"。这个说法需要分情况讨论:
- 公有继承时完全正确
- 私有继承时基类成员变为派生类私有
- 保护继承时访问权限发生变化
第7题考察多态:"虚函数必须通过指针或引用调用才能实现运行时绑定"。这个说法存在争议点:
- 严格来说通过对象实例调用虚函数也会查虚表
- 但只有指针/引用调用会表现出多态行为
- 考试中倾向于判定为正确
2.3 标准库与语法细节
第9题关于STL容器:"vector的push_back操作时间复杂度总是O(1)"。这是典型的陷阱题:
- 平均复杂度确实是O(1)
- 但发生扩容时是O(n)
- 需要理解摊销复杂度的概念
第10题涉及lambda表达式:"lambda捕获列表中的变量默认以值方式捕获"。这个说法是错误的:
- 默认捕获方式取决于写法
