完整代码
这是最经典、最基础的 C 语言 "Hello, World!" 程序,你可以将以下代码复制到一个文本文件中,并将其命名为 hello.c。

#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
代码逐行解释
让我们来分解这短短几行代码的含义:
#include <stdio.h>
#include:这是一个预处理指令,它在程序编译之前执行,告诉编译器将指定的文件内容包含进来。<stdio.h>:这是要包含的文件名,称为标准输入输出头文件。- 为什么需要它? 因为我们的程序用到了
printf函数,这个函数的作用是在屏幕上打印文本。printf函数的“说明书”就在stdio.h文件里,通过包含这个文件,编译器才能认识printf并正确地处理它。
int main() {
main:这是程序的主函数,任何一个 C 程序都必须有一个main函数,它是程序执行的入口点,当程序运行时,操作系统会首先找到并执行main函数里的代码。int:表示main函数执行完毕后会返回一个整数值(integer)。return 0;表示程序成功正常结束,返回非零值则表示程序遇到了错误。- 括号内可以传递参数,这个基础的程序不需要,所以为空。
- 花括号内包含了
main函数的具体执行代码,称为函数体。
printf("Hello, World!\n");
printf:这是 "print formatted" 的缩写,是一个标准库函数,用于在控制台(终端)上格式化输出文本。"Hello, World!":这是要打印的字符串,在 C 语言中,字符串必须用双引号 括起来。\n:这是一个转义字符,代表换行符 (newline),它的作用是在打印完 "Hello, World!" 之后,将光标移动到下一行的开头,如果没有\n,下一个命令提示符会出现在同一行的末尾。- 分号是 C 语言中语句结束符,每一条完整的 C 语句都必须以分号结尾。
return 0;
return:这个关键字用于从函数中返回一个值。0:我们在这里返回0,向操作系统表明程序已经成功执行完毕,没有发生任何错误。
如何编译和运行
C 语言是编译型语言,这意味着我们需要一个叫做编译器 的工具,将我们写的 .c 源代码转换成计算机可以直接执行的 .exe (Windows) 或无后缀 (Linux/macOS) 文件。
准备工作:安装编译器
-
Windows:
- 推荐 MinGW-w64: 这是最常用的 GCC 编译器在 Windows 上的移植版本,你可以通过 MSYS2 项目轻松安装它,安装后,将 MinGW 的
bin目录添加到系统环境变量PATH中。 - Visual Studio: 安装 Visual Studio Community(免费版),并在安装时选择“使用 C++ 的桌面开发”工作负载,它会自带 C 编译器 (cl.exe)。
- 推荐 MinGW-w64: 这是最常用的 GCC 编译器在 Windows 上的移植版本,你可以通过 MSYS2 项目轻松安装它,安装后,将 MinGW 的
-
Linux (如 Ubuntu, Debian):
(图片来源网络,侵删)- 打开终端,输入以下命令安装 GCC:
sudo apt update sudo apt install build-essential
- 打开终端,输入以下命令安装 GCC:
-
macOS:
- 如果已经安装了 Xcode Command Line Tools,就已经包含了 Clang 编译器(与 GCC 兼容),在终端中运行:
xcode-select --install
- 如果已经安装了 Xcode Command Line Tools,就已经包含了 Clang 编译器(与 GCC 兼容),在终端中运行:
编译和运行步骤
假设你已经将上面的代码保存为 hello.c 文件。
步骤 1:打开终端/命令行工具
- Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
- Linux/macOS: 打开 "终端" (Terminal)。
步骤 2:导航到文件所在目录

使用 cd (change directory) 命令进入你保存 hello.c 文件的文件夹,如果文件在 C:\Users\YourName\Documents\C-Code:
cd C:\Users\YourName\Documents\C-Code
在 Linux/macOS 上,路径可能类似:
cd /home/yourname/c-projects
步骤 3:编译代码
使用 gcc 编译器来编译 hello.c。
gcc hello.c -o hello
gcc:调用 GCC 编译器。hello.c:你的源文件。-o hello:这是一个选项,-o后面跟着你希望生成的输出文件名,这里我们将其命名为hello,如果不写-o,默认会生成一个名为a.out(Linux/macOS) 或a.exe(Windows) 的文件。
步骤 4:运行程序
编译成功后,你会得到一个可执行文件,现在来运行它。
-
在 Windows 上:
hello.exe
或者直接输入:
hello
-
在 Linux 或 macOS 上:
./hello
注意: 是用来告诉终端在当前目录下查找并执行该文件。
你将在屏幕上看到预期的输出:
Hello, World!
常见问题与扩展
问题 1:'printf' was not declared in this scope
原因: 忘记包含 #include <stdio.h>。
解决: 在代码文件开头加上 #include <stdio.h>。
问题 2:'main' must return 'int'
原因: 在一些较新的编译器标准(如 C99)中,main 函数必须声明为 int main(void) 或 int main(),而不是 void main() 或 main()。
解决: 使用 int main() 或 int main(void)。
扩展:C++ 版本的 "Hello, World!"
虽然你的问题是关于 C 语言的,但了解 C++ 版本也很有趣,因为它们非常相似。
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
主要区别:
- 头文件是
<iostream>(Input/Output Stream)。 - 使用
std::cout(character output) 和流插入运算符<<来输出内容。 std::endl的作用和\n类似,但会强制刷新输出缓冲区。- 编译时通常使用
g++而不是gcc:g++ hello.cpp -o hello。
