C 语言简介

在动手装环境之前,我们先认识一下 C 语言到底是什么、为什么值得学、能用它做什么。理解了背景,学习的时候会更有的放矢。

C 是什么?

C 语言是 1972 年Dennis Ritchie 在美国贝尔实验室(Bell Labs)设计的一门静态编译型语言。它的最初目的非常具体:为重写 UNIX 操作系统提供一门合适的语言。在那之前,操作系统都是用汇编语言写的(直接和 CPU 指令打交道),换一种 CPU 就要全部重写。Ritchie 想要一门"足够底层能写操作系统,又足够高级能跨平台"的语言,C 就此诞生。

诞生背景:革命性的成果

结果是革命性的:用 C 重写的 UNIX 成了至今最具影响力的操作系统——今天的 Linux、macOS、Android 底层全是它的后裔。C 也顺势成了统治世界的基础语言。Ritchie 和 Brian Kernighan 在 1978 年合写的《The C Programming Language》(俗称 K&R),直到今天仍是编程书的典范——薄薄一本,字字珠玑。

有趣的是,C 语言是由 B 语言演化而来的——B 语言的发明者正是 Ken Thompson(Dennis Ritchie 的同事,Unix 之父、Go 语言的三位发明者之一)。可以说 C 是 Unix 家族的"母语"。

第一个 C 程序

说了这么多,先看一眼代码。C 的 Hello World 是编程界的"圣典",几乎所有语言的入门都从它致敬:

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}
// 输出: Hello, World!

运行它只需要三步:

# 1. 把上面代码保存为 hello.c
# 2. 用 gcc 编译
gcc hello.c -o hello

# 3. 运行
./hello
# 输出: Hello, World!

几个关键点:#include 把标准库"复制粘贴"进来,你才能用 printf;int main 是程序入口,操作系统调用它;printf 是格式化打印;return 0 告诉操作系统"正常结束"。

C 的核心特点

C 都用在哪?典型应用场景

C 是"看不见但无处不在"的语言。下面这些明星项目,全是 C 写的:

简单说:需要极致性能、需要直接操作硬件、需要长期稳定运行的基础设施,C 都是首选之一。

C vs 其他语言

该不该学 C?

如果你的方向是系统编程、嵌入式、数据库、游戏引擎、操作系统,C 几乎是必修课。即使你写 Java/Python/JS,C 也是值得学的"内功"——它逼着你理解计算机如何工作:内存怎么分配、指针是什么、栈和堆的区别。学完本系列,你将能独立读懂 Linux 内核代码片段、给 Redis 修 bug、给单片机写驱动。

C 标准的演化

语言会随时间演进,C 的标准主要有这几个版本:

本教程以 C99/C11 为主,这是当前 gcc 默认支持的、用得最广泛的版本。

← 返回 C 语言教程目录

下一篇 C 环境搭建

✈️💬