阮一峰:学习C语言的教材

我的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语言初级教材,都是厚厚的大部头。

我通读过它们,感觉都写得不错,都值得推荐。但是因为这两本书定位类似,内容重复,相比之下,我觉得C Primer Plus可能更适合中国读者的思维,更易读一些。

3. C Programming Language (2nd Edition) (《C程序设计语言》)

这是最著名的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 / 《Linux程序设计

这是我现在正在阅读的书。我看它在Amazon上排名Linux C编程的第一位,就选了它。

它主要讲解如何用C语言调用Linux的系统API,偏重基本概念的解释,我已经读了两章,感觉还不错。

下面想听听大家的意见。

我现在的C语言,到了这样一个水平:语法已经基本掌握了,可以独立开发一些小程序。下一步,我想进一步提高C语言水平,主要用于Linux开发。

大家能不能推荐一些C语言的中级教材?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

蒲公英 3月24日

个人拙见,可以学习汇编,这样不论是C还是C++。理解的都要深刻写,C语言的精髓就是它是介于高级语言和低级语言之间的语言,他既有高级语言的特点,也有汇编语言的特点,所以,可以试试学习汇编 另外。我倒觉得C语言入门的话,谭浩强的"红皮书"不错

  • 3月24日
  • 0人喜欢
winner 11年9月19日

好好学习一下汇编。不然你仍然理解不了c语言的精髓。

  • 11年9月19日
  • 0人喜欢
simon8410 11年9月19日

推荐一本:Linux Programming by Example: The Fundamentals,作者:Arnold Robbins。很适合结合进一步学习C开发,还是学习Linux系统编程很好的入门。

  • 11年9月19日
  • 0人喜欢

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值