C - Hello World
每个立志成为专业软件开发者的学习者,都始于用自己正在学习的编程语言编写一个 Hello World 程序。在本章中,我们将学习如何用 C 语言编写一个 Hello World 程序。
C 语言 Hello World
在编写 Hello World 程序之前,请确保您的计算机已设置好 C 编程环境。这包括 GCC 编译器、文本编辑器,最好还有一个用于 C 编程的 IDE,例如 CodeBlocks。
示例
第一步是编写 Hello World 程序的源代码。在您的计算机上打开一个文本编辑器。在 Windows 系统中,打开 Notepad 或 Notepad++,输入以下代码并将其保存为"hello.c"。
#include <stdio.h> int main(){ /* 我的第一个 C 语言程序 */ printf("Hello World! "); return 0; }
输出
运行代码并检查其输出 −
Hello World!
C 程序的逐步执行
让我们逐步了解上述程序的工作原理。
步骤 1
上述代码中的第一个语句是 #include 语句,它将 stdio.h 文件导入到当前 C 程序中。这被称为 预处理器指令。该头文件包含用于标准 IO 操作的几个库函数的定义。由于我们将调用 stdio.h 库中定义的 printf() 函数,因此我们需要在第一步中将其包含进去。
步骤 2
每个 C 程序都必须包含一个 main() 函数。此程序中的 main() 函数在控制台终端上打印"Hello World"消息。
在 main() 函数内部,我们插入了一条注释语句,该语句最终会被编译器忽略;它用于文档编写。
下一条语句调用 printf() 函数。在 C 语言中,每个语句都必须以分号 (;) 结尾,否则编译器会报告错误。
printf() 函数从 stdio.h 库文件导入,它将 Hello World 字符串回显到标准输出流。在 Windows 系统中,标准输出流是命令提示符终端;在 Linux 系统中,标准输出流是 Linux 终端。
在 C 语言中,每个函数都需要有一个返回值。如果函数不返回任何内容,则其值为 void。在上面的示例中,main() 函数的返回值为 int。由于 main() 函数不需要返回任何内容,因此它被定义为返回一个整数"0"。"return 0"语句也表明程序已成功编译并运行。
步骤 3
接下来,我们需要从源代码("hello.c")编译并构建可执行文件。
如果您使用的是 Windows,请在保存"hello.c"的文件夹中打开命令提示符。以下命令将编译源代码 -
gcc -c hello.c -o hello.o
-c 选项指定要编译的源代码文件。如果 C 程序没有任何错误,这将生成一个名为 hello.o 的目标文件。如果程序包含错误,则会显示错误信息。例如,如果我们忘记在 printf() 语句末尾加上分号,编译结果将显示以下错误 -
helloworld.c: In function 'main': helloworld.c:6:30: error: expected ';' before 'return' printf("Hello, World! ") ^ ; helloworld.c:8:4: return 0;
要从编译后的目标文件构建可执行文件,请使用以下命令 -
gcc -o hello.exe hello.o
现在已准备好从命令提示符运行 hello.exe,并在终端中显示 Hello World 消息。
C:\Users\user>hello Hello World!
在 Ubuntu Linux 上,目标文件首先会通过在文件前添加"./"前缀来获得可执行权限,然后才能运行。
$ chmod a+x a.o $ ./a.o
您还可以使用 CodeBlocks 等 IDE 更便捷地输入代码、编辑、调试和运行 Hello World 程序。
使用 CodeBlocks IDE 进行 C 语言编程
CodeBlocks 是最流行的 C/C++ 开发 IDE 之一。如果您尚未安装,请安装并打开它。从"文件"菜单创建一个新文件,输入以下代码并将其保存为"hello.c"。
示例
#include <stdio.h> int main(){ /* 我的第一个 C 语言程序 */ printf("Hello World! "); return 0; }
输出
运行代码并检查其输出 −
Hello World!
从"构建"菜单中选择"构建并运行"选项,如下所示 -

您也可以使用 F9 快捷键执行相同操作。如果程序没有错误,"构建日志"选项卡将显示以下消息 -
gcc.exe -c C:\Users\mlath\hello.c -o C:\Users\mlath\hello.o gcc.exe -o C:\Users\mlath\hello.exe C:\Users\mlath\hello.o Process terminated with status 0 (0 minute(s), 0 second(s)) 0 error(s), 0 warning(s) (0 minute(s), 0 second(s)) Checking for existence: C:\Users\mlath \hello.exe Executing: '"C:\Program Files\CodeBlocks/cb_console_runner.exe" "C:\Users\mlath\hello.exe"' (in 'C:\Users\mlath\Documents')
在单独的命令提示符窗口中,将显示输出 -
Hello World! Process returned 0 (0x0) execution time : 0.236 s Press any key to continue.
如果代码包含错误,构建日志选项卡会回显这些错误。例如,如果我们漏掉了 printf() 语句末尾的分号,日志将如下所示 -

您可以使用任何其他 IDE 来运行 C 程序。您需要遵循相应 IDE 的文档。
成功运行 Hello World 也表明您的计算机上的 C 编程环境正常运行。