学习C语言的教材
作者: 阮一峰
日期: 2011 年 9 月 18 日
我的C语言是自学的,这些年看过不少教材。
下面,我对其中一些教材做个点评。
1. How to Think Like a Computer Scientist: C version
这是我读过最易懂的C语言教材。
虽然它只讲解最基本的语法,但是写得特别好懂,深入浅出,读起来不觉得累,而且它还允许免费下载。我认为,这是C语言的首选入门教材。
下载网址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/
2. C Primer Plus和C Programming: A Modern Approach
上面这两本,都是著名的C语言初级教材,都是厚厚的大部头。
我通读过它们,感觉都写得不错,都值得推荐。但是因为这两本书定位类似,内容重复,相比之下,我觉得C Primer Plus 可能更适合中国读者的思维,更易读一些。
3. C Programming Language (2nd Edition)
这是最著名的C语言书籍。
但是,它不是写给初学者看的,更偏重C语言的编程技巧和算法思维。我读过两遍,还是觉得很多地方没读懂。
4. 国产教材
通常来说,国产教材质量不高,不值得推荐。但是有两本,我想特别提一下。
《零基础学C语言》,康莉等著,机械工业出版社,2009。
这本是我在图书馆里偶然捡起来的,翻了几页,发现是原创的,而且写得比较认真,代码解释详尽,行文错误少,就把它读完了。我认为,在国产教材中,这本书的质量很高,值得推荐。
《Linux C 编程一站式学习》
这本书在国产书籍中罕见地采用了 GFDL 许可证,http://learn.akae.cn有在线阅读,可以免费下载。这一点值得高度肯定。
但是,正如前言所说,它的主要资料来源是两本英语教材《How To Think Like A Computer Scientist: Learning with C++》和《Programming from the Ground Up》,以及一些教师的上课讲义,然后拼在一起,做成一本书。所以,造成它的体系比较生硬,缺乏整体感,衔接得不好,很多地方没有做到由潜入深、循序渐进。所以,我觉得这本书不适合初学者,可以当做手册查资料。
5. Beginning Linux Programming
这是我现在正在阅读的书。我看它在 Amazon 上排名 Linux C 编程的第一位,就选了它。
它主要讲解如何用C语言调用 Linux 的系统 API,偏重基本概念的解释,我已经读了两章,感觉还不错。
=================================
下面想听听大家的意见。
我现在的C语言,到了这样一个水平:语法已经基本掌握了,可以独立开发一些小程序。下一步,我想进一步提高C语言水平,主要用于 Linux 开发。
大家能不能推荐一些C语言的中级教材?