C语言的故事始于1969年。当时,贝尔实验室的肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)参与了一个名为Multics的分时操作系统项目。Multics项目因为过于复杂而失败,但汤普森和里奇从中获得了宝贵的经验。
汤普森在贝尔实验室的一台PDP-7计算机上开发了一个简化版的操作系统,最初使用汇编语言编写。当需要将系统移植到性能更好的PDP-11时,汤普森开始设计一种高级语言来重写系统。他首先创建了B语言,这是BCPL语言的简化版本。但B语言是解释执行的,性能不足以支持操作系统开发。
1972年,里奇在B语言的基础上开发了C语言。C语言的关键创新是引入了数据类型和结构化控制流,同时保留了B语言的指针和底层访问能力。1973年,汤普森和里奇用C语言重写了Unix操作系统的核心,这一壮举证明了高级语言可以用于系统编程。