GESP C++ 一级选择题共15道,其命题严格依据《GESP C++ 一级考试大纲》,聚焦计算机基础与C++基本语法,强调“基本功是否扎实”,不设偏题、怪题。以下将结合 2025年12月认证真题 与 C++一级核心语法体系,对15道选择题进行逐题分析与整合讲解。
一、整体命题特点
• 题量:15道单选题
• 语言标准:以 C++11 为准
• 核心目标:检验考生对变量、运算符、控制结构、I/O 等基础概念的准确理解
• 高频考点:
• 计算机组成(CPU、内存、I/O)
• 变量命名规则
• 运算符优先级与结合性
• 自增/自减运算符(++X vs X++)
• 逗号表达式
• 条件判断逻辑(if 语句)
二、15道选择题逐题详解(整合语法点)
第1题:执行“判断、计算”的核心部件是?
选项:A. 传感器 B. 处理器(CPU)✅ C. 内存 D. 输出设备
解析:
• 考点:计算机组成原理
• 知识点:
• CPU(中央处理器):唯一能执行逻辑判断(如 if (a > b))和算术运算(如 a + b * c)的硬件。
• 内存(RAM):仅用于临时存储数据,不参与计算。
• 传感器/输出设备:属于 I/O 设备,分别负责输入采集与结果输出。
✅ 关键区分:操作系统负责运行程序,编译器负责翻译程序,CPU 负责执行程序。
第2题:以下哪个是C++关键字?
选项:A. for ✅ B. For C. FOR D. 4for
解析:
• 考点:标识符与关键字规则
• 知识点:
• C++ 所有关键字均为小写(如 int, if, else, while, return)。
• 变量命名规则:
• 必须以字母或下划线开头
• 不能以数字开头(4for 非法)
• 区分大小写(For 是合法变量名,但不是关键字)
✅ 记忆口诀:“关键字全小写,变量名不以数开头”。
第3题:表达式 a = (3, 4); 执行后,a 的值是?
选项:A. 3 B. 4 ✅ C. 7 D. 编译错误
解析:
• 考点:逗号表达式
• 知识点:
• 逗号表达式:从左到右依次求值,返回最后一个表达式的值。
• (3, 4) 的值为 4,因此 a = 4。
• 常见误区:误认为是元组、加法或编译错误。
✅ 验证方法:编写小程序 cout << (3,4); 输出 4。
第4题:若 i = 100,执行 if(i >= 100) cout << "100 END"; 的输出?
选项:A. 无输出 B. 100 C. END D. 100 END ✅
解析:
• 考点:关系运算符与条件语句
• 知识点:
• >= 表示“大于等于”,100 >= 100 为真(true)。
• cout << "100 END"; 会原样输出字符串内容(不含引号)。
✅ 注意:C++ 中字符串字面量用双引号,输出时不带引号。
第5题:C++表达式 2 + 3 \* 4 % 5 的值为?
选项:A. 0 B. 4 ✅ C. 14 D. 50
解析:
• 考点:运算符优先级与结合性
• 知识点:
• 优先级顺序:*、/、% 同级(高于 +、-),左结合。
• 计算步骤:
-
3 * 4 = 12
-
12 % 5 = 2(余数)
-
2 + 2 = 4
• 易错点:误先算 4 % 5 = 4,再 3 * 4 = 12 → 错误。
✅ 优先级表:() > * / % > + - > 关系 > 逻辑。
第6题:关于 X++ 与 ++X,以下说法正确的是?
选项:A. X++ 先使用再自增 ✅ B. ++X 先使用再自增 C. 两者完全等价 D. X++ 不能用于表达式
解析:
• 考点:自增运算符
• 知识点:
• X++(后置):先返回当前值,再自增1
• ++X(前置):先自增1,再返回新值
• 示例:
int x = 3;
cout << x++; // 输出 3,x 变为 4
cout << ++x; // x 先变为 5,输出 5
✅ 口诀:“前加先变后用,后加先用后变”。
第7题:以下哪个不是合法的变量名?
选项:A. _score B. score1 C. 1score ✅ D. myScore
解析:
• 考点:变量命名规则
• 知识点:
• 变量名不能以数字开头(1score 非法)
• 允许字母、数字、下划线组合,但首字符不能是数字
• 下划线开头合法(如 _score)
✅ 反例:123abc、2var 均非法。
第8题:bool 类型的取值范围是?
选项:A. 0 或 1 ✅ B. true 或 false C. 任意整数 D. A 和 B 都对
解析:
• 考点:布尔类型
• 知识点:
• C++ 中 bool 只能取 true(等价于1)或 false(等价于0)
• 在输入输出中,cout << true; 默认输出 1(可通过 boolalpha 改为单词)
• 任何非零值在逻辑判断中视为 true,但 bool 变量本身只能存 0 或 1
✅ 注意:选项 D 具有迷惑性,但题目问“取值范围”,在内存中 bool 占1字节,值为0或1。
第9题:表达式 10 \* 4 % 6 和 10 \* 2 % 3 的结果是否相同?
(典型判断题,常转化为选择题)
解析:
• 10 * 4 % 6 = 40 % 6 = 4
• 10 * 2 % 3 = 20 % 3 = 2
• 结果不同 → 错误
✅ 核心:* 与 % 同优先级,左结合,必须从左到右计算。
第10题:以下代码执行后输出 i 的值?
int i;
for(i = 0; i < 10; i++)
if(i % 3 == 0) continue;
else break;
cout << i;
选项:A. 0 B. 1 ✅ C. 3 D. 10
解析:
• 考点:循环控制语句(continue、break)
• 执行流程:
• i=0:0%3==0 → continue → i=1
• i=1:1%3!=0 → break,循环结束
• 此时 i=1,输出为 1
✅ 关键:break 跳出整个循环,continue 跳过本次循环剩余部分。
第11~15题:综合应用
• 第11题:考察表达式求值(如 2 + 3 * (4 - 1) % 5),需严格按优先级计算。
• 第12题:考察字符赋值(如 char c = 'A'; 或 c = 65;),注意类型转换语法。
• 第13题:考察ASCII 编码(如 'A'=65, 'a'=97),常结合 if-else 判断字母类别。
• 第14题:考察计算机系统组成(如无人驾驶系统需传感器、处理器,但油量表非选路必需)。
• 第15题:考察冯·诺依曼体系结构(现代计算机基于“存储程序”思想)。
三、C++ 一级选择题核心语法知识体系总结
| 知识模块 |
具体内容 |
| 计算机基础 |
CPU(计算/判断)、内存(存储)、I/O(输入/输出);冯·诺依曼体系 |
| 标识符与关键字 |
关键字全小写;变量名:字母/下划线开头,不含空格/符号 |
| 数据类型 |
int(整型)、double(浮点)、char(字符)、bool(布尔:0/1) |
| 运算符 |
算术(+ - * / %)、关系(> < == !=)、逻辑(&& || !)、自增(++)、逗号(,) |
| 优先级与结合性 |
() > * / % > + - > 关系 > 逻辑;同级左结合 |
| 控制结构 |
if 条件为真(非0)则执行;for 三要素(初值、条件、步长) |
| I/O |
cin >> x; 输入;cout << x; 输出;endl 换行 |
四、备考建议
- 熟记运算符优先级表,避免因顺序错误导致逻辑偏差
- 动手验证:对不确定的表达式(如
i++、逗号表达式)编写小程序测试
- 区分概念:操作系统(运行程序) ≠ 编译器(翻译程序) ≠ CPU(执行程序)
- 真题训练:通过 [GESP官网真题解析栏目]反复练习