← 课程目录
第 1 讲 模块一:认识编程

什么是程序

1 / 24
💡
本节课目标
今天你会认识什么是程序,运行第一个 C++ 程序,用 cout 输出文字, 学会修复几个常见错误,并做出一张属于自己的文字名片。
第一段

程序是什么,C++ 从哪来

📖 理论讲解

程序到底是什么

程序就是一组写给电脑的指令:先告诉电脑要做什么, 再让电脑按照顺序一步步执行。

比如做一张个人名片,程序要负责决定输出哪些文字、按什么顺序输出、 最后在屏幕上显示成什么样。今天我们先学最简单的一件事:让程序把文字打印出来。

课堂互动:找出身边的程序
请同学们举 2-3 个生活里的例子:点外卖、设闹钟、游戏角色移动、扫码支付都可以。 试着说出它们的步骤:先输入什么,再处理什么,最后输出什么结果。
📖 理论讲解

C++ 的诞生

C++ 诞生于 1979 年,由丹麦计算机科学家 Bjarne Stroustrup(比亚尼·斯特劳斯特鲁普) 在美国贝尔实验室(Bell Labs)发明。

当时他发现,C 语言速度极快,但程序一旦变大就很难组织和维护。 于是他开始在 C 的基础上加入新的特性,早期称为"带类的 C"(C with Classes)。

1983 年,这个语言正式命名为 C++。 名字来自 C 语言的自增运算符 ++,意思是"比 C 更进一步"。

今天,C++ 广泛用于游戏引擎(Unreal Engine)、操作系统、浏览器、 嵌入式设备等对速度要求极高的领域——这不是 Python 最主要的擅长方向。

Python

发明人:Guido van Rossum

年份:1991 年

文件:.py

执行方式:解释型——逐行读取,边读边跑

擅长:数据分析、脚本、人工智能

VS
C++

发明人:Bjarne Stroustrup

年份:1983 年

文件:.cpp

执行方式:编译型——先整体翻译成机器码,再跑

擅长:游戏、系统软件、高性能程序

📖 理论讲解

我们用什么工具写 C++

写 C++ 需要两样东西:编辑器(写代码的地方)和 编译器(把代码翻译成电脑能执行的机器码)。

  • Dev-C++:把编辑器和编译器打包在一起, 安装一个软件就够了,界面简单,适合入门——我们课程先用这个。
  • GCC:Dev-C++ 内置的编译器,也是 Linux / macOS 上最常用的 C++ 编译器。
  • Visual Studio:微软出品,功能强大,专业开发常用, 安装包较大,等熟练之后可以迁移过去。

Python 里你们用的是 python xxx.py 直接运行; C++ 则是先用编译器把 .cpp 文件"翻译"成程序,再运行翻译好的程序。

💡
为什么需要翻译
电脑真正能执行的不是中文、英文,也不是 cout 这样的代码, 而是非常底层的机器指令。我们可以先把它理解成一长串 01。 人直接写 01 很困难,所以我们写 C++,再让编译器翻译给电脑。
Python 也需要翻译吗
需要。区别在于 C++ 通常是先整体编译,再运行; Python 则是由解释器在运行时一边读,一边翻译和执行。 可以把 C++ 想成"先把整篇文章翻译完再读",把 Python 想成"同声传译"。
⚡ 动手实操 约 10 分钟

Dev-C++ 操作检查表

正式写代码前,先确认每个人都完成下面这些动作:

  1. 新建的是 C++ 源代码文件,不是普通文本文件
  2. 文件已经保存为 hello.cpp,后缀是 .cpp
  3. 文件路径尽量简单,不放在带很多中文或空格的深层文件夹里
  4. 知道 F9 或菜单"运行 → 编译并运行"在哪里
  5. 能分清"写代码的窗口"和"运行结果的黑色窗口"
💡
老师巡视重点
如果有人还没有看到代码编辑窗口,先处理环境;如果已经能保存 .cpp 文件, 再进入 Hello World。第一节课不要急,环境顺了,后面会轻松很多。
第二段

Hello World:认识程序结构

📖 理论讲解

第一个 C++ 程序长什么样

打开 Dev-C++,新建一个文件,保存为 hello.cpp,然后输入下面这段代码:

hello.cpp CPP
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}
📖 理论讲解

逐行解读

代码意思Python 里的对应
#include <iostream> 告诉程序"我要用输入输出功能" 类似导入工具库;Python 的 print() 是内置的
int main() { } 程序的入口,从这里开始执行,固定写法 Python 脚本直接从第一行开始,没有这个
std::cout << "..." 输出内容到屏幕,<< 是"把右边送进去" print("...")
std::endl 换行 Python print() 默认自动换行
return 0; 程序正常结束的信号 Python 脚本跑完自动结束,没有这个
💡
先记住,之后再理解
这节课先把 #include <iostream>int main() 当成固定写法。现在先照着写就好,后面几节课会逐渐讲清楚原理。
快速检查
现在停 1 分钟,口头回答三个问题:main 大概表示什么? cout 是做什么的?文字为什么要放在双引号里?
⚡ 动手实操 约 20 分钟

