C++ 竞赛入门
开始编程
完成第一次本地编译、运行和在线提交。
开始编程
本节学会什么
- 确认终端中的 GNU C++ 编译器可以使用
- 创建
.cpp文件,完成编译和运行 - 在洛谷提交一次程序,读懂最常见的评测结果
为什么需要它
学习语法之前,先要有一条能自己走通的路:写下代码、让编译器检查、运行程序、提交到评测机。之后遇到每个新知识点,都能立刻验证,而不是只在纸上“觉得自己懂了”。
本书的标准环境是 NOI Linux 或 Ubuntu 兼容环境,使用终端中的 GNU C++17 编译器。Windows 和 macOS 也能学习 C++,但本节只需保证能在终端运行相同的 g++ 命令;安装方式请按自己的系统查阅对应指引。
最小可运行示例
先在终端确认编译器已经安装:
g++ --version
能看到版本信息后,创建 main.cpp,输入下面的代码。暂时不必理解每一行,下一篇会逐个认识它们。
#include <iostream>
int main() {
std::cout << "Hello, CppBook!\n";
return 0;
}
在 main.cpp 所在目录执行:
g++ -std=c++17 -Wall -Wextra main.cpp -o main
./main
第一条命令把源代码编译成可运行文件 main;第二条命令运行它。屏幕应输出:
Hello, CppBook!
关键过程与易错点
.cpp是 C++ 源文件的常用后缀。命令中的main.cpp必须与实际文件名一致。-std=c++17固定本书使用的语言标准。-Wall -Wextra会提示一些容易忽略的问题;警告不一定阻止编译,但值得读完。./main中的./表示“运行当前目录中的main”。不要只输入main。- 洛谷提交时选择 C++17,粘贴完整代码并提交。
AC表示答案通过;WA表示答案不对;CE表示无法编译;RE表示运行时出错;TLE表示超时。 - 编译失败时,先读最靠前的一条报错,再检查那一行附近的括号、引号和分号。一次修一个问题,重新编译。
动手检查
把输出改成你的名字和一句英文,每句各占一行。重新执行编译和运行命令,确认改动真的出现在终端中。
然后打开 洛谷 P1000:超级玛丽游戏,选择 C++17,提交题目要求的完整输出。第一次提交后,记录评测结果;若不是 AC,先按提示定位问题,再修改一次。
立即练习
| 难度 | 题目 | 题解 | 训练目标 |
|---|---|---|---|
| 基础 | 洛谷 P1000:超级玛丽游戏 | 题解 | 完成一次精确输出和在线提交。 |
| 巩固 | 洛谷 P1001:A+B Problem | 题解 | 将一份完整 C++ 程序提交到评测机,观察输入输出格式。 |