2025 冬季 InfiniTensor 训练营|C++ 实践课(一)
"学编程"这件事,跟学中文、学英文是一个道理——不是靠背字典学会说话的,是靠"用"学会的。
所以这次冬季训练营 C++ 实践课,我们不念 PPT,不画架构图,打开电脑,现场写代码。 从新建一个文件夹开始,一步步搭项目,就跟你平时真正写代码一模一样。
整套课一共 4 节,今天是第一节,默认零基础,从最简单的地方讲起。
先把装备备齐
写 C++ 之前,得先搞定两个东西:WSL 和 VS Code。
WSL(Windows Subsystem for Linux):在你的 Windows 里塞一套 Linux 系统,不用装双系统,不用重启,打开就能用 Linux 的命令行。
那个黑底白字的窗口,就是终端(Terminal)。
你肯定在电影里见过——黑客啪啪啪敲几行代码,屏幕上刷一堆绿字,然后系统就被黑了。那个画面,就是终端。创建文件、编译代码、运行程序,敲一行命令就搞定,图形界面得点五六下。
VS Code 是个写代码的编辑器,免费、轻量、插件多。
在终端里进入项目文件夹后,输入一句 code .,当前文件夹就直接在 VS Code 里打开了。
而且 VS Code 自带终端,在里面敲 Linux 命令,跟系统终端效果一致。
记住这 5 个命令
这节课用到的 Linux 命令就 5 个,全是英文缩写,看一眼就记住了:
| 命令 | 英文全称 | 用途 |
|---|---|---|
| ls | list | 列出当前目录下的所有文件与文件夹 |
| cd 目录名 | change directory | 进入指定目录 |
| mkdir 文件夹名 | make directory | 新建文件夹(目录) |
| cat 文件名 | concatenate | 在终端直接查看文件内容 |
| code . | — | 用 VS Code 打开当前目录 |
来,跟着做一遍,30秒搞定:
- 输入
mkdir playground创建项目文件夹 - 输入
cd playground进入该文件夹 - 输入
ls查看,文件夹为空,说明创建成功
就这么简单。你已经完成了程序员日常工作的第一步:建项目。
写下你的第一行 C++ 代码
先搞懂一件事:C++是编译型语言
你写的代码,计算机看不懂。它只认识 0 和 1。
所以 C++ 代码写完之后,得经过一个编译器,把你写的"人话"翻译成机器能跑的"机器话"(二进制指令)。这个过程叫编译。
流程就是:写代码 → 编译 → 运行。
创建第一个文件
在 playground 文件夹里,新建一个文件叫 main.cpp。
.cpp 是 C++ 最常用的文件后缀,可以理解成"这是个 C++ 文件"的标记,跟 .jpg 是图片、.mp3 是音乐一个道理。
Hello World,启动!
打开 main.cpp,把下面这段代码敲进去:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World" << endl;
return 0;
}
然后编译运行,终端上会蹦出一行:
Hello World
恭喜你,你已经是一个能写 C++ 的人了。
这几行到底在干嘛?
| 代码 | 它在干嘛 |
|---|---|
#include <iostream> |
引入输入输出库,必须写,否则无法使用 cout/cin |
using namespace std; |
使用标准命名空间,简化代码书写 |
int main() |
程序入口函数,程序从这里开始执行 |
cout |
C++ 标准输出,用于在终端打印内容 |
<< |
流式输出符号,把内容传给输出流 |
endl |
换行,让输出更整洁 |
return 0; |
告诉操作系统:"我正常结束了" |
变量:给数据找个"盒子"装起来
写程序免不了要存数据。C++ 里存数据的容器叫变量。
可以把变量想象成一个贴了标签的盒子:盒子有类型(只能装特定的东西),标签是名字(方便你找它)。
两种最常用的数据类型:
int(integer):整数类型(如 0、1、100、-5)double:双精度浮点数,存小数(如 3.14、2.72)
为什么有两种?因为计算机存整数和存小数的方式不一样。
double 精度比另一个叫 float 的更高。
怎么用?
运行
#include <iostream>
using namespace std;
int main() {
double x = 3.14;
double y = 2.72;
cout << x + y << endl;
return 0;
}
输出:5.86
重点来了:变量建议要初始化!
就是声明的时候就给它赋个值。不赋初值会出现"未定义行为(undefined behavior)",结果不可预测。
格式记好:类型 变量名 = 初始值;
让程序跟你"聊天":cin
上面的程序只能单向输出,像个广播。如果你想让用户输入点什么呢?用 cin。
cin 是 C++ 标准输入流,可以理解成程序在等你打字。
来看个完整的例子:
#include <iostream>
using namespace std;
int main() {
int x, y;
cout << "请输入x的值:";
cin >> x; // 程序停在这里,等你输数字、按回车
cout << "请输入y的值:";
cin >> y;
cout << "x = " << x << endl;
cout << "y = " << y << endl;
cout << "x + y = " << x + y << endl;
return 0;
}
运行之后,终端会显示:
请输入x的值:5
请输入y的值:3
x = 5
y = 3
x + y = 8
注意看符号:cout 用 <<(往外送),cin 用 >>(往里收)。箭头方向就是数据流动的方向,特别好记。
本节课的收获
- C++ 开发完整流程:新建文件 → 编写代码 → 编译 → 运行。
- 命令行是编程基础,可高效管理文件与控制程序。
- 变量必须声明类型,尽量初始化,避免未定义行为。
cout负责输出内容,cin负责读取输入,实现人机交互。- 代码修改后一定要重新编译,否则运行结果不会更新。
写在最后
今天你已经跑通了第一个 C++ 程序,认识了终端,学会了变量和输入输出。这就是所有复杂程序的起点。
学编程没有捷径,但有正路——就是动手写。
本次课程回放可访问 InfiniTensor 官网:https://www.infinitensor.com 查看,或点击【阅读原文】跳转。
