测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B4 视频

搭建程序骨架:让程序“活”起来

章节讲解 跟随分镜理解本课要点
引入

章前总览 本章目标:搭起一个最小可运行的 C++ 程序框架,并完成经典案例 Hello World!。框架虽“空”,但已经能被编译和运行——程序开始“活”了。

逻辑链条:

  • C1:找到输出工具 → #include <iostream>
  • C2:简化工具使用 → using namespace std;
  • C3:划定程序边界 → int main() { ... return 0; }

1 C1. 头文件包含——#include <iostream>

要想往屏幕输出信息,需要调用别人写好的“工具包”。在 C++ 里,这些工具包来自标准库,通过头文件引入。

核心概念:头文件 (Header File)

  • 头文件里放着函数声明、类定义等内容,告诉编译器:你将使用哪些工具、它们长什么样。
  • iostream 表示 input/output stream(输入/输出流),负责控制台键盘输入与屏幕输出相关能力。
  • 后面马上用到的 coutendl 就定义在这个头文件相关的标准库中。

</> 语法与作用

#include <iostream>
  • #include预处理指令:在编译之前,把另一个文件的内容包含进当前程序。
  • 若不包含 iostream 却使用 cout,编译时会提示未定义标识符

易错点/辨析

  • #include <iostream> 用于标准库头文件;#include "xxx.h" 多用于自己写的头文件。初学先掌握尖括号写法。
  • 教材提到有些环境可用万能头文件 #include <bits/stdc++.h>,但初学仍建议明确知道自己包含了哪些头文件。

2 C2. 命名空间——using namespace std;

命名空间像“姓氏”,用来避免不同库里同名标识符打架。std 是 C++ 标准库的命名空间,cout 就住在这里。

核心概念:命名空间 (Namespace)

  • 可以把 std 理解成标准库工具的“姓”。完整写法是 std::coutstd::endl
  • usingnamespace 都是 C++ 关键字:声明“接下来默认使用 std 这个姓氏”。

</> 语法与作用

using namespace std;
  • 这是一条使用指令:声明当前文件里可以直接写 cout,而不必每次写 std::cout
  • 使用万能头文件时,通常也必须配合标准命名空间 std
补充说明

不推荐

std::cout << "Hello";
std::cout << std::endl;

问题:每次使用标准库工具都要加“姓氏”,代码冗长。

推荐写法

using namespace std;
cout << "Hello";
cout << endl;

优点:代码简洁,书写高效(竞赛入门阶段很常见)。

3 C3. 定义主函数框架——int main()

每个 C++ 程序都必须有且仅有一个 main 函数——它是程序的入口点。运行总是从 main 的第一条语句开始。

核心概念:主函数 (main function)

  • C++ 程序的最小独立单位是语句;main 里每一行(到分号为止)通常就是一条语句。
  • 执行完 main 最后一条语句,或执行到 return,程序结束。末尾常见 return 0; 表示正常退出。

</> 标准语法与结构

int main() {
    // 程序指令写在这里
    return 0;  // 正常结束
}
  • 大括号 {} 圈出 main 的函数体:左括号开始、右括号结束,里面才是真正执行的指令。
  • 在 C++ 中,分号是语句的标志;忘记分号是最常见的初学错误之一。
  • // 开头到行末是行注释;也可用 /* ... */ 写块注释。注释不参与运行,只帮助阅读。

易错点

  • Main / MAIN 都不对——C++ 区分大小写,必须是 main
  • 缺少 return 0; 或大括号不配对,会导致编译失败或行为不符合预期。
整合实例:第一个完整的 C++ 程序框架

将本章学习的 C1、C2、C3 组合起来,就构成了一个最小、完整、可编译运行的 C++ 程序框架。下面是 Hello World! 完整程序:

// C1: 引入头文件,获得输出工具
#include <iostream>

// C2: 声明命名空间,简化工具使用
using namespace std;

// C3: 定义程序入口——主函数
int main() {
    // 向屏幕输出一行字符
    cout << "Hello world!" << endl;

    // C3: 程序正常结束
    return 0;
}
里程碑达成:

你已成功搭建起 C++ 程序的“骨架”,并完成 Hello World!。下一章学习 cout:区分“原样输出文字”和“输出计算结果”。