一、选择题第1题:IDE到底是什么?
题目背景
机器人方阵要表演,工程师需要提前写好控制程序。
题目问:
关于 IDE 功能的描述,错误的是哪一个?
选项是:
A. 可以提供代码自动补全,提高编程效率
B. 可以提供辅助信息,帮助排查程序逻辑错误
C. 可以直接控制机器人电机转动
D. 支持语法高亮,使代码更易阅读
答案:C
1. 什么叫 IDE?
IDE 是:
集成开发环境
英文:
Integrated Development Environment
对于小朋友来说,可以把 IDE 想象成:
🏫 “程序员的魔法教室”
我们写 C++ 程序,需要:
写代码
检查代码
编译代码
运行程序
找错误
IDE 就像把这些工具全部放进了一个大教室。
例如我们平时可能使用:
Dev-C++
Code::Blocks
Visual Studio
CLion
VS Code
它们都可以帮助我们写程序。
2. A为什么正确?
IDE可以进行:
代码自动补全
例如我们输入:
couIDE可能提示:
cout这就像:
你只说了“我要去图书……”,朋友已经帮你猜到“图书馆”。
所以 A 正确。
3. B为什么正确?
IDE可以帮助我们发现很多问题。
比如:
int a = 10 cout << a;第一行少了:
;IDE通常会给出提示。
但是要特别注意:
IDE并不能保证帮你发现所有“逻辑错误”。
比如:
int a = 10; int b = 20; cout << a - b;程序完全可以运行。
但是如果你本来想计算:
a + bIDE通常不会知道你的“真正想法”。
所以:
语法错误和逻辑错误不是一回事。
4. D为什么正确?
IDE通常支持:
语法高亮
例如:
int a = 10; cout << a;不同的代码部分会使用不同的显示效果。
这样看代码就像:
给程序穿上不同颜色的衣服。
更容易阅读。
5. C为什么错误?
题目说:
IDE可以直接控制机器人电机转动。
这个说法不准确。
IDE的主要作用是:
帮助我们开发程序。
真正让机器人电机运动,需要:
控制程序 + 控制器/硬件 + 相应接口
IDE本身不是一个“遥控器”。
⭐ 小朋友记忆
把 IDE 记成:
“程序员的工具箱”
它能帮你:
写、改、查、编译、运行程序。
但:
❌ IDE不是机器人遥控器。
所以答案:
第1题:C
二、选择题第2题:计算机的“四个时代”是按照什么划分?
题目给出了:
电子管计算机
晶体管计算机
中小规模集成电路计算机
大规模和超大规模集成电路计算机
问:
划分计算机时代的主要依据是什么?
选项:
A. 运算速度
B. 存储容量
C. 体积大小
D. 核心元器件
答案:
D
想象一下计算机“成长史”
最早的计算机使用:
第一代
电子管
后来:
第二代
晶体管
再后来:
第三代
集成电路
最后:
第四代
大规模、超大规模集成电路
你会发现:
虽然计算机的:
速度
体积
存储能力
都发生了变化。
但是划分这些时代时,最关键的变化是:
计算机内部最核心的电子元件发生了变化。
所以答案是:
D:核心元器件
🧠 记忆口诀
计算机几代史,看的是“心脏”换没换。
不是主要看:
❌ 个头多大
❌ 跑得多快
❌ 存得多少
而是:
✅核心元器件
三、选择题第3题:先算乘法,再算加法
题目代码:
int a = 4 + -2 * 3; cout << a;答案:
A:-2
第一步:观察运算
不要看到:
4 + -2 * 3就从左往右乱算。
C++有自己的:
运算优先级
乘法*
比
加法+
优先。
所以先算:
-2 * 3得到:
-6然后:
4 + (-6)得到:
-2所以:
cout << a;输出:
-2⚠️ 这里还有一个小陷阱
-2可以理解成:
负的2所以:
-2 * 3就是:
-6🧠 小学生记忆口诀
看到:
4 + -2 * 3先别急!
乘除先走,加减后走。
因此:
4 + (-2 × 3) = 4 - 6 = -2答案:
A
四、选择题第4题:%和负数
这道题非常值得认真学习。
题目问:
下列哪个 C++ 表达式,与
2 * -2 % 3的值相同?
选项:
A. (2 * -2) % 3 B. 2 * (-2 % 3) C. 2 * -(2 % 3) D. 2 % -2 * 3答案:
A
第一步:原式到底是什么意思?
原式:
2 * -2 % 3*和%的优先级相同。
当优先级相同时:
从左往右计算。
所以:
2 * (-2)先算。
得到:
-4然后:
-4 % 3得到:
-1所以原式结果:
-1看 A
(2 * -2) % 3先算:
2 * -2 = -4再算:
-4 % 3 = -1和原式一样。
所以:
A正确
那么 B呢?
2 * (-2 % 3)先算:
-2 % 3结果:
-2于是:
2 × (-2) = -4和原来的-1不一样。
所以 B 错。
C呢?
2 * -(2 % 3)先算:
2 % 3 = 2然后:
-2再乘:
2 × (-2) = -4也不一样。
D呢?
2 % -2 * 3从左向右:
2 % -2 = 0然后:
0 × 3 = 0当然也不是-1。
⭐ 这道题真正考什么?
其实考了三个知识点:
①*和%优先级相同
② 同级运算从左到右
③%是取余运算
以后看到:
a * b % c一定要警觉:
乘法和取模同级,从左往右。
答案:
A
五、选择题第5题:看得见的'#"
代码:
int a = 3; int b = 4; printf("%d#%d\n", a, b);答案:
B
第一步:变量定义与赋值
int a = 3; int b = 4;第二步:输出
printf("%d#%d\n", a, b);输出为变量a的值+'#' +变量b的值
输出为 3#4
六、选择题第6题:整数除法和小数除法
代码:
int a = 8; int b = 10; cout << (a % b) << " " << (a * 1 / b) << " " << (a * 1.0 / b);答案:
C:8 0 0.8
第一关:a % b
8 % 10问:
8里面能完整放几个10?
一个都放不进去。
所以余数就是:
8等等!这里要特别小心。
实际上:
8 % 10应该是:
8第二关:a * 1 / b
8 * 1 / 10因为都是整数:
8 * 1 = 8 8 / 10 = 0所以是:
0第三关:a * 1.0 / b
8 * 1.0 / 10
这里出现了:
1.0它是double类型。
于是:
8 × 1.0 = 8.0 8.0 / 10 = 0.8所以完整输出应该是:
8 0 0.8对应:
C
⭐ 这道题的知识点
它是在告诉我们:
8 / 10如果两边都是整数:
= 0而:
8 * 1.0 / 10因为出现了1.0:
= 0.8所以记住:
整数 ÷ 整数 → 整数结果
只要有一个是小数 → 可以得到小数
六、选择题第6题:++b *= 2 + 1
代码:
int b = 8; ++b *= 2 + 1;题目给出的选项是:
A. 18 B. 17 C. 19 D. 27答案:
D
第一步:算右边
2 + 1得到:
3所以变成:
++b *= 3;第二步:理解++b
原来:
b = 8++b是:
先加1,再使用
所以:
b = 9此时:
++b实际上代表的是b本身。
于是:
b *= 3;也就是:
b = b * 3;得到:
b = 9 × 3 = 27所以按照这段代码本身:
答案应该是 D:27
🧠 记忆点
++b就是:
先长大1岁,再做事情。
所以:
8 → 9 → 9×3 → 27答案应该是:
D
🌟 给同学们的“七题通关口诀”
IDE是工具箱,时代看核心;
乘除先计算,同级左到右;
整数除整数,小数要小心;
++先加一,赋值在最后。