Appearance
第2章 计算机基础知识与开发环境
🎯 本章学习目标
读完本章,你将能够:
- ✅ 说出计算机硬件的三大核心部件(CPU、内存、硬盘)及其作用
- ✅ 区分输入设备与输出设备,列举典型例子
- ✅ 区分系统软件与应用软件,说出 3 种以上常见操作系统
- ✅ 掌握文件操作的常用快捷键(Ctrl+C/V/X/S、Delete)
- ✅ 记住文件后缀名的含义,知道 C++ 源文件后缀是
.cpp - ✅ 掌握存储单位换算(bit、Byte、KB、MB、GB、TB)
- ✅ 理解二进制的基本概念,能进行简单的十进制转二进制
- ✅ 按顺序说出计算机四代发展的核心元件,知道两位重要人物
- ✅ 理解"编译型语言"的含义,说清源代码→编译→可执行文件的过程
- ✅ 独立安装 Dev-C++ 并配置 C++11 标准
- ✅ 完成"新建→编辑→保存→编译→运行"全流程操作
- ✅ 看懂简单的编译报错,能排查"漏分号""中文标点"等常见错误
- ✅ 理解调试(debug)的基本思路,知道分步排查逻辑错误的方法
🗺️ 本章知识图谱
第2章 计算机基础与开发环境
├── 一、计算机硬件组成
│ ├── 三大核心:CPU(大脑)、内存(办公桌)、硬盘(文件柜)
│ ├── 内存 vs 硬盘:临时/长期、断电丢失/不丢
│ └── 输入设备(键盘鼠标) vs 输出设备(显示器打印机)
├── 二、软件与操作系统
│ ├── 系统软件 vs 应用软件
│ ├── 常见操作系统:Windows、Linux、macOS
│ ├── 文件操作与快捷键:Ctrl+C/V/X/S、Delete
│ └── 文件后缀名:.cpp / .txt / .docx / .mp3 等
├── 三、进制与存储单位 ★
│ ├── 二进制:计算机只认识 0 和 1
│ ├── 位 bit 与字节 Byte:1 Byte = 8 bit
│ ├── 存储单位换算:KB / MB / GB / TB(1024进制)
│ └── 十进制转二进制:除2取余,逆序排列
├── 四、计算机发展史
│ ├── 第一代:电子管 (1946, ENIAC)
│ ├── 第二代:晶体管
│ ├── 第三代:集成电路(IC)
│ ├── 第四代:大规模/超大规模集成电路(我们现在)
│ ├── 重要人物:冯·诺依曼(体系结构)、图灵(图灵测试)
│ └── bug 的由来:飞蛾的故事
├── 五、C++ 与 Dev-C++
│ ├── 什么是编译型语言
│ ├── 源代码 → 编译 → .exe可执行文件 → 运行
│ ├── Dev-C++ 界面四区:菜单/工具/编辑/编译
│ └── 新建(Ctrl+N)、保存(Ctrl+S)
└── 六、编译、运行与调试
├── F9:只编译(翻译)
├── F10:只运行
├── F11:编译+运行(最常用)
├── 编译报错怎么办:看行号、改第一个错
└── 调试(debug):分步找逻辑错误的方法一、计算机的"身体":认识硬件组成
1.1 主机里的三位"主角"
计算机的硬件就像人的身体,其中最重要的三位"主角"都住在主机里:
| 部件 | 生活比喻 | 作用 | 特点 |
|---|---|---|---|
| CPU(中央处理器) | 电脑的"大脑" | 负责运算和控制,电脑每秒几十亿次的计算都靠它 | 越"聪明"越快,是最核心的部件 |
| 内存(内存储器) | 电脑的"办公桌" | 临时存放正在处理的数据和程序 | 桌面铺得越开(内存越大),同时干的活越多;一关电,桌上的东西全没了 |
| 硬盘(外存储器) | 电脑的"文件柜" | 长期保存文件、照片、软件 | 柜子里的东西断电也不会丢;容量大但速度比内存慢 |
🧠 小剧场:你写作业时,课本从**文件柜(硬盘)里拿出来,摊在办公桌(内存)**上,**大脑(CPU)**飞快地思考做题。关机就像"放学清桌"——办公桌(内存)被擦得干干净净,但文件柜(硬盘)里的课本一样都不少!
高频考点 🔥:
- CPU 是计算机的"大脑",负责运算和控制,是最核心的部件;
- 内存临时存储、速度快、断电数据丢失;硬盘长期存储、断电数据不丢——"内存像办公桌,硬盘像文件柜"是经典判断题。
🏆 考点深挖:内存 vs 硬盘(判断题高频坑)
| 对比维度 | 内存(RAM) | 硬盘(Disk) |
|---|---|---|
| 作用 | 临时存放正在运行的程序和数据 | 长期保存所有文件和软件 |
| 速度 | 很快(直接和 CPU 打交道) | 较慢(机械转动 / 读写延迟) |
| 容量 | 较小(常见 8G、16G、32G) | 很大(常见 512G、1T、2T) |
| 断电后 | 数据全部丢失 ✨ | 数据完好保留 ✅ |
| 生活比喻 | 办公桌(摊开正在看的书) | 书架 / 文件柜(所有书都在里面) |
⚠️ 判断题"挖坑"常见说法:
- ❌ "内存可以长期保存数据" → 错!内存断电就清空
- ❌ "硬盘速度比内存快" → 错!内存快得多
- ❌ "关机后硬盘数据全部丢失" → 错!硬盘是长期存储
- ✅ "正在运行的程序放在内存里" → 对
1.2 输入设备与输出设备 ⭐
计算机和人之间要"你来我往",设备按"信息往哪儿流"分成两大类:
- 输入设备:把信息送进电脑(人 → 电脑),像我们用嘴巴说话;
- 输出设备:把电脑处理的结果送出来(电脑 → 人),像别人把答案讲给我们听。
| 类别 | 作用 | 常见设备 |
|---|---|---|
| 输入设备 | 向电脑输入信息 | 键盘、鼠标、麦克风、摄像头、扫描仪、手写板 |
| 输出设备 | 把结果输出给人 | 显示器、打印机、音箱、耳机、投影仪、绘图仪 |
高频考点 🔥:
- 键盘、鼠标是输入设备;显示器、打印机是输出设备——这是一级考试最高频的判断题原话。
- 记忆小窍门:"输进去"用手(敲键盘、点鼠标),"输出来"用眼耳(看屏幕、听声音、拿打印纸)。
易错点 ⚠️: 触摸屏比较特殊——手指点按时它是输入设备,显示画面时它又是输出设备,所以"既是输入又是输出"。考试遇到"下列属于输入设备的是",老老实实选键盘或鼠标最保险。
🎮 互动小练习:分类连连看
请把下面的设备拖到对应的篮子里:
设备:键盘 显示器 鼠标 打印机 音箱 扫描仪 麦克风 投影仪
| 输入篮子 📥 | 输出篮子 📤 |
|---|---|
| 键盘、鼠标、扫描仪、麦克风 | 显示器、打印机、音箱、投影仪 |
二、计算机的"灵魂":软件与操作系统
光有身体没有灵魂可不行。计算机的"灵魂"就是软件——各种程序和数据的总称。软件分两大类:
| 大类 | 是什么 | 例子 | 生活比喻 |
|---|---|---|---|
| 系统软件 | 管理整台电脑、为其他软件服务的"大管家" | 操作系统:Windows、Linux、macOS | 学校的校长和规章制度 |
| 应用软件 | 为完成具体任务而安装的软件 | 微信、浏览器、画图、Dev-C++、WPS | 语文老师、美术老师等各司其职 |
操作系统是最重要的系统软件,我们开机后看到的第一个"大管家"就是它。常见的操作系统有:
- Windows:大多数家用电脑和考试机房用的都是它;
- macOS:苹果电脑的操作系统;
- Linux:程序员和服务器常用的开源系统。
🔗 前后关联:GESP 三级会学到更多关于操作系统、数据存储的知识;四级开始接触文件操作,到时候你会更深入地理解"文件存在硬盘上"这句话的含义。
2.1 操作系统的基本操作
| 操作 | 怎么做 | 快捷键 |
|---|---|---|
| 认识桌面 | 开机后看到的整个屏幕背景叫桌面,上面的小图片叫图标 | — |
| 新建文件/文件夹 | 在空白处点右键 → 新建 | — |
| 复制 | 选中文件后"复印"一份,原件还在 | Ctrl + C |
| 粘贴 | 把复制/剪切的内容放到目标位置 | Ctrl + V |
| 移动文件 | 方法一:按住左键拖动;方法二:剪切后粘贴 | Ctrl + X → Ctrl + V |
| 删除文件 | 选中后删除,先进回收站,还能还原 | Delete |
| 保存文件 | 把写好的内容存进硬盘,不怕断电 | Ctrl + S |
| 撤销 | 撤销上一步操作 | Ctrl + Z |
| 全选 | 选中当前所有内容 | Ctrl + A |
文件夹就像分层书包:大文件夹里放小文件夹,小文件夹里再放文件,整整齐齐。文件都有自己的"家庭住址"(路径),例如 D:\C++作业\hello.cpp,一层一层就能找到它。
高频考点 🔥:快捷键组合是选择题常客:
- 复制 Ctrl+C → 粘贴 Ctrl+V(原件保留,得到"双胞胎");
- 剪切 Ctrl+X → 粘贴 Ctrl+V(原件搬走,等于"移动");
- 保存 Ctrl+S(写代码时每隔一会儿就按一次!);
- 删除 Delete(先去回收站,清空才彻底消失)。
💡 记忆口诀:C=Copy(复制)、V=粘贴的形状像个夹子、X=剪刀(剪切)、S=Save(保存)、Z=往回走(撤销)。
2.2 文件后缀名:文件的"身份标签"
每个文件名都由"主文件名 + 小圆点 + 后缀名"组成,如 hello.cpp。后缀名(扩展名)告诉电脑:"我是什么类型的文件,该用什么软件打开我"。
| 后缀名 | 文件类型 | 用什么软件打开 |
|---|---|---|
.cpp | C++ 源代码文件(我们写的程序!) | Dev-C++、VS Code |
.txt | 文本文件 | 记事本 |
.docx | Word 文档 | Microsoft Word |
.exe | 可执行文件 | 双击直接运行 |
.mp3 | 音频(音乐) | 音乐播放器 |
.mp4 | 视频 | 视频播放器 |
.jpg / .png | 图片 | 画图、看图软件 |
易错点 ⚠️:
- C++ 程序文件的后缀名是
.cpp(c plus plus 的缩写),这是 C++ 方向必考点!- 随意改后缀名(如把
.mp3改成.jpg)并不能真的转换文件内容,文件反而会打不开。- 如果电脑看不到后缀名,可在文件夹"查看"菜单里勾选"文件扩展名"让它显示。
三、进制与存储单位(📚 拓展 · 超纲)⭐
📚 拓展 · 超纲:按 GESP 考纲,一级对硬件只要求"了解计算机的基本构成";进制转换属于三级、存储单位概念属于二级,一级不作要求。本节内容对理解计算机很有帮助、历年真题也偶有涉及,故保留,但请把它当作"拓展阅读",不必当作一级必背重点。
学编程必须懂一点"计算机的数学"——计算机只认识 0 和 1,所有数据在它眼里都是一串二进制数字。这一节我们就来搞懂:二进制是什么?存储单位怎么换算?十进制怎么转二进制?
3.1 二进制:计算机的"母语"
我们人类日常使用的是十进制——满十进一,每位可以是 0~9 十个数字。
而计算机里只有**"通电"和"断电"两种状态,所以计算机天生使用二进制**——满二进一,每位只能是 0 或 1。
| 进制 | 规则 | 每位可选数字 | 生活例子 |
|---|---|---|---|
| 十进制 | 满十进一 | 0,1,2,3,4,5,6,7,8,9 | 数数、花钱、考试分数 |
| 二进制 | 满二进一 | 0, 1 | 开关、灯亮灯灭、计算机内部 |
🍎 生活比喻:十进制就像我们有十根手指头,数到十就得进位;二进制就像一盏灯,只有"亮(1)"和"灭(0)"两种状态,要表示更大的数,就得用多盏灯排在一起。
二进制的每一位叫一个 bit(比特),是计算机里最小的信息单位——它只能存一个 0 或一个 1。
3.2 字节 Byte:8 个比特凑一组
一个 bit 太小了,只能表示 0 或 1。计算机为了方便管理,把 8 个 bit 组成一组,这一组就叫一个 Byte(字节)。
1 Byte = 8 bit
一个字节能存多少种不同的信息呢?8 位二进制,每位 2 种选择,一共是 2⁸ = 256 种不同的组合——足够放下所有英文字母、数字和常用符号了(这就是我们后面要学的 ASCII 编码)。
| 单位 | 英文 | 大小关系 | 能存什么 |
|---|---|---|---|
| 位 | bit (b) | 最小单位,0 或 1 | 一个开关的状态 |
| 字节 | Byte (B) | 1 Byte = 8 bit | 一个英文字母 / 一个数字 |
⚠️ 注意区分大小写! 小写的
b是 bit(比特),大写的B是 Byte(字节)。网速里说的 100Mbps 是 100 mega bits per second(每秒100兆比特),而文件大小说的 100MB 是 100 mega bytes(100兆字节),差了 8 倍哦!
🏆 考点深挖:存储单位换算表
字节还是太小了,存不了多少东西。就像我们用"克、千克、吨"来衡量重量一样,计算机也有一套更大的存储单位,它们之间的换算关系是 1024(因为 1024 = 2¹⁰,正好是二进制的整数次幂)。
| 单位 | 英文 | 换算关系 | 大概能存什么 |
|---|---|---|---|
| 字节 | B (Byte) | 基础单位 | 1 个英文字符 |
| 千字节 | KB | 1 KB = 1024 B | 一小段文字 |
| 兆字节 | MB | 1 MB = 1024 KB | 一张高清照片 / 一本电子书 |
| 吉字节 | GB | 1 GB = 1024 MB | 一部电影 / 一个大型软件 |
| 太字节 | TB | 1 TB = 1024 GB | 一个大硬盘的容量 |
高频考点 🔥:
- 换算关系:相邻两个大单位之间都是 1024 倍(不是 1000!);
- 1 KB = 1024 Byte,1 MB = 1024 KB,1 GB = 1024 MB;
- 从小到大:B < KB < MB < GB < TB。
💡 记忆口诀:B-K-M-G-T,每次乘 1024。就像"个-十-百-千-万",每次进位换个名字。
🧮 小练习:单位换算连连看
请把左右两边相等的连起来:
| 左边 | 右边 |
|---|---|
| 1 Byte | 1024 GB |
| 1 KB | 8 bit |
| 1 MB | 1024 B |
| 1 GB | 1024 KB |
| 1 TB | 1024 MB |
🔑 点击查看答案
| 左边 | 右边 |
|---|---|
| 1 Byte | → 8 bit |
| 1 KB | → 1024 B |
| 1 MB | → 1024 KB |
| 1 GB | → 1024 MB |
| 1 TB | → 1024 GB |
3.3 十进制转二进制:除 2 取余法 ⭐
考试中常考"把一个十进制数转换成二进制",有一个标准方法叫**"除 2 取余,逆序排列"**。
规则:把十进制数反复除以 2,记录每次的余数,直到商为 0,然后把余数从下往上倒着写出来,就是二进制结果。
举个例子:把 10 转换成二进制
10 ÷ 2 = 5 余 0 ↑
5 ÷ 2 = 2 余 1 │
2 ÷ 2 = 1 余 0 │ 从下往上读
1 ÷ 2 = 0 余 1 │(逆序排列)
─────────────
结果:1010(二进制)所以十进制的 10 = 二进制的 1010。
我们来验证一下:二进制 1010 从右往左(第 0 位、第 1 位……):
- 第 0 位:0 × 2⁰ = 0 × 1 = 0
- 第 1 位:1 × 2¹ = 1 × 2 = 2
- 第 2 位:0 × 2² = 0 × 4 = 0
- 第 3 位:1 × 2³ = 1 × 8 = 8
加起来:0 + 2 + 0 + 8 = 10 ✅ 正好对得上!
高频考点 🔥:
- 方法名:除 2 取余,逆序排列(这八个字是选择题标准答案);
- 最后一个余数是二进制的最高位(最左边那一位);
- 一级常考 10 以内、20 以内的小数字转换,建议把 1~10 的二进制记熟。
📋 1~10 的二进制速查表
| 十进制 | 二进制 | 十进制 | 二进制 |
|---|---|---|---|
| 1 | 1 | 6 | 110 |
| 2 | 10 | 7 | 111 |
| 3 | 11 | 8 | 1000 |
| 4 | 100 | 9 | 1001 |
| 5 | 101 | 10 | 1010 |
💡 观察规律:2 的幂次方(2、4、8、16...)的二进制都是 1 后面跟若干个 0——
- 2¹ = 2 → 10(1个0)
- 2² = 4 → 100(2个0)
- 2³ = 8 → 1000(3个0)
- 2⁴ = 16 → 10000(4个0)
四、计算机的"成长史":四代发展简览
计算机可不是一开始就这么小巧聪明的,它经历了四代演变,越变越小、越变越快:
| 代次 | 时代 | 核心元件 | 特点 | 代表 |
|---|---|---|---|---|
| 第一代 | 1946年起 | 电子管 | 像灯泡一样的电子管,体积巨大、耗电惊人 | ENIAC(首台通用计算机,重30吨!) |
| 第二代 | 1950年代 | 晶体管 | 晶体管取代电子管,更小、更省电、更可靠 | — |
| 第三代 | 1960年代 | 集成电路(IC) | 把成百上千个元件做在一小块芯片上 | — |
| 第四代 | 1970年代至今 | 大规模/超大规模集成电路 | 一块芯片上集成上亿个元件,**个人电脑(PC)**普及 | 我们的台式机、笔记本、手机 |
4.1 两位"计算机之父"
计算机的发展离不开几位伟大的科学家,一级考试中常考他们的贡献:
| 人物 | 称号 | 主要贡献 |
|---|---|---|
| 艾伦·图灵 Alan Turing | 计算机科学之父、人工智能之父 | 提出"图灵机"理论模型(现代计算机的理论基础);提出"图灵测试"(判断机器是否具有智能的方法) |
| 冯·诺依曼 John von Neumann | 现代计算机之父 | 提出"冯·诺依曼体系结构":计算机由五大部件组成(运算器、控制器、存储器、输入设备、输出设备);采用二进制;存储程序(程序和数据存在内存里) |
🔥 冯·诺依曼体系结构是高频考点,五大部件要记住:运、控、存、输、输(运算器、控制器、存储器、输入设备、输出设备)。我们学的 CPU(运算器+控制器)、内存(存储器)、键盘/鼠标(输入)、显示器(输出)就是这个体系的体现。
💡 巧记区别:图灵是"理论派"——提出了计算机应该是什么样的数学模型;冯·诺依曼是"工程派"——确定了计算机具体怎么造、怎么工作。两人共同奠定了现代计算机的基础。
🐛 趣味故事:bug 的由来
1947年,科学家在一台发生故障的计算机里真的找到了一只飞蛾(bug)卡在继电器元件中!技术人员把这只飞蛾贴在了工作日志上,并标注"第一个真正的 bug"。从此,程序里的错误就被叫做"bug(虫子)",找错误、改错误的过程就叫"debug(调试,捉虫子)"——这个词我们写 C++ 时天天都会用到。
今天,计算机已经融入生活的每个角落:智能手机、智能手表、扫地机器人、自动驾驶汽车、人脸识别、人工智能……它们的"大脑"本质上都是一代代发展起来的计算机。
高频考点 🔥:
- 四代计算机的核心元件顺序要背熟:电子管 → 晶体管 → 集成电路 → 超大规模集成电路;
- 我们现在使用的个人电脑、智能手机属于第四代计算机。
🧩 考法拆解:排序题怎么考
选择题里常考"按时间先后排序",记住两条线索:
- 元件越来越小:电子管(灯泡大)→ 晶体管(指甲盖大)→ 集成电路(芯片级)→ 超大规模集成电路(纳米级)
- 速度越来越快、价格越来越便宜:从只有军队、大学才用得起,到今天人手一部智能手机
💡 送分口诀:电→晶→集→大(电子管、晶体管、集成电路、大规模集成电路),四个字背下来,排序题直接秒杀。
五、认识 C++ 与 Dev-C++
5.1 C++ 是什么?
计算机只认识 0 和 1 组成的"机器语言",人直接写 0 和 1 太痛苦了,于是人们发明了编程语言当"翻译官"。C++ 就是一门世界闻名、功能强大的编程语言,信息学竞赛(如 CSP-J/S)和 GESP 的 C++ 方向都使用它。
C++ 有一个重要身份:它是一门编译型语言。什么意思?打个比方:
🍳 假设你拿着一份中文菜谱,但厨师只听得懂"机器语"。你不能直接把菜谱塞给他,得先请一位翻译官把整本菜谱翻译成机器语,翻译无误后,厨师才能照着做出菜来。
- 你写的 C++ 代码 = 中文菜谱(源代码)
- 翻译官 = 编译器(Compiler)
- 翻译的过程 = 编译(Compile)
- 翻译好的机器语文件 = 可执行文件(.exe)
- 厨师做菜 = 运行程序
这就是 C++ 和很多"说完一句马上做一句"的语言最大的不同:C++ 程序必须先完整编译(翻译)成功,才能运行。
🔍 深度辨析:编译型 vs 解释型(了解即可)
| 对比项 | 编译型语言(C++) | 解释型语言 |
|---|---|---|
| 运行方式 | 先全部翻译成机器码,再一次性运行 | 读一行、翻译一行、执行一行 |
| 翻译工具 | 编译器(Compiler) | 解释器(Interpreter) |
| 运行速度 | 快(翻译好了直接跑) | 稍慢(边翻译边跑) |
| 能否直接运行 | ❌ 必须先编译成功 | ✅ 写完就能跑 |
| 产物 | 生成 .exe 可执行文件 | 不生成独立可执行文件 |
💡 一级只要求掌握" C++ 是编译型语言" 这一点,解释型语言作为拓展了解即可。
5.2 Dev-C++:我们的"编程厨房"
写 C++ 需要一个把"编辑代码 + 编译 + 运行"都集成在一起的软件,叫做集成开发环境(IDE)。Dev-C++是一款免费、轻量的集成开发环境,常用于C++教学和考前练习
安装:从正规网站下载 Dev-C++ 安装包,双击后一路"下一步"即可完成安装;安装时语言可选择"简体中文"。
界面认识:打开 Dev-C++ 后,主要有四个区域——
| 区域 | 位置 | 作用 |
|---|---|---|
| 菜单栏 | 最上方 | "文件""编辑""运行"等所有命令都在这里 |
| 工具栏 | 菜单栏下方 | 一排小按钮:新建、保存、编译、运行、编译运行等 |
| 代码编辑区 | 中间大白区 | 我们敲代码的地方,就像写字的作业本 |
| 编译器窗口 | 下方 | 显示编译结果:成功会提示,报错会在这里列出错误信息 |
5.3 新建与保存源代码文件
| 步骤 | 操作 | 快捷键 |
|---|---|---|
| 新建源代码 | 菜单 文件 → 新建 → 源代码 | Ctrl + N |
| 保存文件 | 菜单 文件 → 保存,文件名用英文,如 hello.cpp | Ctrl + S |
易错点 ⚠️:
- 保存时"保存类型"要选 C++ source(*.cpp),文件名建议用英文和数字(如
test1.cpp),不要用中文名,避免考试系统出问题;- 写代码时随时 Ctrl+S 保存,养成习惯,断电也不慌。
⚙️ 重要配置:开启 C++11 标准
Dev-C++ 默认可能使用较老的 C++ 标准,建议手动开启 C++11:
- 打开菜单:工具 → 编译选项
- 在"编译器"选项卡中,勾选"编译时加入以下命令"
- 在文本框中填入:
-std=c++11 - 点击"确定"保存
🔥 为什么要开 C++11? GESP 考试大纲明确说明"考题以 C++11 标准为准"。开启 C++11 后,一些新语法特性才能正常使用,也和考试环境保持一致。一级阶段虽然用不到太多高级特性,但养成正确配置的习惯很重要。
六、编译、运行与调试:让 C++ 程序"跑起来"
6.1 三个快捷键要分清
代码写好后,Dev-C++ 的"运行"菜单里有三个关键命令:
| 命令 | 快捷键 | 作用 | 生活比喻 |
|---|---|---|---|
| 编译 | F9 | 只翻译,不运行(只检查菜谱翻得对不对) | 把中文菜谱翻译成厨师语,但先不做菜 |
| 运行 | F10 | 只运行(前提是已经编译过) | 直接让厨师做菜(菜谱已经翻译好了) |
| 编译运行 | F11 | 先编译、成功后立刻运行(最常用!) | 翻译完立刻做菜,一步到位 |
高频考点 🔥:Dev-C++ 中"编译运行"的快捷键是 F11,也可以直接点工具栏上的"编译运行"按钮(▶ 形状)。
6.2 编译成功 vs 编译报错
- 编译成功:下方编译器窗口显示类似
编译结果... 错误: 0,随后弹出一个黑底白字的窗口(叫"控制台窗口",同学们爱称"小黑窗"),程序的运行结果就显示在里面。看完按任意键关闭。 - 编译报错:编译器窗口会出现红色的 错误(error) 提示,并告诉你第几行出了什么问题。这时程序不会生成可执行文件,也无法运行。
🔍 编译报错怎么办?别慌! 编译器是个严格的"翻译官",它会大喊:"第 X 行我看不懂!"我们只要:
- 看编译器窗口里的行号,跳到代码对应位置;
- 对照常见错误检查:标点是不是英文半角?语句末尾的分号
;有没有漏?括号、引号是不是成对?单词拼错没有?- 改完后重新按 F11,直到错误数为 0。
易错点 ⚠️:
- 编译报错时,先看第一条错误!有时一个小错误(如漏了分号)会引发后面一大串报错,改掉第一个,后面常自动消失;
- C++ 里所有标点符号(分号、引号、大括号等)都必须是英文半角符号,打成中文标点必报错;
- 程序能运行但结果不对,那不叫编译错误,叫逻辑错误(bug),需要我们调试(debug):一行行检查、对照预期结果,把"虫子"捉出来。
6.3 调试入门:程序能跑但结果不对怎么办?
程序能运行,说明语法没问题、编译通过了。但输出结果和预期不一样——这叫逻辑错误(bug),需要通过调试(debug) 来找到问题。
🍎 生活比喻:编译错误就像"作文里有错别字",老师直接打回去让你改字;逻辑错误就像"作文跑题了"——字都写对了,但内容不对,需要你重新理解题目、调整思路。
调试四步法(一级版)
遇到逻辑错误,不要慌,按这四步来:
| 步骤 | 做什么 | 具体方法 |
|---|---|---|
| 第1步 | 重读题目 | 确认自己真的理解了题目要求,输入是什么?输出应该是什么? |
| 第2步 | 手算样例 | 拿一个简单的例子,自己用纸笔算出正确答案,和程序输出对比 |
| 第3步 | 输出中间值 | 在可疑的地方加 cout 把变量的值打印出来,看看每一步是不是对的 |
| 第4步 | 逐段排查 | 把程序分成几段,一段段注释掉测试,缩小"嫌疑范围" |
💡 一级最常用的调试技巧就是"加 cout"——在你觉得可能出错的地方,把变量的值打印出来,看看是不是和你想的一样。这是最简单也最有效的方法,被称为"printf 调试法"(因为 C 语言里用 printf 打印)。
常见逻辑错误 Top 5
| 排名 | 错误类型 | 具体表现 | 怎么避免 |
|---|---|---|---|
| 1 | 变量初始值错 | 累加器没初始化为 0,结果越算越大 | 定义变量时就想好初始值是多少 |
| 2 | 边界条件错 | 循环多了一次或少了一次(<= 和 < 搞混) | 用小数据手动验证循环次数 |
| 3 | 运算符优先级错 | 该加括号的地方没加,运算顺序不对 | 不确定优先级时,果断加括号 |
| 4 | 变量类型不够大 | int 存不下,结果溢出变成奇怪的数 | 数据大就用 long long |
| 5 | 输入输出格式错 | 多了空格、少了换行、顺序反了 | 仔细对照题目要求的输出格式 |
🔗 后续章节关联:等我们学完变量、循环、分支,你会对这些逻辑错误有更深的体会。现在先记住:调试就是"猜哪里错了 → 验证 → 再猜 → 再验证"的过程,耐心点,虫子总会被捉到的!
🚨 一级三大编译错误速查表
| 错误现象 | 编译器提示关键词 | 最可能的原因 | 怎么改 |
|---|---|---|---|
| 漏写分号 | expected ';' before ... | 上一行语句末尾漏了 ; | 到报错行的上一行末尾补分号 |
| 中文标点 | stray '\xxx' in program | 用了中文的 ;""(), | 检查输入法,切换成英文半角重新打 |
| 名字拼错 | xxx was not declared | 变量名 / cout / cin 拼错了,或漏了头文件 | 检查拼写;确认包含了 <iostream> |
七、动手:在 Dev-C++ 里敲出第一个程序
光说不练可不行!跟着下面六步走,亲手让电脑跟你打招呼:
① 打开 Dev-C++
② 新建:文件 → 新建 → 源代码(Ctrl + N)
③ 在编辑区输入下面的代码(所有符号都是英文半角!)
④ 保存:文件 → 保存(Ctrl + S),命名为 hello.cpp
⑤ 编译运行:运行 → 编译运行,或直接按 F11
⑥ 观察弹出的"小黑窗",看到运行结果就成功啦!输入以下代码(C++11):
cpp
#include <iostream> // 头文件:让程序学会"输入和输出"
using namespace std; // 使用标准命名空间
//int main() { ... }:
//主函数,是程序的唯一入口,程序从这里开始执行
int main() // 主函数:程序从这里开始执行
{
cout << "你好,C++!" << endl; // 输出一行字并换行
cout << "我的第一个程序运行成功啦!" << endl;
return 0; // 告诉系统:程序顺利结束
}按 F11 后,"小黑窗"里会显示:
你好,C++!
我的第一个程序运行成功啦!
--------------------------------
Process exited after 0.05 seconds with return value 0🎉 恭喜!你已经完成了一个 C++ 程序员的"成人礼"!
📌 代码小解读(详细语法后面几章会讲,现在先混个脸熟):
#include <iostream>:引入"输入输出工具箱",没有它程序就不会"说话";int main() { ... }:主函数,程序永远从大括号{ }里的第一行开始执行;cout << "..." << endl;:把引号里的话显示到屏幕上,endl表示换行;- 每条语句末尾都有一个分号
;,就像每句话结尾的句号,漏了会编译报错。
✍️ 拓展任务:三行自我介绍
修改 Hello World 程序,输出三行关于你自己的介绍:
我的名字是XXX
我今年X岁
我喜欢XXX🔑 点击查看参考代码
cpp
#include <iostream>
using namespace std;
int main()
{
cout << "我的名字是小明" << endl;
cout << "我今年10岁" << endl;
cout << "我喜欢编程" << endl;
return 0;
}💡 想输出几行就写几句
cout,每行末尾加endl就会换行。试试改成你自己的信息吧!
八、📝 实战练习
练习题 1(单选题)
题目: 下列设备中,属于计算机输入设备的是( )
A. 显示器 B. 打印机 C. 键盘 D. 音箱
🔑 点击查看答案与解析
答案: C
解析: 输入设备负责把信息送进电脑,键盘、鼠标是最典型的输入设备;显示器、打印机、音箱都是输出设备。
练习题 2(单选题)
题目: 计算机中被称为"大脑"、负责运算和控制的核心部件是( )
A. 内存 B. CPU C. 硬盘 D. 显示器
🔑 点击查看答案与解析
答案: B
解析: CPU(中央处理器) 是计算机的"大脑";内存是"办公桌"(临时存储、断电丢失),硬盘是"文件柜"(长期保存、断电不丢)。
练习题 3(单选题)
题目: 下列关于内存和硬盘的说法,正确的是( )
A. 内存断电后数据不会丢失 B. 硬盘断电后数据会全部丢失 C. 内存临时存储数据,硬盘长期保存数据 D. 硬盘的存取速度比内存快
🔑 点击查看答案与解析
答案: C
解析: 内存像办公桌,临时存放正在处理的数据,断电即丢失;硬盘像文件柜,长期保存、断电不丢,但速度比内存慢。
练习题 4(单选题)
题目: 我们现在使用的个人电脑和智能手机,属于第( )代计算机
A. 一 B. 二 C. 三 D. 四
🔑 点击查看答案与解析
答案: D
解析: 四代计算机核心元件依次是:电子管 → 晶体管 → 集成电路 → 大规模/超大规模集成电路。个人电脑、智能手机属于第四代。
练习题 5(单选题)
题目: 用 C++ 编写的源代码文件,保存时的后缀名是( )
A. .txt B. .cpp C. .docx D. .mp3
🔑 点击查看答案与解析
答案: B
解析: C++ 源代码文件的后缀名是 .cpp;.txt 是文本文件,.docx 是 Word 文档,.mp3 是音频文件。
练习题 6(单选题)
题目: 在 Dev-C++ 中,写完代码后想要"编译并运行"程序,应该按的快捷键是( )
A. F5 B. F9 C. F10 D. F11
🔑 点击查看答案与解析
答案: D
解析: F9 是编译,F10 是运行,F11 是编译运行(最常用);也可以点工具栏上的"编译运行"按钮。
练习题 7(判断题)
题目: C++ 是编译型语言,源代码必须先经过编译翻译成机器语言,才能运行。( )
🔑 点击查看答案与解析
答案: ✅ 正确
解析: C++ 程序需要编译器先把源代码编译成机器语言(可执行文件)才能运行。编译不通过时,要根据编译器窗口的错误提示修改代码,再重新编译。
练习题 8(判断题)
题目: 在 Dev-C++ 中,代码里的分号、括号打成中文标点也没关系,编译器一样能看懂。( )
🔑 点击查看答案与解析
答案: ❌ 错误
解析: C++ 代码中所有标点符号都必须是英文半角符号,使用中文标点会导致编译报错。另外还要注意:语句末尾的分号不能漏、括号引号要成对。
练习题 9(单选题)
题目: 下列操作中,能实现"把文件从一个文件夹移动到另一个文件夹"的是( )
A. 复制 + 粘贴 B. 剪切 + 粘贴 C. 直接删除 D. 重命名
🔑 点击查看答案与解析
答案: B
解析:
- A 复制+粘贴:原件还在,得到一个副本,不是"移动";
- B 剪切+粘贴:原件被"剪下来"贴到新位置,实现了移动;
- C 删除:文件进入回收站,不是移动;
- D 重命名:只改名字,不改变位置。
快捷键:剪切 Ctrl+X,粘贴 Ctrl+V。
练习题 10(判断题)
题目: 程序能运行但输出结果不对,这属于编译错误,需要重新编译。( )
🔑 点击查看答案与解析
答案: ❌ 错误
解析: 能运行说明编译通过了;结果不对叫逻辑错误(bug),需要检查代码逻辑、进行调试(debug),不是重新编译能解决的。编译错误是代码语法有问题、根本跑不起来;逻辑错误是代码能跑,但思路写错了。
练习题 11(单选题)
题目: 下列关于计算机存储单位的说法,正确的是( )
A. 1 KB = 1000 Byte B. 1 Byte = 10 bit C. 1 GB = 1024 MB D. 1 MB = 1024 GB
🔑 点击查看答案与解析
答案: C
解析:
- A 错:1 KB = 1024 Byte(不是 1000)
- B 错:1 Byte = 8 bit(不是 10)
- C 对:1 GB = 1024 MB ✅
- D 错:关系写反了,1 GB = 1024 MB
记忆:从小到大依次是 B → KB → MB → GB → TB,相邻两个之间都是 1024 倍。
练习题 12(单选题)
题目: 十进制数 5 转换成二进制是( )
A. 101 B. 110 C. 100 D. 111
🔑 点击查看答案与解析
答案: A
解析: 用"除 2 取余,逆序排列"法:
- 5 ÷ 2 = 2 余 1
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
余数从下往上读:101。
验证:1×4 + 0×2 + 1×1 = 4 + 0 + 1 = 5 ✅
练习题 13(单选题)
题目: 提出"冯·诺依曼体系结构"的科学家是( )
A. 图灵 B. 冯·诺依曼 C. 爱因斯坦 D. 牛顿
🔑 点击查看答案与解析
答案: B
解析:
- 冯·诺依曼提出了现代计算机的体系结构(五大部件、二进制、存储程序);
- 图灵提出了图灵机理论模型和图灵测试;
- 爱因斯坦是物理学家,牛顿是物理学家和数学家。
记忆窍门:"冯·诺依曼"名字里就带"体系"的感觉——他确定了计算机"长什么样"。
练习题 14(单选题)
题目: 下列不属于冯·诺依曼体系结构五大基本部件的是( )
A. 运算器 B. 控制器 C. 存储器 D. 电池
🔑 点击查看答案与解析
答案: D
解析: 冯·诺依曼体系结构的五大部件是:运算器、控制器、存储器、输入设备、输出设备(口诀:运、控、存、输、输)。电池是供电设备,不属于五大基本部件。
练习题 15(判断题)
题目: 程序能运行但输出结果不对,这时应该通过调试(debug)来找出逻辑错误。( )
🔑 点击查看答案与解析
答案: ✅ 正确
解析: 能运行说明编译通过了,结果不对属于逻辑错误(bug),需要调试(debug)。一级最常用的调试方法是"加 cout 输出中间值",看看每一步变量的值是不是和预期一致。
九、📊 考点总结表
| 考点 | 重要程度 | 出题形式 | 高频易错点 |
|---|---|---|---|
| CPU/内存/硬盘的作用与比喻 | ⭐⭐⭐⭐ | 选择/判断 | 内存断电丢失、硬盘长期保存记反 |
| 输入设备与输出设备区分 | ⭐⭐⭐⭐⭐ | 选择/判断 | 把显示器、打印机误判为输入设备 |
| 系统软件与应用软件、常见操作系统 | ⭐⭐⭐ | 选择/判断 | 不知操作系统属于系统软件 |
| 文件操作与快捷键(Ctrl+C/V/X/S/Z/A、Delete) | ⭐⭐⭐⭐⭐ | 选择/判断 | 复制与剪切效果记反;忘记粘贴步骤 |
| 文件后缀名(.cpp 等) | ⭐⭐⭐⭐ | 选择 | C++ 后缀 .cpp 记不牢 |
| 二进制概念、bit 与 Byte | ⭐⭐⭐⭐ | 选择/判断 | 1 Byte = 8 bit 记反;b 和 B 分不清 |
| 存储单位换算(KB/MB/GB/TB,1024进制) | ⭐⭐⭐⭐ | 选择/计算 | 把 1024 记成 1000 |
| 十进制转二进制(除2取余,逆序排列) | ⭐⭐⭐⭐ | 选择/计算 | 余数顺序搞反(忘了逆序) |
| 计算机四代发展(电子管→晶体管→集成电路→超大规模集成电路) | ⭐⭐⭐⭐ | 选择 | 四代顺序与元件对应错乱 |
| 冯·诺依曼体系结构(五大部件) | ⭐⭐⭐⭐ | 选择 | 五大部件记不全 |
| 图灵与冯·诺依曼的贡献 | ⭐⭐⭐ | 选择/判断 | 两人贡献搞混 |
| C++ 是编译型语言、编译的概念 | ⭐⭐⭐⭐⭐ | 选择/判断 | 以为写完代码能直接运行 |
| Dev-C++ 新建/保存(.cpp)/编译运行(F11) | ⭐⭐⭐⭐⭐ | 选择/实操 | F9/F10/F11 混淆;文件名用中文 |
| 编译报错看错误提示、英文半角符号 | ⭐⭐⭐⭐ | 判断/实操 | 报错不看行号;中文标点导致报错 |
| 调试(debug)基本方法 | ⭐⭐⭐⭐ | 选择/判断 | 混淆编译错误和逻辑错误;不知道怎么调试 |
| C++11 标准配置 | ⭐⭐ | 选择/实操 | 不知道要开 C++11 |
┌──────────────────────────────────────────────────────────────┐
│ ⭐ 第2章必背速记卡(计算机基础与开发环境) │
├──────────────────────────────────────────────────────────────┤
│ 1. 三大硬件:CPU=大脑(运算控制)、内存=办公桌(临时断电丢) │
│ 、硬盘=文件柜(长期断电不丢) │
│ 2. 输入设备:键盘、鼠标;输出设备:显示器、打印机 │
│ 3. 操作系统是系统软件:Windows、Linux、macOS │
│ 4. 快捷键:复制Ctrl+C、剪切Ctrl+X、粘贴Ctrl+V、保存Ctrl+S │
│ 、删除Delete、撤销Ctrl+Z、全选Ctrl+A │
│ 5. C++源文件后缀 .cpp;编译后生成 .exe 可执行文件 │
│ 6. 1字节=8位(1Byte=8bit);存储单位B→KB→MB→GB→TB,每次×1024 │
│ 7. 十进制转二进制:除2取余,逆序排列 │
│ 8. 四代计算机:电子管→晶体管→集成电路→超大规模集成电路 │
│ 9. 冯·诺依曼体系五部件:运算器、控制器、存储器、输入、输出 │
│ 10. 图灵=理论(图灵机/图灵测试),冯·诺依曼=工程(体系结构) │
│ 11. C++是编译型语言:先编译、后运行;F9编译、F10运行、F11全做 │
│ 12. 编译报错看行号,先改第一条错误;标点必须是英文半角 │
│ 13. 编译错误=语法错跑不起来;逻辑错误=跑起来结果错(bug) │
│ 14. 调试四步:读题→手算→加cout看中间值→逐段排查 │
│ 15. Dev-C++要配置 -std=c++11 才能使用C++11标准 │
└──────────────────────────────────────────────────────────────┘📖 下章预告:第3章我们将深入学习 C++ 的编程规范——程序框架、大括号、分号、注释、缩进……这些"交通规则"是写对代码的第一道关卡,也是考试中最容易丢分的地方。准备好了吗?
