GESP2025年12月认证C++三级真题与解析(单选题1-8)


🌟 第 1 题:二进制小精灵变魔术

(1)📘 题目

把一个 二进制小数 转换成 十进制数。

正确答案:B:13.625


(2)🧙‍♂️ 故事讲解

想象二进制数是一个"小精灵密码":

cpp 复制代码
1101.101

我们要把它翻译成人类能看懂的十进制语言。


(3)🧮 计算过程(权值求和)

1️⃣ 整数部分 1101
位 值
1 × 8 8
1 × 4 4
0 × 2 0
1 × 1 1
➡️ 合计:13

|--------------|---|
| ➡️ 合计:13 | |


2️⃣ 小数部分 .101
位 值
1 × 1/2 0.5
0 × 1/4 0
1 × 1/8 0.125
➡️ 合计:0.625

|-----------------|---|
| ➡️ 合计:0.625 | |


3️⃣ 📌 所以答案是:
13 + 0.625 = 13.625


(4)🧠 知识点总结

👉 二进制小数

👉 小数点右边是:1/2, 1/4, 1/8 ...



🌟 第 2 题:数组小火车 🚂

(1)📘 题目

下面关于 一维数组 的说法,哪一个是 错的?

正确答案:C


(2)🎒 故事讲解

数组就像一列火车 🚆:

  • 每节车厢都有编号

  • 车厢挨着车厢排好

  • 可以随时换某一节车厢里的东西


(3)🔍 逐项分析

✅ A:下标从 0 开始

cpp 复制代码
int a[3] = {10, 20, 30};
// a[0] 是 10

✅ B:内存中是连续存放的

(火车车厢紧挨着)


❌ C:数组长度只能运行时确定

👉 错误!

cpp 复制代码
int a[5];   // 编译时就已经确定了

✅ D:可以修改数组元素

cpp 复制代码
a[1] = 99;

(4)🧠 知识点总结

👉 普通数组:大小是提前定好的



🌟 第 3 题:神秘的 sum 宝箱 🎁

(1)📘 题目

一段代码运行后,sum 的值是多少?

正确答案:D:40


(2)🧮 思路讲解

这类题是典型的:

"for 循环 + 累加器"

只要记住一句话:

📌 每循环一次,就往 sum 里加点东西


(3)✨ 考试技巧

自己画表格:

i sum
1 1
2 1(continue)
... ...

8 >> 2 : 等于 8 / 4 = 2

i % 3 == 8 >> 2 : i % 3 == 2

等差数列求和公式:(1+10)*10 / 2 = 55

continue的数组和:2 + 5 + 8 = 15

最终结果: 55 - 15 =40


(4)🧠 知识点总结

👉 for 循环

👉 累加变量(sum += i)



🌟 第 4 题:位运算小陷阱 🪤

(1)📘 题目

下面程序输出什么?

正确答案:B:5


(2)🔍 关键知识点

这道题就考**"位移运算"**

cpp 复制代码
3 >> 2   // 等于 0
8 >> 3   // 等于 1

(3)🧠 故事讲解

想象数字在传送带上:

  • >> 表示 向右挪

  • 挪一次,相当于 除以 2


(4)🧮 代码分析

cpp 复制代码
int x = 5;
if (x == 3 >> 2)   // 3>>2 = 0

❌ 5 ≠ 0,所以 if 不成立

➡️ x 没变

➡️ 输出 5


(5)🧠 知识点总结

👉 >> 位运算

👉 3级考试必考!



🌟 第 5 题:字符串长度大冒险 📏

(1)📘 题目

cpp 复制代码
string s = "C++ Programming";

s.length() 是多少?

正确答案:B:15


(2) 🧮 数一数

cpp 复制代码
C(1) +(2) +(3) 空格(4)
P(5) r6 o7 g8 r9 a10 m11 m12 i13 n14 g15

(3) 🧠 知识点总结

👉 length():空格也算字符!



🌟 第 6 题:神秘程序的输出 🎯

(1)📘 题目

代码能正常执行,输出结果是?

正确答案:D:4


(2)🧠 提示

这一题本质是:

数组索引 + 变量修改


(3) 提醒大家:

📌 一行一行慢慢看,别跳!

int p = arr1; --> p = 2
(p + 2) --> p = 2 + 2 = 4



🌟 第 7 题:min 函数小法官 ⚖️

(1) 📘 题目

关于 min() 函数,说法哪个是错的?

正确答案:D


(2) 🧠 故事讲解

min 是个小裁判:

cpp 复制代码
min(3, 5)   // 返回 3

❌ 错误选项

cpp 复制代码
min()   // ❌ 没有参数,编译直接报错

(3)🧠 知识点总结

👉 函数 必须要传对参数



🌟 第 8 题:unsigned int 的地盘 🏠

(1)📘 题目

unsigned int 占 2 字节,能表示的范围是?

正确答案:A:0 ~ 65535


(2)🧮 计算方法

  • 2 字节 = 16 位

  • unsigned(无符号)

  • 最大值 = 2^16 - 1

cpp 复制代码
0 ~ 65535

(3)🧠 知识点总结

👉 unsigned:没有负数

👉 范围公式:2 ^ 位数 - 1


相关推荐
FlightYe13 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
ZhengEnCi13 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考13 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
by2099914 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
Rover Ramble14 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
你怎么知道我是队长15 小时前
C++零基础入门第2周:数据类型、运算符与表达式完全指南(附20段可运行代码+避坑清单)
c++
say_fall15 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
雪落漂泊15 小时前
C++算法 滑动窗口篇(下)
开发语言·c++
夜不会漫长16 小时前
C++:红黑树
数据结构·算法
AI备案指南-满满16 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记