跳转至

第一个 C++ 程序

按照程序员的百年传统,我们从一个向世界问好的程序开始。

完整代码

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, CSP!" << endl;
    return 0;
}

运行它,屏幕上会出现一行字:

Hello, CSP!

逐行解剖

别看只有 7 行,每一行都有自己的职责。我们一行一行看:

#include <iostream>
这是一条预处理指令。iostream 的意思是 input/output stream(输入输出流),包含它,我们才能使用 cout 来打印内容。可以把它理解为:「我要借用输入输出工具箱」。

using namespace std;
C++ 把所有标准工具都放在一个叫 std 的「命名空间」里。这句话的意思是:「接下来我用 std 里的工具时,不用每次都加 std:: 前缀了」。

int main() {
main 是主函数,整个程序从这里开始执行。每个 C++ 程序有且只有一个 main,它是程序的大门。

    cout << "Hello, CSP!" << endl;
cout(读作 C-out)是输出工具,<< 把后面的内容「推进」屏幕。endl 表示换行(end line)。这一行就是:「把 'Hello, CSP!' 打印到屏幕上,然后换一行」。

    return 0;
告诉系统「程序正常结束了」。返回 0 是约定俗成的「一切顺利」。

}
和第 4 行的 { 配对,表示主函数到此结束。花括号 {} 总是成对出现,就像左右括号一样。

关于分号

注意每条「指令」末尾都有一个分号 ;,它相当于说话时的句号。 忘写分号是新手最常见的编译错误,没有之一。

例题:输出 Hello, World

题目描述 程序没有任何输入,要求输出一行 Hello, World!。

输出格式 一行,内容与格式必须和题目完全一致。

数据范围 无。

思路分析 固定文字直接交给 cout。注意标点也要一模一样——评测是逐字符比对的。

参考代码

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

这就是洛谷 B2002 Hello,World!,你的第一次提交就从它开始。

动手试一试

光看不练是学不会编程的。试着改一改程序,然后运行观察变化:

  1. 把 Hello, CSP! 改成你自己的名字,比如 "我是小明!"
  2. 再加一行输出:cout << "我要开始学信奥啦" << endl;
  3. 故意删掉末尾的分号再编译——观察报错信息长什么样(认识报错也是必修课)

几个小知识

  • C++ 是编译型语言:代码要先被编译器翻译成机器指令才能运行,所以修改代码后要重新编译
  • 大小写敏感:cout 和 Cout 是两个不同的东西
  • 代码中的空格和换行只是为了人看着舒服,编译器不介意,但缩进和空行是重要的代码习惯

下一课,我们开始学习程序的基本积木:变量与数据类型。