- C 编程教程
- C - 首页
- C 语言基础
- C - 概述
- C - 特性
- C - 历史
- C - 环境设置
- C - 程序结构
- C - Hello World
- C - 编译过程
- C - 注释
- C - 词法单元
- C - 关键字
- C - 标识符
- C - 用户输入
- C - 基本语法
- C - 数据类型
- C - 变量
- C - 整数提升
- C - 类型转换
- C - 类型强制转换
- C - 布尔值
- C 语言中的常量和字面量
- C - 常量
- C - 字面量
- C - 转义序列
- C - 格式说明符
- C 语言中的运算符
- C - 运算符
- C - 算术运算符
- C - 关系运算符
- C - 逻辑运算符
- C - 位运算符
- C - 赋值运算符
- C - 一元运算符
- C - 自增和自减运算符
- C - 三元运算符
- C - sizeof 运算符
- C - 运算符优先级
- C - 其他运算符
- C 语言中的决策
- C - 决策
- C - if 语句
- C - if...else 语句
- C - 嵌套 if 语句
- C - switch 语句
- C - 嵌套 switch 语句
- C 语言中的循环
- C - 循环
- C - while 循环
- C - for 循环
- C - do...while 循环
- C - 嵌套循环
- C - 无限循环
- C - break 语句
- C - continue 语句
- C - goto 语句
- C 语言中的函数
- C - 函数
- C - 主函数
- C - 按值调用函数
- C - 按引用调用函数
- C - 嵌套函数
- C - 可变参数函数
- C - 用户定义函数
- C - 回调函数
- C - 返回语句
- C - 递归
- C 语言中的作用域规则
- C - 作用域规则
- C - 静态变量
- C - 全局变量
- C 语言中的数组
- C - 数组
- C - 数组的特性
- C - 多维数组
- C - 将数组传递给函数
- C - 从函数返回数组
- C - 可变长数组
- C 语言中的指针
- C - 指针
- C - 指针和数组
- C - 指针的应用
- C - 指针运算
- C - 指针数组
- C - 指向指针的指针
- C - 将指针传递给函数
- C - 从函数返回指针
- C - 函数指针
- C - 指向数组的指针
- C - 指向结构体的指针
- C - 指针链
- C - 指针与数组
- C - 字符指针和函数
- C - 空指针
- C - void 指针
- C - 野指针
- C - 解引用指针
- C - 近、远和巨型指针
- C - 指针数组的初始化
- C - 指针与多维数组
- C 语言中的字符串
- C - 字符串
- C - 字符串数组
- C - 特殊字符
- C 语言中的结构体和联合体
- C - 结构体
- C - 结构体和函数
- C - 结构体数组
- C - 自引用结构体
- C - 查找表
- C - 点 (.) 运算符
- C - 枚举 (或 enum)
- C - 结构体填充和打包
- C - 嵌套结构体
- C - 匿名结构体和联合体
- C - 联合体
- C - 位域
- C - Typedef
- C 语言中的文件处理
- C - 输入 & 输出
- C - 文件 I/O (文件处理)
- C 预处理器
- C - 预处理器
- C - 预处理指令
- C - 预处理器运算符
- C - 宏
- C - 头文件
- C 语言中的内存管理
- C - 内存管理
- C - 内存地址
- C - 存储类
- 其他主题
- C - 错误处理
- C - 可变参数
- C - 命令执行
- C - 数学函数
- C - static 关键字
- C - 随机数生成
- C - 命令行参数
- C 编程资源
- C - 问答
- C - 快速指南
- C - 速查表
- C - 有用资源
- C - 讨论
C - Hello World
每个渴望成为专业软件开发人员的学习者都从在他们正在学习的编程语言中编写一个 Hello World 程序开始。在本章中,我们将学习如何在 C 语言中编写 Hello World 程序。
C 语言中的 Hello World
在编写 Hello World 程序之前,请确保您已在计算机上设置了 C 编程环境。这包括 GCC 编译器、文本编辑器,最好是用于 C 编程的 IDE,例如 CodeBlocks。
示例
第一步是编写 Hello World 程序的源代码。在您的计算机上打开一个文本编辑器。在 Windows 上,打开记事本或 Notepad++,输入以下代码并将其保存为“hello.c”。
#include <stdio.h> int main(){ /* my first program in C */ printf("Hello World! \n"); return 0; }
输出
运行代码并检查其输出 -
Hello World!
C 程序的逐步执行
让我们逐步了解上述程序是如何工作的。
步骤 1
上面代码中的第一个语句是#include语句,它将stdio.h文件导入当前的 C 程序中。这称为预处理器指令。此头文件包含用于标准 IO 操作的几个库函数的定义。由于我们将调用在stdio.h库中定义的 printf() 函数,因此我们需要在第一步中将其包含进来。
步骤 2
每个 C 程序都必须包含一个main() 函数。此程序中的 main() 函数在控制台终端上打印“Hello World”消息。
在 main() 函数内部,我们插入了一个注释语句,该语句最终会被编译器忽略;它用于文档目的。
下一条语句调用 printf() 函数。在 C 中,每个语句都必须以分号 (;) 结尾,否则编译器会报告错误。
从stdio.h库文件导入的 printf() 函数将 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! \n") ^ ; 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
您也可以使用 IDE(例如 CodeBlocks)更方便地输入代码、编辑、调试和运行 Hello World 程序。
使用 CodeBlocks IDE 进行 C 编程
CodeBlocks 是最流行的 C/C++ 开发 IDE 之一。如果您尚未安装,请安装它并打开它。从“文件”菜单创建一个新文件,输入以下代码并将其保存为“hello.c”。
示例
#include <stdio.h> int main(){ /* my first program in C */ printf("Hello World! \n"); 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 编程环境在您的计算机上正常工作。