http://www.royaloo.com/articles/articles_2003/cbooks.htm
C 程序设计之四书五经
引言
自从 Dennis M.Ritchie 于 1973 年设计并实现 C 语言以来,计算机程序设计领域已经发生了巨大的变化。以 C 语言
为根基的 C++、Java 和 C#等面向对象语言相继诞生,并在各自领域大获成功。今天,C 及其后裔几乎统治了计算机程序
设计世界。可以这么说,C 语言的诞生是现代程序语言革命的起点,它改变了程序设计语言发展的轨迹,是程序设计语言
发展史中的一个里程碑。然而,C 并不仅仅是其他语言的起点和基础,否则它早已成为程序设计语言发展过程中又一个被
遗弃者。和当初发明时一样,C 语言今天依然至关重要。它的表达力、效率、简练、紧凑、对机器的最终控制以及跨平台
的高度移植性,使其在系统编程、嵌入式编程等领域一直占据着统治地位,而 C99 标准的制订则再一次使 C 语言焕发出新
的活力。下文介绍 C 程序设计领域中的几本好书,其中一些堪称经典。
1. Brian W.Kernighan, Dennis M.Ritchie,《C 程序设计语言》,机械工业出版社
这是迄今为止在所有程序设计语言书籍中最广受尊敬的一部经典,是任何一名 C 程序员的必读之作。因为出自 C 语
言的设计者 Dennis M.Ritchie 和著名的计算机科学家 Brian W.Kernighan 之手,它被昵称为“K&RC”。是它首先引
入了“Hello World!”程序,这个程序几乎成了后来任何一本入门性程序设计语言书籍中的第一个例子。
如同 C 语言本身简洁紧凑而极具威力一样,这本书轻薄短小而极富张力。通过简洁的描述和典型的示例,它全面、
系统、准确地讲述了 C 语言的各个特性以及 C 程序设计的基本方法,内容涵盖基本概念、类型和表达式、控制流、函数与
程序结构、指针与数组、结构、输入与输出、UNIX 系统接口以及标准库等内容。
简洁清晰是这本书最大的特色。这本小书可以教给你许多比它厚几倍的“大部头”的知识。我认为那些动辄洋洋洒洒拼
凑出好几百页乃至上千页的技术作者应该好好向 K&R 学一学。对于中、高级程序员而言,如果希望迅速获得 C 语言的严
肃知识而又不愿意多花费哪怕一丁点时间,这本书就是首选。
顺便说一句,这本书的索引制作非常出色,极具实用价值,这可能首先要归功于正文部分的简明扼要。此外,尽管它
看上去很像一本教程,但其实更是一本写给专业程序员的指南。如果你不具备任何其他语言程序设计背景或基本的 C 语言
知识,这本书也许并不适合用作你的 C 语言启蒙读物。
2. Perter VanDer LinDen,《C 专家编程》,人民邮电出版社
C 语言是严肃的程序员语言,但这并不意味着 C 语言书籍必须板着面孔说教。在这本被 C 程序员昵称为“鱼书”(封面
上有一条“丑陋的”腔棘鱼)的著作中,作为 SUN 公司编译器和操作系统核心开发组成员之一,Peter 淋漓尽致地展示了其
深厚的技术沉淀、丰富的项目经验、高超的写作技巧以及招牌式的幽默。在这部作品中,作者以流畅的文字、诙谐的笔法
将逸闻典故、智慧和幽默自然地融入技术描述中,读来宛若一本小说,极富趣味。
本书讲述了 C 语言的历史、语言特性、声明、数组、指针、连接、运行时以及内存使用等知识,揭示了 C 语言中许
多隐晦之处,尤其深入解析了声明、数组和指针、内存使用等方面的细节。要想成为一名专家级 C 程序员,这些内容都是
必须掌握的。和其他满是抽象例子的 C 语言书籍不同,这本书充满了大量的来自真实世界的 C 程序设计实例,它们对 C 程
序员具有很高的参照价值。另外,每一章都以极富趣味的“轻松一下”收尾,而附录 A“程序员工作面试的秘密”则是任何语言
的程序员在应聘工作前增强自信的好材料。
我怀疑真正的 C 专家可能用不着看这本书—从内容到组织方式到行文风格都决定了这是一本轻松愉快的“从菜鸟到高
手”的进阶读本,所以,它理应拥有更广泛的读者群。初级程序员往往更需要热情的鼓励,在阅读这本书的过程中,你定会
深深地被作者对编程的激情所感染。
世间并无完美。我认为这本书的缺陷在于,和大多数平庸的 C 语言书籍一样,它画蛇添足地加入了一章关于 C++的
描述。在今天看来,这个描述既不全面也有失公允。不过,鉴于作者是在 1994 年从一名 C 程序员的角度去观察 C++,
这一点也就不足为奇了。
3.Samuel P.Harbison,Guy L.Steele,《C 语言参考手册(第五版)》(影印版),人民邮电出版社
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
评论0