01 · C 简介与环境

2026.09.27 · 🟢 易

核心要点

  • C 诞生于 1972 年,贝尔实验室,丹尼斯·里奇设计,为写 UNIX 操作系统而生。
  • 标准演进:K&R → C89/ANSI C → C99 → C11 → C17 → C18。当前最新为 C18。
  • C 的定位:系统级语言。操作系统内核、编译器、数据库(MySQL/SQLite)、嵌入式都用它。
  • 它深刻影响了 C++、Java、Go、Rust —— 所以你学 Java 时其实一直在用 C 的语法基因。

编译流程(Java 是编译成字节码交给 JVM,C 是直接生成机器码)

hello.c  --预处理-->  hello.i  --编译-->  hello.s(汇编)  --汇编-->  hello.o  --链接-->  hello.exe

一条命令搞定:

gcc hello.c -o hello    # 编译
./hello                 # 运行(Linux/macOS)
hello.exe               # 运行(Windows)

最小程序

#include <stdio.h>          /* 引入标准输入输出头文件 */
int main(void) {            /* 程序入口,返回值 int */
    printf("Hello, World!\n");
    return 0;               /* 0 表示正常退出 */
}

⚡ Java 对比

Java C
编译产物 .class 字节码 .exe / 机器码
运行 JVM 操作系统直接跑
入口 public static void main(String[] args) int main(void) 或 int main(int argc, char *argv[])

环境搭建要点(Windows)

  1. 装编译器:MinGW-w64(提供 gcc)或 MSYS2。
  2. 编辑器:VS Code + C/C++ 插件,或直接命令行 gcc。
  3. 验证:gcc --version。

常见坑

  • 忘了 #include <stdio.h> → printf 报隐式声明错误。
  • 少写 return 0; 在 main 里一般没事,但别养成习惯。

关联

02-程序结构与基础语法 · 16-预处理器与头文件 · Java与C核心差异