GESP 一级 · GESP 202303 C++ 一级 第 6 题

选择题 · 答案 D

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

题目

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

答案:D

解题思维

这题考的是概念辨析:关键字是编译器预定义的保留词,不能当变量名用。拿到题先别急着背表,想清楚'cout'到底是谁家的——它是标准库里定义的输出流对象,而 int、for、do 才是语言自带的保留字。

常见错误

绝大多数考生会误选 D,因为 cout 在代码里太常见了,容易被当成'关键字'。但命题人专门挖了这个坑:cout 只是 namespace std 里的一个对象,完全可以被重命名(比如改成 mycout),而 int、for、do 一旦改了编译器就报错。记住:关键字是语言语法的一部分,普通标识符是库提供给你的工具,别把频率当地位。

详细解析(节选)

考点定位与命题意图

本题出自 GESP 一级 C++ 语言模块,核心考查关键字(保留字)与普通标识符的本质区别。命题人设计这道题的意图非常明确:检验考生是否真正理解了 C++ 语言的语法结构,而不是仅仅记住了几个常用函数的名字。在 C++ 中,关键字是由语言标准预先定义、具有特殊语法含义的单词,它们不能用作变量名、函数名或类名。常见的关键字包括 int(整型)、for(循环)、do(do-while)、if、else、return、case 等。

解题思维:从定义出发

拿到这道题,正确的思考路径应该是:先明确关键字的定义,再逐一判断选项。不要一看到 cout 就下意识觉得它是关键字,因为它的名字里带有"out",容易让人联想到"输出"这个动作,从而产生认知偏差。

1. 回顾关键字表:C++ 的关键字是固定的,不会随版本或库的变化而改变(除非标准更新,但基础关键字如 int、for 始终存在)。int 是声明整型变量的关键字,for 是构建循环语句的关键字,do 是 do-while 循环的关键字。这三个选项 A、B、C 显然都符合关键字的定义。 2. 分析 cout 的身份:cout 是 C++ 标准库 <iostream> 头文件中定义的对象。具体来说,它是 std 命名空间下的一个全局对象,类型为 std::basic_ostream<char, std::char_traits<char>>。它的作用是向标准输出设备(通常是屏幕)写入数据。 3. 关键区分点:既然 cout 是库中定义的对象,它本质上就是一个普通标识符。这意味着,如果你想在代码中定义一个变量叫 cout,编译器会报错,因为它已经占用了;但如果你把库中的 cout 改名叫 mycout,或者在代码里写 std::cout,这都是完全合法的。命题人正是利用了考生对"常用函数"和"关键字"界限的模糊认识,将 cout 包装成一个看似'特殊'的选项,实则它是一个可以被重命名、可以被替代的普通对象。

陷阱拆解与避坑指南

这道题最大的陷阱在于"使用频率高"不等于"是关键字"。很多初学者看到 cout 在每一行输出语句里都用,就误以为它是语言语法的一部分,是关键字。但实际上,cout 只是标准库提供的一个工具,就像 printf 一样,它不是关键字。

如果只靠死记硬背关键字表而不理解"保留字 vs 库对象"的本质,就会掉进这个陷阱。例如,cin、endl、printf 都不是关键字,它们都是库中定义的对象或函数。而 int、for、do、if、else、return、case 等才是编译器内置的保留字,绝对不能用作标识符。

考频趋势与预测

根据题库统计,基础语法类题目在 GESP 考试中占比极高,近年来考频持续攀升:2023 年考了 287 题,2024 年达到 413 题,2025 年仍有 401 题,2026 年也考了 109 题。GESP 一级作为入门级别,对语言基础概念的考察尤为细致,这道题正是典型的"概念辨析"类题目,旨在夯实考生的语法根基。

基于这一趋势,未来 GESP 一级及二级考试中,类似的概念辨析题(如区分关键字与普通标识符、区分内置类型与类类型、区分运算符优先级等)仍将是高频考点。命题人可能会继续利用考生对常用库函数(如 cout、cin、endl)的熟悉度来设置陷阱,要求考生准确判断其语法地位。因此,建议考生在复习时不仅要背诵关键字表,更要深入理解每个关键字在语言中的具体作用,以及常见库对象(如 cout)的来源和性质,这样才能在考试中游刃有余,避免掉进命题人的坑。

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