GESP2026年3月认证C++三级( 第一部分选择题(9-15))


太好了,我们继续开启 "C++魔法冒险第二关" 🌟

这次是 第9~15题,难度升级,但我会讲成故事,让小朋友一听就懂!


🌟 第9题:取反魔法(~ 的秘密)

1、📖 题目:哪个说法是错误的?


2、🎬 故事:黑白翻转魔法镜

(1)有一面神奇镜子 ~

👉 0 变 1

👉 1 变 0


(2)就像:

复制代码
00000101(5)
变成
11111010

3、💡 关键知识

👉 在计算机中(补码):

复制代码
~x = -(x + 1)

4、🧪 一个个验证

(1)✅ A:~5 = -6 ✔

复制代码
~5 = -(5+1) = -6

(2)❌ B:~0 = 0 ❌(错!)

复制代码
~0 = -1

👉 因为:

复制代码
00000000 → 11111111 → -1

(3)✅ C:~(-3) = 2 ✔


(4)✅ D:~8 = -9 ✔


5、✅ 答案

👉 B(错误)



🌟 第10题:字符串切片小刀

1、📖 题目:substr(4,2) 得到什么?


2、🎬 故事:切蛋糕 🍰

(1)字符串:

复制代码
"GESP2026"

(2)编号:

复制代码
0:G 1:E 2:S 3:P 4:2 5:0 6:2 7:6

(3)🔪 切法

复制代码
str.substr(4,2)

👉 从第4个开始,切2个

👉 就是:

复制代码
"20"

3、✅ 答案

👉 A. 20



🌟 第11题:数组长度魔法

1、📖 题目:输出 count 是多少?


2、🎬 故事:糖果盒计数 🍬

复制代码
int arr[] = {5,10,15,20,25,30};

一共有 6颗糖


3、💡 原理

复制代码
sizeof(arr) / sizeof(arr[0])

👉 总大小 / 单个大小


4、🧮 计算

复制代码
6个int × 4字节 = 24
24 / 4 = 6

5、✅ 答案

👉 B. 6



🌟 第12题:字符串长度陷阱

1、📖 题目:a - b 等于多少?


2、🎬 故事:字符串盒子 🎁

复制代码
char s[10] = "abcde";

3、💡 两种长度

(1)🟡 sizeof(s)

👉 数组大小 char s10,定义了10个长度,sizeof(s) = 10。


(2)🔵 strlen(s)

👉 实际字符 = 5


4、🧮 计算

复制代码
10 - 5 = 5

5、✅ 答案

👉 B. 5



🌟 第13题:枚举法小侦探

1、📖 题目:哪个不适合枚举?


2、🎬 故事:小侦探破案 🕵️

枚举 = 一个个试!


3、🔍 分析

(1)A ✔

找1~100能被7整除 → 可以试


(2)B ✔

找质数 → 可以试


(3) C ❌

复制代码
1+2+3+...+1000

👉 有公式!

复制代码
n(n+1)/2

👉 不用一个个加!直接出结果


(4)D ✔

三位数 → 可以枚举


4、✅ 答案

👉 **C.**计算 1+2+3+...+1000 的和



🌟 第14题:鸡兔同笼 🐔🐰

1、📖 题目:哪种枚举最合理?


2、🎬 故事

鸡:2条腿

兔:4条腿

总头:35

总脚:94

要选最聪明的方法。


3、🧠 最聪明方法

👉 只枚举一个变量!

复制代码
for(x=0;x<=35;x++)
{
    y = 35 - x;
    判断脚数
}

4、❌有点笨的方法

枚举两个变量 → 有些慢!


✅ 答案

👉 **A.**枚举鸡的数量 x (0~35),兔的数量 y=35-x ,判断 2*x + 4*y == 94



🌟 第15题:凯撒密码守门人 🔐

1、📖 题目:正确判断条件是?


2、🎬 故事

规则:

👉 字符 +3

👉 超过 'z' 要绕回 'a'


3、💡 正确逻辑

👉 关键判断:

复制代码
if(str[i] + 3 > 'z')

4🧠如何处理绕回?

复制代码
str[i] = 'a' + (str[i] + 3 - 'z') - 1;

👉 D、完整处理"绕回"


5、❌ 其他选项问题

  • 没加 +3 判断 ❌

  • 没处理循环 ❌


6、✅ 答案

👉**D.**if (stri + 3 > 'z') stri = 'a' + (stri + 3 - 'z') - 1


🎉 考点汇总:

🌟 ~x = -(x+1)

🌟 substr(起点,长度)

🌟 sizeof ≠ strlen

🌟 枚举法适合"小范围试"

🌟 鸡兔问题 → 枚举一个变量

🌟 字符加密 → 注意"循环"


相关推荐
ShineWinsu8 小时前
对于C++:C++11中lambda、function、bind的解析
c++·面试·笔试·开发·lambda·bind·function
码匠许师傅8 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
旖旎夜光9 小时前
LeetCode 3:无重复字符的最长子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
汉字萌萌哒9 小时前
2024CSP-J入门级C++真题详解
开发语言·c++
hy.z_7779 小时前
【C++】13. 继承
c++
汉字萌萌哒10 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
2401_8906034010 小时前
C++ 继承
c++
果果燕11 小时前
C++ 学习笔记(二):类与对象—— 构造函数与析构函数
开发语言·c++
老洋葱Mr_Onion11 小时前
【C++】信息学奥赛CSP通关之路——CSP-J/S第一轮原创全真模拟试卷集(2026)卷四全卷解析
开发语言·c++
布莱克60512 小时前
理解 C/C++ 中的 void* 指针
c语言·c++