


🌟 第1题:IDE到底是什么?
题目问:
关于 IDE 功能的描述,错误的是哪一个?
选项:
A. 可以提供代码自动补全,提高编程效率
B. 可以提供辅助信息,帮助排查程序逻辑错误
C. 可以直接控制机器人电机转动
D. 支持语法高亮,使代码更易阅读
答案:C
① 什么是 IDE?
IDE 是:
Integrated Development Environment------集成开发环境
这个名字看起来很吓人,其实可以把它理解成:
🏫 "程序员的超级学习桌"
我们写 C++ 的时候,需要很多工具:
-
✏️ 写代码
-
🔍 检查代码
-
▶️ 运行程序
-
🐛 调试程序
-
🎨 给代码上颜色
-
💡 自动提示代码
如果这些工具全部放在一个地方,这就是 IDE。
例如我们平时使用的某些 C++ 编程软件,就属于 IDE 或具有 IDE 功能。
② A 对不对?
A. 代码自动补全
比如你输入:
cou
编辑器可能会提示:
cout
这就像:
🤖 "小朋友,我猜你想输入的是 cout!"
所以:
A 正确。
③ B 对不对?
B. 帮助排查程序逻辑错误
IDE 可以提供:
-
断点
-
单步执行
-
查看变量
-
调试信息
例如:
int a = 10;
int b = 20;
int c = a - b;
我们可以一步一步运行,看看:
a = 10
b = 20
c = -10
帮助我们寻找程序的问题。
所以:
B 正确。
④ D 对不对?
D. 语法高亮
比如:
int a = 10;
cout << a;
不同的东西显示成不同颜色,可以让程序更容易阅读。
所以:
D 正确。
⑤ C为什么错?
C. 可以直接控制机器人电机转动
这是一个很容易掉坑的地方!
IDE 是:
写程序、编译程序、调试程序的工具。
它本身并不是机器人电机控制器。
真正控制机器人,需要:
程序
↓
控制系统
↓
硬件接口
↓
电机
所以:
❌ IDE ≠ 电机控制器
因此答案是:
⭐ 第1题:C
🧠 小口诀
IDE管代码,不直接管电机。
🚀 第2题:Cache到底是什么?
答案:B
题目问 Cache 的说法中,正确的是哪一个。试卷给出的选项和答案见原题。
① 先认识电脑里的"储物柜"
可以把电脑想象成一个仓库。
里面有不同大小、不同速度的储物空间:
CPU寄存器
↓
Cache 高速缓存
↓
主存 RAM
↓
硬盘/SSD
一般来说:
越靠近 CPU,速度越快,但容量越小。
② Cache是什么?
Cache 可以翻译成:
高速缓存
CPU 经常需要使用一些数据。
如果每一次都跑到比较慢的主存那里去拿,就会浪费时间。
于是就在 CPU 附近准备一个:
⚡ "小而快的储物柜"
这就是 Cache。
③ B为什么正确?
B:
Cache 通常用于暂存 CPU 频繁访问的数据。
想象:
小明正在做数学题。
他最常用的橡皮、尺子、铅笔,就放在手边。
不用每次都跑到书包里找。
Cache 就有点像:
🧰 CPU 手边的小工具箱。
所以:
B 正确。
④ A为什么错?
A说:
Cache 容量比主存大,速度比主存快。
错在:
Cache 通常比主存小得多。
但是速度更快。
所以应该记成:
Cache:
容量小
速度快
⑤ C为什么错?
C说:
Cache 断电后数据不会丢失。
错。
Cache 属于易失性存储器。
断电之后:
💥 数据就没了。
⑥ D为什么错?
D说:
Cache 比 CPU 寄存器还快。
通常不是这么理解的。
一般来说:
寄存器 > Cache > 主存
越靠近 CPU,速度越快。
🧠 小口诀
Cache:小、快、离 CPU 近,断电数据丢。
所以:
⭐ 第2题:B
🎯 第3题:3 和 3.0 相等吗?
题目代码:
cout << (3 == 3.0);
选项:
A. 1
B. 1.0
C. 0
D. -1
答案:
⭐ A
① 关键:== 是什么?
注意:
=
是赋值。
而:
==
是:
比较两个东西是否相等。
所以:
3 == 3.0
是在问:
"3 和 3.0 相等吗?"
答案:
相等!
② 为什么?
3 是整数:
int
而:
3.0
是浮点数。
虽然它们的数据类型不同,但是数值都是:
3
所以比较结果为:
true
③ true 输出什么?
C++ 默认情况下:
true → 1
false → 0
所以:
cout << (3 == 3.0);
输出:
1
⚠️ 小心一个超级大坑
很多初学者会想:
"一个是 int,一个是 double,怎么可能相等?"
这是错误思维。
比较时重点看:
数值是否相等。
例如:
5 == 5.0 // true
2 == 2.0 // true
7 == 7.0 // true
🎯 第4题:三个 bool 加起来是多少?
题目:
cout << (bool(5) + bool(-5) + bool(5.0));
选项:
A. 0
B. 1
C. 2
D. 3
答案:
⭐ D
这道题非常值得掌握。
① 什么是 bool?
bool 只有两种状态:
true
false
而在 C++ 中:
true = 1
false = 0
② bool(5) 是什么?
5 是一个非零数字。
C++ 中:
非零 → true
所以:
bool(5)
就是:
true
也就是:
1
③ bool(-5)呢?
注意:
负数也是非零!
所以:
bool(-5)
也是:
true
即:
1
④ bool(5.0)呢?
5.0 也是非零:
true
即:
1
所以原式相当于:
1 + 1 + 1
得到:
3
所以答案:
⭐ D
🧠 必须背下来的规律
对于数字转 bool:
0 → false → 0
非0数字 → true → 1
例如:
bool(0) // 0
bool(10) // 1
bool(-10) // 1
bool(3.14) // 1
🌟 魔法口诀
零是假,非零是真。
这是以后学习 if、逻辑运算时非常重要的一条规则。
🌈 第5题:如何判断闰年?
答案:
⭐ A
题目给出的规则是:
能被 4 整除但不能被 100 整除,或者能被 400 整除。
选项 A:
(N % 4 == 0 && N % 100 != 0) || (N % 400 == 0)
① 先理解"能不能整除"
C++ 中:
%
叫:
取模 / 求余数
比如:
10 % 3
结果是:
1
因为:
10 ÷ 3 = 3 ...... 1
如果:
12 % 4
结果:
0
说明:
12 能被 4 整除。
所以:
N % 4 == 0
就是:
N 能被 4 整除。
② 闰年的两条路
题目实际上说:
第一条路:
能被4整除
并且
不能被100整除
对应:
N % 4 == 0 && N % 100 != 0
第二条路:
能被400整除
对应:
N % 400 == 0
两条路满足其中一条即可。
所以用:
||
连接。
完整答案:
(N % 4 == 0 && N % 100 != 0)
||
(N % 400 == 0)
③ 为什么 B 错?
B:
N % 4 == 0 && N % 100 == 0 || N % 400 == 0
注意这里:
N % 100 == 0
表示:
能被 100 整除。
但题目第一条要求的是:
不能被 100 整除。
所以应该:
!=
而不是:
==
④ C为什么错?
C使用的是:
N / 4 == 0
这里是:
/
不是:
%
一个是:
除法
一个是:
求余数
判断"能不能整除"应该想到:
%
而不是 /。
⑤ D为什么错?
D:
(A) && (B)
它要求两部分:
同时成立
但是闰年规则是:
第一种情况成立 或者 第二种情况成立。
所以必须使用:
||
🧠 闰年万能模板
以后看到闰年,直接想到:
(N % 4 == 0 && N % 100 != 0)
||
(N % 400 == 0)
🔥 第6题:if(i)到底是什么意思?
题目代码:
int tot, i;
tot = 0;
for (i = 0; i < 10; i++)
if (i)
tot += 1;
cout << tot;
答案:
⭐ C. 9
原题代码位于试卷第 2 页。
这道题的核心只有一句:
if (i)
是什么意思?
① if(i)就是判断 i 是否为真
还记得刚才的口诀吗?
零是假,非零是真。
所以:
if(i)
相当于:
if(i != 0)
② 循环到底执行哪些 i?
for (i = 0; i < 10; i++)
所以:
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
一共 10 次。
③ 看 if(i)
| i | if(i) |
tot变化 |
|---|---|---|
| 0 | 假 ❌ | 不变 |
| 1 | 真 ✅ | +1 |
| 2 | 真 ✅ | +1 |
| 3 | 真 ✅ | +1 |
| 4 | 真 ✅ | +1 |
| 5 | 真 ✅ | +1 |
| 6 | 真 ✅ | +1 |
| 7 | 真 ✅ | +1 |
| 8 | 真 ✅ | +1 |
| 9 | 真 ✅ | +1 |
除了:
i = 0
其他全部执行:
tot += 1;
所以一共执行:
9次
最终:
tot = 9
答案:
⭐ C
🧠 这里一定要建立一个"条件翻译器"
以后看到:
if(x)
脑袋里自动翻译:
if(x != 0)
看到:
if(!x)
可以理解成:
if(x == 0)
这个技巧在 GESP 选择题里非常有用。
🚂 第7题:双重循环,到底执行多少次?
题目:
int n, tot, i, j;
cin >> n;
tot = 0;
for (i = 1; i < n; i++)
for (j = 1; j < i; j++)
tot += 1;
cout << tot;
题目特别告诉我们:
输入
4
答案:
⭐ B. 3
原题代码位于试卷第 2 页。
① 第一层循环
for (i = 1; i < n; i++)
因为:
n = 4
所以:
i = 1
i = 2
i = 3
② i = 1时
第二层:
for (j = 1; j < i; j++)
变成:
for (j = 1; j < 1; j++)
一开始:
1 < 1
是假。
所以:
一次都不执行。
③ i = 2时
变成:
for (j = 1; j < 2; j++)
只有:
j = 1
执行一次。
所以:
tot = 1
④ i = 3时
变成:
for (j = 1; j < 3; j++)
于是:
j = 1
j = 2
执行两次。
所以:
tot = 1 + 2
= 3
最终:
cout << tot;
输出:
3
所以:
⭐ 第7题答案:B
🧠 把第7题画成"小楼梯"
这其实就是:
i=1: 0次
i=2: 1次
●
i=3: 2次
● ●
总次数:
0 + 1 + 2 = 3
这就是非常经典的:
双重循环 + 循环次数分析题。
🎯 7道题一次性总结
现在把今天的"七颗宝石"装进我们的知识背包:
| 题号 | 核心知识 | 答案 | 记忆方法 |
|---|---|---|---|
| 1 | IDE | C | IDE管代码,不直接管电机 |
| 2 | Cache | B | Cache:小、快、靠近CPU |
| 3 | == |
A | 3 == 3.0 为真,输出1 |
| 4 | bool | D | 零是假,非零是真 |
| 5 | 闰年 | A | %判断整除,&&与,` |
| 6 | if(i) |
C | if(i)≈if(i!=0) |
| 7 | 双重循环 | B | 一层一层数执行次数 |
🌟 最后送给同学们一张"考场魔法卡"
魔法1:看到 %
想到:
余数
例如:
n % 4 == 0
就是:
能被4整除。
魔法2:看到 if(x)
想到:
x是不是非0?
if(x)
≈
if(x != 0)
魔法3:看到 bool
记:
0是假,非0是真。
0 → false → 0
1 → true → 1
-5 → true → 1
3.14 → true → 1
魔法4:看到 &&
记:
并且
两边都要满足。
看到:
A && B
就是:
A和B必须同时成立。
魔法5:看到 ||
记:
或者
满足一个就可以。
魔法6:看到双重 for
千万不要急着算。
先问自己:
外层循环每一次,内层到底执行几次?
像第7题:
i=1 → 0次
i=2 → 1次
i=3 → 2次
总共 = 3次
这比直接"凭感觉猜答案"可靠得多。
🏆 今天应该掌握的知识链条
IDE
↓
程序开发环境
Cache
↓
计算机基础
== / bool
↓
条件判断
% / && / ||
↓
逻辑表达式
if
↓
分支
for
↓
循环
双重 for
↓
循环次数分析
如果这条知识链真正掌握,后面的判断题、阅读程序题乃至编程题都会轻松很多。





