欢迎来到 C 语言的世界!让我们写下你的第一个 C 程序。
每个程序员的第一课都是从 “Hello World” 开始的。这是一个传统,也是一个简单的测试,确保你的环境正常工作。
打开编辑器,创建 src/main.c 文件:
# 使用你喜欢的编辑器
code src/main.c # VSCode
# 或
vim src/main.c # Vim
# 或
nano src/main.c # Nano
输入以下代码:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
#include <stdio.h>
预处理器指令:告诉编译器在编译前包含标准输入输出库。这个库提供了 printf 函数。
int main(void) {
主函数:这是程序的入口点。每个 C 程序都必须有一个 main 函数。
int 表示函数返回整数void 表示不接受参数{ 开始函数体 printf("Hello, World!\n");
输出语句:
printf 是打印函数"Hello, World!\n" 是要打印的字符串\n 是换行符(相当于按 Enter); 表示语句结束 return 0;
返回语句:return 0 表示程序成功结束。非零值通常表示出错。
}
结束大括号:标记函数体的结束。
C 语言是编译型语言,需要将源代码转换为机器码才能运行。
# 编译 main.c
gcc src/main.c -o snake_game
# 运行程序
./snake_game
你应该看到输出:
Hello, World!
源代码 (main.c) → 编译器 (gcc) → 可执行文件 (snake_game)
↓ ↓
人类可读 机器可读
| 选项 | 说明 | 示例 |
|---|---|---|
-o |
指定输出文件名 | gcc main.c -o program |
-Wall |
显示所有警告 | gcc -Wall main.c |
-g |
添加调试信息 | gcc -g main.c |
-I |
指定头文件搜索路径 | gcc -I./include main.c |
-c |
只编译不链接 | gcc -c main.c |
试试修改程序:
#include <stdio.h>
int main(void) {
printf("🐍 Welcome to Snake Game!\n");
printf("Let's learn C programming!\n");
return 0;
}
重新编译并运行:
gcc src/main.c -o snake_game
./snake_game
编译器会帮助你发现错误。看看这些常见错误:
printf("Hello") // ❌ 缺少分号
printf("Hello"); // ✅ 正确
错误信息:
error: expected ';' after expression
print("Hello"); // ❌ 应该是 printf
printf("Hello"); // ✅ 正确
错误信息:
error: implicit declaration of function 'print'
// #include <stdio.h> // ❌ 注释掉了
printf("Hello"); // ❌ 编译器不知道 printf 是什么
错误信息:
warning: implicit declaration of function 'printf'
#include <stdio.h>
int main(void) {
int score = 100;
printf("DEBUG: score = %d\n", score); // 调试输出
printf("Game Start!\n");
return 0;
}
# -Wall 显示所有警告
# -Wextra 显示额外警告
gcc -Wall -Wextra src/main.c -o snake_game
修改程序输出你的信息:
姓名:XXX
年龄:XX
城市:XXX
#include <stdio.h>
int main(void) {
int a = 10;
int b = 20;
// 输出 a + b 的结果
printf("10 + 20 = %d\n", a + b);
return 0;
}
🐍🐍🐍🐍🐍
🐍 蛇 🐍
🐍🐍🐍🐍🐍
#include 的作用main 函数是程序入口printf 输出gcc 编译程序| 概念 | 说明 |
|---|---|
| 编译 | 将源代码转换为可执行文件的过程 |
| 头文件 | 包含函数声明,用 #include 引入 |
| main 函数 | 程序的入口点 |
| printf | 标准输出函数 |
| 返回值 | return 0 表示成功 |
下一课:数据类型与变量