跟着敲,编译运行

按以下步骤操作:

  1. 把上面的代码一字不差地敲进 Dev-C++(不要复制粘贴,自己敲才有记忆)
  2. F9 或点击菜单"运行 → 编译并运行"
  3. 看到黑色窗口出现 Hello, World!——成功了!
  4. "Hello, World!" 改成你自己的名字,再编译运行一次
⚠️
试试故意出错
删掉某行末尾的分号 ;,再编译,看看报什么错误。 记住错误信息的样子——以后你会经常和它打交道。然后把分号加回来。
C++ 的分号
C++ 中像 std::coutreturn 这样的简单语句后面要加 ;,Python 不需要。 这是初学者最常犯的错误,记住这个区别。
⚡ 动手实操 约 15 分钟

错误侦探:学会读报错

报错不是失败,而是电脑在告诉你"我从哪里看不懂了"。下面三个错误,每次只改一个地方, 编译后观察错误信息,再把代码改回来。

故意改错观察重点修复方法
删掉 return 0; 后面的 ; 错误信息通常会提示某一行附近少了符号 ; 加回来
删掉 "Hello, World!" 后面的双引号 观察错误会不会出现在真正缺符号的后面几行 把成对的 " 补完整
std::cout 改成 std::count 观察电脑如何提示"名字不存在" 把单词拼回 cout
读报错的顺序
先看行号,再看附近有没有少符号,最后检查单词有没有拼错。 今天不要求完全读懂英文报错,只要敢看、会定位。
第三段

cout 探索:输出更多内容

📖 理论讲解

程序的三段式:输入 → 处理 → 输出

所有程序都可以用三句话概括:从哪里拿数据(输入)、 对数据做什么(处理)、把结果告诉用户(输出)。

这节课我们先只做"输出"这一步。后面几讲会依次加上处理和输入,到时候整个三段式就完整了。

cout 可以用 << 连续拼接多个内容, 数字不用加引号,文字要用 " 括起来:

info.cpp CPP
#include <iostream>

int main() {
    // 输出个人信息
    std::cout << "姓名:" << "陈同学" << std::endl;
    std::cout << "年龄:" << 14 << std::endl;
    std::cout << "爱好:" << "打游戏" << std::endl;
    return 0;
}
💡
注释:写给人看的说明
在 C++ 里,// 开头的内容是注释,程序会忽略它,只给人读。 Python 里用 #,C++ 里用 //——功能一样,符号不同。
⚡ 动手实操 约 20 分钟

练习一:打印个人信息

写一个程序,用 cout 打印至少三行,包含你的 姓名、年级和一个爱好。格式随意,自己设计。

示例输出(只是参考,你的内容和格式可以不同):

输出示例 TEXT
姓名:陈同学
年级:初一三班
爱好:打游戏
💡
加一点变化
完成后,把输出顺序改一改,或者多加一行"座右铭"。只要重新编译运行后结果正确, 就说明你已经能控制程序输出的内容了。
第四段

综合练习与课堂收尾

练习 1-2

打印一张个人名片

在练习一的基础上,给你的个人信息加上边框,做成一张"名片"的样子。 用 =- 等字符拼出装饰边框,至少输出 5 行。

要求:

  • 使用 cout 逐行输出
  • 包含姓名、年级、至少一个爱好
  • 上下各有一行边框线

分层目标:

  • 基础版:输出姓名、年级、爱好三行
  • 进阶版:加上标题和上下边框,至少 5 行
  • 挑战版:| 做左右边框,让名片更整齐

参考格式(可以自由发挥):

参考输出 TEXT
=======================
  姓名:陈同学
  年级:初一三班
  爱好:打游戏、看动漫
=======================
加分挑战

让名片更像一张卡片

如果你完成得很快,试着让每一行都有左右边框。注意每一行的长度要尽量接近, 这样看起来才像一张整齐的卡片。网页里中英文混排有时不容易对齐,可以先用英文或拼音练习。

挑战输出 TEXT
+----------------------+
|       NAME CARD      |
| Name: Chen           |
| Class: Grade 7-3     |
| Hobby: Games         |
+----------------------+
课堂展示
完成后,举手展示你的名片!看看同学们设计的边框有什么不同—— 同样的功能,代码可以写出不一样的样子。
💡
下节课预告
下节课,我们让程序学会"记住"一个数字——这就是变量。 届时 cout 输出的不再是固定文字,而是存在变量里的值。