C++ 简介:历史、特性、在 C++ 中的应用
这是什么以及为什么需要它?
想象一下,你给机器人下达指令。如果你说“做点什么”,它会不知所措。但如果你说“向左转,走5步,抬起手”——它就会精确地执行所有操作。C++ 就是这样一种语言,你用它对计算机编写非常精确的指令。它就像乐高积木:你自己组装每一个零件,因此可以制作出快速且强大的程序。
为什么要学习它?首先,许多游戏(例如《我的世界》)、浏览器、航天器都是用 C++ 编写的。其次,它能让你像程序员一样思考:你将理解计算机如何存储数字,内存如何工作。这就像不仅知道如何开车,还了解引擎盖下有什么。
即使你是初学者,C++ 也没有看起来那么可怕。我们将从最简单的事情开始——比如编写“你好,世界!”和计算糖果。
语法和代码示例
语法就是语言的规则,就像俄语中的语法。在 C++ 中,每个命令都以分号 ; 结束,代码块用花括号 {} 括起来。让我们看一些实际的例子。
示例 1:你好,世界!
#include <iostream> // 引入输入/输出库
using namespace std; // 这样就不用在 cout 前写 std::
int main() { // 主函数,程序从这里开始
cout << "Hello, world!" << endl; // 在屏幕上输出文本
return 0; // 表示程序成功结束
}
工作原理: #include 就像我们拿来一套现成的工具。int main() 是程序的入口。在 {} 内部编写命令。cout 就像一台“打字机”,用于输出文本。endl 表示换行。
示例 2:计算糖果
#include <iostream>
using namespace std;
int main() {
int candies = 10; // 整数——糖果数量
int friends = 3; // 朋友数量
int each = candies / friends; // 平均分配糖果(整数除法)
cout << "每个人得到 " << each << " 颗糖果" << endl;
return 0;
}
解释: int 是用于整数的数据类型(如 10, 3)。/ 是除法。但这里有个小陷阱:如果用 10 除以 3,结果是 3,而不是 3.33,因为我们处理的是整数。余数(1 颗糖果)会丢失——这一点需要记住!
示例 3:猜数字
#include <iostream>
using namespace std;
int main() {
int secret = 7; // 隐藏的数字
int guess; // 用于存储用户答案的变量
cout << "猜一个 1 到 10 之间的数字:";
cin >> guess; // 读取用户输入的数字
if (guess == secret) { // 如果猜对了
cout << "你赢了!" << endl;
} else { // 否则
cout << "没猜对。数字是 " << secret << endl;
}
return 0;
}
新知识点: cin 就像“麦克风”,用于监听用户的输入。if 用于条件判断。== 是比较运算符(不要与赋值的 = 混淆!)。else 表示“否则”。
示例 4:循环——重复 5 次
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) { // 初始:i=1;条件:当 i<=5;步进:i+1
cout << "行号 " << i << endl;
}
return 0;
}
如何理解: for 就像“重复 5 次”。int i = 1 创建一个计数器。i <= 5 表示只要计数器不大于 5,就继续循环。i++ 表示每次循环后计数器加 1。最终屏幕上会显示 5 行。
示例 5:函数——你自己的助手
#include <iostream>
using namespace std;
// 创建一个按名字打招呼的函数
void greet(string name) { // void 表示函数不返回任何值
cout << "你好, " << name << "!" << endl;
}
int main() {
greet("Anna"); // 用名字 "Anna" 调用函数
greet("Peter");
return 0;
}
核心思想: 函数就像菜谱。你只需编写一次 greet 这个“菜谱”,然后就可以多次使用它。string 是用于文本的数据类型。括号内的 (string name) 是传递给函数的“原料”。
与 Python 的对比
Python 就像口语:“嘿,电脑,做这个。” C++ 则像技术说明书:“将寄存器 AX 取出,写入 5,执行加法。” 让我们通过例子来对比。
| 任务 | C++ | Python |
|---|---|---|
| 输出文本 | cout << "Hello"; |
print("Hello") |
| 输入数字 | cin >> x; |
x = int(input()) |
| 条件判断 | if (x > 0) { ... } |
if x > 0: ... |
| 循环 5 次 | for (int i=0; i<5; i++) |
for i in range(5): |
| 函数 | void f(int a) { ... } |
def f(a): ... |
主要区别:
- 分号: 在 C++ 中,它们是必需的。