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 = arr[1]; --> 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 int2 字节,能表示的范围是?

正确答案:A:0 ~ 65535


(2)🧮 计算方法

  • 2 字节 = 16 位

  • unsigned(无符号)

  • 最大值 = 2^16 - 1

cpp 复制代码
0 ~ 65535

(3)🧠 知识点总结

👉 unsigned:没有负数

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


相关推荐
一只数据集8 分钟前
柏林道路路面图像数据集-971张沥青与鹅卵石路面图片-训练测试集划分-支持道路材质识别与自动驾驶视觉算法训练
算法·自动驾驶·材质
我不是懒洋洋9 分钟前
【数据结构】二叉树OJ(单值二叉树、检查两棵树是否相同、对称二叉树、二叉树的前序遍历、另一颗树的子树)
c语言·数据结构·c++·经验分享·算法·leetcode·visual studio
wljy112 分钟前
每日一题(2026.4.29) 猫猫与数学
c语言·c++·算法·蓝桥杯·stl·牛客
FreeGo~13 分钟前
手撕C++】内存管理:感受C++的魅力吧
开发语言·c++
sali-tec15 分钟前
C# 基于OpenCv的视觉工作流-章56-OCR
图像处理·人工智能·opencv·算法·计算机视觉·ocr
MicroTech202519 分钟前
微算法科技(NASDAQ:MLGO)混合经典量子算法:赋能数字图像处理的创新路径
科技·算法·量子计算
yu859395821 分钟前
降低OFDM系统PAPR的各种算法及误码率分析
前端·算法
阿Y加油吧24 分钟前
二刷 LeetCode:5. 最长回文子串 & 1143. 最长公共子序列 复盘笔记
笔记·算法·leetcode
大袁同学34 分钟前
【进程间通信】:洞穿边界修管道,映射内存渡进程
linux·c++·管道·进程间通信·ipc
ximu_polaris34 分钟前
设计模式(C++)-行为型模式-责任链模式
c++·设计模式·责任链模式