C语言学习的经典书籍--转载

推荐前言:

原文出处:http://book.douban.com/doulist/338101/

和其他语言相比(例如C++),C语言是一门比较“小”的语言,可以在较短的时间内入门。但是由于C的很强的表达能力和太多的细枝末节,要想精通比较困难。要做到精通有3种途径:

1)阅读经典书籍,只读经典。

2)多看优良的源代码。

3)学习软件设计,并应用于日常编程。

C语言比较经典的书也就那么几本,全部看下来也花不了很多时间。

各种语言的优劣问题更像是一个信仰的问题,没有太多讨论的必要,而且大多编程原则适用于任何语言。

在这里只讨论我视野所及的C语言书籍:

作者 : 谭浩强
出版社 : 清华大学出版社

评语 : 第0本 《C语言程序设计》谭浩强我们很少有学C语言的启蒙书不是用这本的。如果你从来没接触过C语言,这本书还是适合作为入门的。尽管大学毕业之后就不再碰这本书,但是还记得当初这本书看了3遍、指针那部分看了至少5遍的那种心情。以后看了其它的书,才对C语言中的一些内容有更深的理解。相信大多数第一次接触C语言的人都有类似的感觉。不要期望一本启蒙的书带给你想要的一切,一切才刚刚开始。

作者 : Brian W.Kernighan/Dennis M.Ritchie
出版社 : 清华大学出版社

评语 : 第1本 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 R&K C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻。

作者 : 凯尼格
出版社 : 人民邮电出版社

评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。另外作者写了一本《Accelerated C++》,据说是C++的最佳入门书,狠赞!! 

作者 : Peter Van Der Linden
出版社 : 人民邮电出版社

评语 : 第3本 《C专家编程》(LinDen,P.V.D)一看书名就知道这丫不能拿来入门用的,第一次看的时候够折磨大脑的。作者声称,编程的唯一原因是因为乐趣。相比之前的几本书,这本书还介绍C语言运行的环境,更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念,如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。顺便一提:链接库可参考《深入理解计算机系统》的动态链接库一章,写得更易读。

作者 : Steve Maguire
出版社 : 人民邮电出版社

评语 : 第4本 《编程精粹:编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本,尽管写出没有bug的程序不太可能,但按照作者提供的方法,可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。这本书源自作者十几年不断的追问自己两个简单的问题: 1)怎样才能自动地查出这个错误? 2)怎样才能避免这个错误? “他的另一部名著Debugging the Development Process(中文版《微软

作者 : David R. Hanson
出版社 : Addison-Wesley Professional

评语 : 第5本 《C Interfaces and Implementations》 David R. Hanson 这本据说为唯一一本能和R&K C并驾齐驱的书,可惜中文版众口一致说太烂,无处可载电子版,影印版跳票多年,原版USD 54.99实在承受不起,囊中羞涩,奈何奈何。想念多年,至今不能一睹芳容,深以为憾。

作者 : P. J. Plauger
出版社 : 人民邮电出版社

评语 : 前面5本差不多够了,另外推荐两本,精力过剩的可以翻翻第6本 《C标准库》P. J. Plauger 本书介绍C标准库的实现,书中有较为详尽的代码。虽然这本书年代久远,现在的实现肯定和以前也有差别,但是还是很有参考价值,特别是对C标准库的实现有兴趣的人。中文版太贵,英文电子版看得太累,还是以后有地方借的时候再继续看。

作者 : 哈比森
出版社 : 机械工业出版社

评语 : 第7本 《C语言参考手册》拿来备查的,C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库,可以和《C标准库》参考阅读。

9.C和指针

评语:我不知道为什么原创作者没有把C和指针这本书加入到经典的C书籍中来,但是我觉得这本书真的很好,很实用。所以把他加到这里,希望大家不要忘记他。

 

后记:导师面试的时候,问我读过哪些C语言的经典,我回答不上来。后来历经各种曲折,这位导师还是要我了,我要加油了,弥补我在大学荒废的时光,同时证明给我的导师看:他选我,没错!!加油,发哥!!

posted @ 2013-09-13 01:45  stemon  阅读(495)  评论(0编辑  收藏  举报