GESP2025年12月认证C++一级真题与解析(单选题1-15)
一、单选题解析(1~15 题)
总原则:
1 级考试重点考察:计算机基础概念C++ 基本语法运算符优先级循环、判断、输入输出
不考偏门,只考“基本功是否扎实”

第 1 题(答案:B)
考点:计算机五大部件
飞行控制系统需要:
- 接收数据 ✔
- 进行判断和运算 ✔✔
- 输出结果
👉 执行“判断、计算”的核心部件是:处理器(CPU)
| 选项 | 作用 |
|---|---|
| A 传感器 | 负责采集 |
| B 处理器 ✅ | 负责判断和运算 |
| C 内存 | 存数据 |
| D 输出设备 | 显示结果 |

第 2 题(答案:A)
考点:非法字符错误(Invalid Character)
最常见原因之一👇
中文标点混入代码
a=3,b=4; // ❌ 中文逗号 正确应为:
a=3, b=4; // ✅ 英文逗号 📌 初学者高频翻车点

第 3 题(答案:A)
考点:变量命名规则
- ❌ 不能使用 关键字
- ✔ 可以用
_开头 - ✔ 不能有空格、符号
| 选项 | 分析 |
|---|---|
| A ✅ | for 是关键字 |
| B | _tnt 是合法的 |
| C | 结尾 _ 没问题 |
| D | printf 是函数名,不是关键字(但不建议) |

第 4 题(答案:C)
cout << (X=3, X++, ++X); 考点:逗号运算符 + 自增顺序
⚠️ 这是 1 级中最容易误选的一题
- 逗号表达式只返回最后一个值
X++,3+1=4,++X,4+1=5

第 5 题(答案:B)
2 + 3 * 4 % 5 运算优先级:
*%+
计算过程:
3 * 4 = 12 12 % 5 = 2 2 + 2 = 4 ✅ 结果:4

第 6 题(答案:A)
a = 3; b = a = 4; 考点:赋值表达式有返回值
a = 4→ 返回 4b = 4
最终:
a = 4 b = 4 
第 7 题(答案:C)
printf("%%(N+M)=%d", N+M); 关键点:
%%→ 输出一个%%d→ 输出整数
输入 10 20
输出:
%(N+M)=30 
第 8 题(答案:A)
考点:找规律
数字序列:
1 2 3 2 1 2 3 2 1 ... 周期长度:4
👉 用 N % 4 判断位置

第 9 题(答案:D)
考点:循环执行次数
- tnt+=1 执行了0~99,共计100次,tnt=100
i++→ i=100 退出循环
输出
100 100 
第 10 题(答案:B)
for (i = 1; i < 10; i+=2) 从 1 改成 0 ❌
→ i+2的值全部由奇数变成了偶数
结果是不相同

第 11 题(答案:C)
考点:continue + for
循环里 每次都 continue
👉 printf 永远执行不到
最后只输出:
100 END 

第 12 题(答案:A)
考点:辗转相减法(求最大公约数)
if (N > M) N = N - M; else M = M - N; if else 双分支结构,只会执行一个,
N大就改变N,
M大就改变M,
只改变N,M中一个数字

第 13 题(答案:D)
考点:取个位 + 能否被 3 整除
N % 10 % 3 == 0 N % 10→ 取个位% 3 == 0→ 是否能被 3 整除

第 14 题(答案:C)
考点:奇因数判断
(N % i == 0) && (i % 2) - 能整除
- 是奇数

第 15 题(答案:C)
考点:拆位
tmp -= a * 1000; 👉 去掉千位,保留后三位