学习C语言的教材

标签: 学习 语言 教材 | 发表时间:2011-09-18 16:38 | 作者:(author unknown) 博
出处:http://news.cnblogs.com/

作者: 阮一峰

日期: 2011 年 9 月 18 日

我的C语言是自学的,这些年看过不少教材。

下面,我对其中一些教材做个点评。

1. How to Think Like a Computer Scientist: C version

clip_image001

这是我读过最易懂的C语言教材。

虽然它只讲解最基本的语法,但是写得特别好懂,深入浅出,读起来不觉得累,而且它还允许免费下载。我认为,这是C语言的首选入门教材。

下载网址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/

2. C Primer PlusC Programming: A Modern Approach

clip_image002

clip_image003

上面这两本,都是著名的C语言初级教材,都是厚厚的大部头。

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

3. C Programming Language (2nd Edition)

clip_image004

这是最著名的C语言书籍。

但是,它不是写给初学者看的,更偏重C语言的编程技巧和算法思维。我读过两遍,还是觉得很多地方没读懂。

4. 国产教材

通常来说,国产教材质量不高,不值得推荐。但是有两本,我想特别提一下。

《零基础学C语言》,康莉等著,机械工业出版社,2009。

clip_image005

这本是我在图书馆里偶然捡起来的,翻了几页,发现是原创的,而且写得比较认真,代码解释详尽,行文错误少,就把它读完了。我认为,在国产教材中,这本书的质量很高,值得推荐。

《Linux C 编程一站式学习》

clip_image006

这本书在国产书籍中罕见地采用了 GFDL 许可证,http://learn.akae.cn有在线阅读,可以免费下载。这一点值得高度肯定。

但是,正如前言所说,它的主要资料来源是两本英语教材《How To Think Like A Computer Scientist: Learning with C++》和《Programming from the Ground Up》,以及一些教师的上课讲义,然后拼在一起,做成一本书。所以,造成它的体系比较生硬,缺乏整体感,衔接得不好,很多地方没有做到由潜入深、循序渐进。所以,我觉得这本书不适合初学者,可以当做手册查资料。

5. Beginning Linux Programming

clip_image007

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

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

=================================

下面想听听大家的意见。

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

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


  本文链接:http://news.cnblogs.com/n/115586/

相关 [学习 语言 教材] 推荐:

学习C语言的教材

- 勇 - 阮一峰的网络日志
我的C语言是自学的,这些年看过不少教材. 下面,我对其中一些教材做个点评. 这是我读过最易懂的C语言教材. 虽然它只讲解最基本的语法,但是写得特别好懂,深入浅出,读起来不觉得累,而且它还允许免费下载. 我认为,这是C语言的首选入门教材. 下载网址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/.

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

- MAGI-CASPER/Peter Pan - 伯乐在线 -博客
  注:本文转载自阮一峰的网络日志.   我的C语言是自学的,这些年看过不少教材.   下面,我对其中一些教材做个点评.   这是我读过最易懂的C语言教材.   虽然它只讲解最基本的语法,但是写得特别好懂,深入浅出,读起来不觉得累,而且它还允许免费下载. 我认为,这是C语言的首选入门教材.   下载网址:http://prof.beuth-hochschule.de/sche...ammieren-in-c/.

每年学习一门新的语言

- 用心阁 - I am Hu Kai
这篇博客来自于周末参加西安Open Party(http://openparty.in/xian)的社区活动时的开放讨论,感谢在场的诸位提供给我的素材. 5年前刚加入ThoughtWorks时,有人告诉我:ThoughtWorker要每年学习一门新的语言,老实说,这句话我不是第一次听到,但在ThoughtWorks,我第一次发现有一群人真的这样作.

《学习Go语言》0.4 中文版

- way - python.cn(jobs, news)
鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译. 之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动……. 于是只好人工 diff,一条一条的对比 commit 内容. 总算是跟进到了 0.4 这个 tag.

repl.it支持学习15+语言

- 小班 - Solidot
repl.it是一个学习程序语言的在线交互式环境. 它支持16种程序语言,包括了QBasic、Forth、Ruby、Scheme、Python、Lua、JavaScript等. 用户可以直接在浏览器上学习和体验这些语言. 在线编辑器的内容和会话可以保存和分享,可以通过创建的链接重复执行. repl.it支持Android,部分支持iOS.

《学习Go语言》0.4 中文版

- j - Some reminiscences, some memories
鱼哥(https://twitter.com/#!/smallfishxy)上个月勒令我要完成 0.4 版的翻译. 之前公司重组的时候,没顾上看英文版本的更新,结果这老外不声不响的做了如此之多的改动……. 于是只好人工 diff,一条一条的对比 commit 内容. 总算是跟进到了 0.4 这个 tag.

为什么要学习C语言

- - Solidot
O'Reilly采访了《Head First C》一书的联合作者David Griffiths,谈论了为什么今天还要学C语言:C至今仍然流行的原因是它无处不在,靠近硬件,被用于开发其它语言和操作系统;通过学习C,可从系统级上更好的理解程序的工作原理;大学应该继续教C语言,它是一种非常重要的基础性语言,要求完全理解整个技术栈;学会C后学生将能更深入的理解计算机.

如何快速学习一门语言

- - 煎蛋
# lmliu59 童鞋投递:. 模拟显示,如果你假设每件东西有且只有一个名字和它相联系,那么你就能快速的掌握这个词的意思. 每个小屁孩每天大约能学会10个词,但是大人们还没有弄清楚小朋友们开了什么挂来达到如此快的学习速度 (你们当年也不是小孩么). 为此一个专业研究团队模拟了词语学习的过程,并揭示了一个简单有效的学习策略,那就是在想象中否定同义词的存在.

编程语言教程书该怎么写: 向K&R学习!

- kapster - 为之漫笔
原文地址:Lax Language Tutorials. 每年在评审Jolt Awards图书的时候,我都会被一些语言教程类图书弄得心力交瘁. 从这些年的评审经验来看,这些语言类教程的写得都不错,但除此之外,少有亮点. 换句话来说,这些书都很严谨、很精密,如果读者有足够的定力,通过它们掌握一门语言的编程技术还是不成问题的.