每個程序員的旅程都從這裡開始。本文記錄使用 Notepad++ 編寫、GCC 編譯運行第一個 C 程序的完整步驟,並解析每一行代碼的含義。
// C語言實現 Hello World
#include <stdio.h> // 引入標準輸入輸出庫,提供 printf
int main() { // 主函數:程序入口(由啟動代碼調用)
printf("Hello World\n"); // 輸出字符串,\n 為換行符
return 0; // 返回 0 表示正常結束
}
hello.c(編碼 UTF-8);gcc hello.c -o hello
生成可執行文件 hello.exe (Windows) 或 hello (Linux/macOS);./hello # Linux/macOS
hello.exe # Windows
輸出:Hello World
| 行 | 代碼 | 含義 |
|---|---|---|
| 1 | #include <stdio.h> | 預處理指令,引入標準 I/O 頭文件,包含 printf 等函數聲明 |
| 2 | int main() | 定義主函數,返回 int,無參數(C99 等價 int main(void)) |
| 3 | { | 函數體開始 |
| 4 | printf("Hello World\n"); | 調用庫函數輸出格式化字符串,\n 為轉義字符(換行) |
| 5 | return 0; | 函數返回值 0,向作業系統報告成功 |
| 6 | } | 函數體結束 |
printf(...) 後必須有 ;;gcc -E hello.c -o hello.i # 預處理輸出
gcc -S hello.c -o hello.s # 彙編輸出
gcc -c hello.c -o hello.o # 目標文件
objdump -d hello.o # 反彙編查看機器碼
恭喜!你已完成第一個 C 程序。下一步建議學習:變量與數據類型、輸入輸出、控制流程(if/for/while)。