GESP 二级 · GESP 202303 C++ 二级 第 5 题

选择题 · 答案 B · 考点:函数

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

题目

以下哪个不是 C++语言的关键字?

答案:B

考点

函数

解题思维

这道题考的是C++关键字的识别,核心思路是:先确认选项是否为语言保留词,再看它能不能当变量名用。return、else、case都是控制流关键字,而max明明可以声明成变量(int max=10;),这就反向证明它不是关键字,而是标准库里的函数模板名。

常见错误

最容易掉进的坑就是把max误认成关键字,因为它在算法竞赛里太常用了(std::max),让人下意识觉得它属于语言核心。另一个典型错误是逻辑偷换:看到max是库函数就推导出它不是关键字,这看似有理实则不对——库函数当然不是关键字,但反过来推不出所有非关键字都是库函数。比如max是库函数,但关键字里也有非库函数的词(如class、struct),所以不能单凭‘它是库函数’就否定它是关键字,必须回归标准保留词表去核对。

详细解析(节选)

1. 考点与概念

本题考查GESP二级C++语法中的「关键字识别」与「标识符命名规则」。C++关键字是语言预定义的保留词,用来构建语法结构(如if、return、else等),它们不能用作变量名、函数名或类名。而max不是关键字,它是<algorith>头文件里提供的函数模板,用于求两个值中的较大者(std::max(a,b))。理解这一点的关键在于:关键字属于语言核心,max属于标准库。

2. 命题视角

命题人特意设置max作为干扰项,因为它在算法竞赛中出现频率极高,学生容易把它和关键字混淆。这类题的通法是:先扫一眼关键字表,确认return、else、case都是控制流关键字;再看max——它不是关键字,而是库函数。记住一个铁律:关键字不能用作标识符,而max明明可以当变量名用(例如int max = 10;),这就反向证明它不是关键字。

同考点真题

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