

🎯 第1关:数组仓库的箱子
1、题目:
下面数组定义中,会丢失数据的是( )
A.
char dict_key[] = {'p','t','o'};
B.
int dict_value[] = {33,22,11};
C.
char dict_name[] = {'chen','wang','zhou'};
D.
float dict_value[] = {3,2,1};
2、🧠 故事讲解:
数组就像一排储物箱,每个箱子只能装规定的东西。
✅ A:字符箱子装字符
'p' 't' 'o'
每个都是一个字符,没问题!
✅ B:整数箱子装整数
33 22 11
完全正确!
❌ C:字符箱子塞大字符串
'chen'
'wang'
'zhou'
char 只能装 一个字符 ,像 'c'。
这里却塞进一整串字母,就像把西瓜塞进铅笔盒 🍉📦
会丢失数据!
✅ D:小数箱子装数字
float
可以装整数,也能自动变成:
3.0 2.0 1.0
没问题!
✅ 第1题答案:C
🎯 第2关:二进制密码门
1、题目:
二进制:
11011101
不能和它相等的是( )
A. 221(十进制)
B. 335(八进制)
C. dd(十六进制)
D. 5d(十六进制)
2、🧠 故事讲解:
先把二进制变成十进制:
11011101
=128+64+16+8+4+1
=221
3、看选项:
✅ A:221
一样!
✅ B:335(八进制)
换算后也是 221。
✅ C:dd(16进制)
d=13
13×16+13=221
❌ D:5d
5×16+13=93
不是 221!
✅ 第2题答案:D
🎯 第3关:字符串魔法书
1、题目:
下面代码执行后,不能输出 "GESP" 的是( )
A
string str("GESP");
cout << str;
输出 GESP ✅
B
string str = "GESP";
cout << str;
输出 GESP ✅
C
string str("GESP");
cout << str[1] << str[2] << str[3] << str[4];
🧠 重点!
字符串位置从 0 开始:
| 位置 | 字符 |
|---|---|
| 0 | G |
| 1 | E |
| 2 | S |
| 3 | P |
但这里访问了:
cout << str[1] << str[2] << str[3] << str[4]; //索引不正确
超出范围啦!🚨
所以不能正确输出 GESP。
D
string str{"GESP"};
cout << str;
也能输出 GESP ✅
✅ 第3题答案:C
🎯 第4关:神秘代码箱
1、题目结果:
输出是( )
A. 10
B. 8
C. 4
D. 3
答案:C
2、循环判定:
- 外层循环 :
i从1到6(共6次)。 - 内层循环 :
j从1到4(共4次)。 - 条件判断 :
i/j == 2时,temp++。
满足条件的情况:
i=2, j=1→2/1=2i=4, j=2→4/2=2i=5, j=2→5/2=2i=6, j=3→6/3=2
总计4次 ,temp最终值为4
✅ 第4题答案:C
🎯 第5关:数字机关门
1、题目结果:
输出是( )
A. 4
B. 2
C. 5
D. 3
答案:C
2、🧠 故事讲解:
(1)先判断字符串的长度:
cpp
string str = ("chen");
int x = str.length();
长度 x= 4
(2)要看循环次数:
cpp
for(int i =0; i<=x ; i++)
循环次数是0~4,一共是5次。
3、✅ 第5题答案:C
🎯 第6关:字符串长度
1、题目结果:
输出是( )
A. 4
B. 3
C. 2
D. 5
答案:A
2、🧠 故事讲解:
(1) 字符串:"chen" ,有4个字母。
cpp
'c' 'h' 'e' 'n'
(2)length() 就是求string的长度
cpp
str.length() // 等于4
3、✅ 第6题答案:A
🎯 第7关:字符宝箱
1、题目结果:
输出的是( )
A. 输出未知的数
B. 输出 'n'
C. 输出 '\0'
D. 输出空格
答案:A
2、🧠 故事讲解:
(1)string str 所有字符的索引:
cpp
'c' 'h' 'e' 'n' '\0'
0 1 2 3 4
(2)str[5] 越界了
没有这个位置,你确要访问,
这叫:
🚨 越界访问
(3)🌟 所以输出可能乱七八糟
3、✅ 第7题答案:A
🎯 第8关:空气输出术
1、题目结果:
输出是( )
A. 0
B. 1
C. 输出空格
D. 什么也不输出
答案:D
2、🧠 故事讲解:
什么也不输出,说明程序虽然运行了,但没有真正打印内容。
(1)🌟 字符数组 ch [ ] 的构成:
cpp
'1' '\0' '\0''\0' '\0' '\0' '\0' '\0' '\0' '\0'
0 1 2 3 4 5 6 7 8 9
(2) ch[2] 对应的是'\0'
所以什么也不会输出。
打印空字符串,看不到内容。
3、✅ 第8题答案:D
🎁 今日知识宝箱
🌟 数组口诀
什么类型装什么货,
装错东西会出祸!
🌟 字符串口诀
下标从0开始排,
超出范围别乱来!








