← 目录 / C++ 编程语法

一、基础框架

从第一行代码出发,认识 C++ 程序的骨架结构,理解每一行代码的含义,以及代码从源文件到可执行程序的完整旅程。

第一个程序

在正式开始写代码之前,先来认识 C++ 程序的基本结构。就像写文章需要有开头、正文、结尾,C++ 程序也有它固定的骨架。

下面是我们的第一个 C++ 程序——它会在屏幕上输出 Hello, World!

C++
1#include<iostream> // ① 引入头文件(工具箱)
2using namespace std; // ② 使用标准命名空间
3
4int main() // ③ 主函数:程序从这里开始
5{
6 cout << "Hello, World!"; // ④ 输出文字
7 return 0; // ⑤ 程序正常结束
8}
💡
竞赛小技巧:竞赛编程中可以用万能头文件 #include <bits/stdc++.h> 代替所有标准头文件。它只在 GCC 编译器下有效(大多数 OJ 平台支持),但不是 C++ 标准的一部分,工程项目中不建议使用。另外,它会增加编译时间,在部分严格限制编译时间的竞赛中需要留意。

程序结构详解

上面的程序每一行都有特定的含义,我们来逐行理解:

代码 含义说明
#include<iostream> 加载输入输出流头文件,让程序能使用 cout / cin 等功能
using namespace std; 声明使用标准命名空间,这样就不用每次都写 std:: 前缀了
int main() 主函数,是程序的入口。程序运行时,会从 main() 开始执行
{ } 花括号包裹函数体(要执行的代码块)
cout << "..." 向屏幕输出内容,<< 是插入运算符
return 0; 结束主函数,0 代表程序正常退出
⚠️
注意:每条 C++ 语句必须以分号 ; 结尾,忘记分号是初学者最常见的错误!

注释

注释是写给看的说明文字,程序运行时会被自动忽略。C++ 支持两种注释方式:

单行注释 //

// 开始,直到该行末尾,整行都是注释。

多行注释 /* ... */

/**/ 包裹,可以跨越多行,适合写较长的说明。

C++ · 注释示例
1// 这是单行注释,从 // 开始,到行尾结束
2
3/*
4 这是多行注释
5 可以跨越多行
6 适合写较长的说明
7*/
8
9int main()
10{
11 // 单行注释:输出问候语
12 cout << "Hello!"; // 也可以写在语句后面
13 return 0;
14}
💡
养成写注释的好习惯!代码写完一段时间再回来看,注释能帮你快速回忆当时的思路。竞赛中写清楚关键步骤的注释,也方便调试和检查。

C++ 程序的执行流程

编写完成一个 C++ 程序后,想要运行起来,必须经过四个步骤:预处理→编译→汇编→链接。每个步骤都会生成对应的文件。

源代码文件
main.cpp
预处理器
展开 #include / #define
-E
纯净 C++ 文本
main.i
编译器
语法/语义分析
-S
汇编文件
main.s
汇编器
翻译成机器码
-c
目标文件
main.o
链接器
合并 .o 填充地址
可执行程序
main / main.exe

以这段程序为例,走完四个步骤

C++ · main.cpp
1#include <iostream>
2#define PI 3.14
3
4int main()
5{
6 // 打印圆周率
7 std::cout << PI << std::endl;
8 return 0;
9}
🔧
日常使用不必担心:在 IDE(如 Dev-C++、VS Code、CLion)或命令行编译时,这四个步骤是自动连续完成的,你只需点一下"运行"按钮或输入一条命令即可。但理解这四个步骤,能帮助你区分"编译错误"(语法问题,来自第二步)和"链接错误"(找不到函数实现,来自第四步)。