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 s[10],定义了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 (str[i] + 3 > 'z') str[i] = 'a' + (str[i] + 3 - 'z') - 1


🎉 考点汇总:

🌟 ~x = -(x+1)

🌟 substr(起点,长度)

🌟 sizeof ≠ strlen

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

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

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


相关推荐
A923A2 小时前
【洛谷刷题 | 第五天】
算法·字符串·递归·洛谷
就不掉头发2 小时前
C++右值与右值引用
开发语言·c++
炸膛坦客2 小时前
单片机/C/C++八股:(十六)C 中 malloc/free 和 C++ 中 new/delete 有什么区别?
c语言·开发语言·c++
CSDN_Colinw2 小时前
C++中的工厂方法模式
开发语言·c++·算法
liulilittle2 小时前
范围随机算法实现
开发语言·c++·算法·lua·c·js
轩情吖3 小时前
MySQL之用户管理
数据库·c++·后端·mysql·权限管理·用户管理
2401_857918293 小时前
C++中的访问者模式实战
开发语言·c++·算法
格林威3 小时前
工业相机图像高速存储(C++版):RAID 0 NVMe SSD 阵列暴力提速,附海康实战代码!
开发语言·c++·人工智能·数码相机·计算机视觉·工业相机·堡盟相机
elseif1233 小时前
CSP-S提高级大纲
开发语言·数据结构·c++·笔记·算法·大纲·考纲