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语言的经典,我回答不上来。后来历经各种曲折,这位导师还是要我了,我要加油了,弥补我在大学荒废的时光,同时证明给我的导师看:他选我,没错!!加油,发哥!!
C语言学习的经典书籍--转载的更多相关文章
- Linux 内核学习的经典书籍及途径
from:http://www.zhihu.com/question/19606660 知乎 Linux 内核学习的经典书籍及途径?修改 修改 写补充说明 举报 添加评论 分享 • 邀请回答 ...
- C语言相关的经典书籍(附Ebook)
个人稍微分了一下类,有的看过,有的听人“传说过”,欢迎大家补充和共同学习. 真心经典:每个行业或者领域都有一些东西是不会随时间而逐渐消逝,以下的就是. <C语言程序设计>(第2版.新版) ...
- R语言学习 - 非参数法生存分析--转载
生存分析指根据试验或调查得到的数据对生物或人的生存时间进行分析和推断,研究生存时间和结局与众多影响因素间关系及其程度大小的方法,也称生存率分析或存活率分析.常用于肿瘤等疾病的标志物筛选.疗效及预后的考 ...
- 转:学习linux驱动经典书籍
Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为<linux_device_driver 3rd Edition>,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本 ...
- 转 linux/unix学习经典书籍
都是一些链接. 1. Linux网络编程经典书籍推荐 http://blog.csdn.net/zhangpeng_linux/article/details/7001970 2. C语言经典著作导读 ...
- c语言入门教程 / c语言入门经典书籍
用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...
- 【转】c语言入门教程 / c语言入门经典书籍
用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...
- C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载
普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...
- c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载
下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...
随机推荐
- CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)(转载)
在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形处理,本文将对此做详细介绍. 一.旋转 rotate 用法:transform: rotate(45 ...
- CSS 垂直居中5种方法
利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 使用 CSS 实现垂直居中并不容易.有些方法在一些浏览器 ...
- 配置managed server
managed server往往是部署应用程序的server,所以最好在weblgoic上配置上managed server,不要把应用程序直接部署到admin server上. 一.受管服务器的创建 ...
- 【Lucene4.8教程之二】索引
一.基础内容 0.官方文档说明 (1)org.apache.lucene.index provides two primary classes: IndexWriter, which creates ...
- python运维开发(十四)----HTML基本操作
内容目录: HTML概述 head标签 body中常用标签 css选择器 css常用属性 HTML HTML概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言) ...
- cocos2d-x中的Tiled地图
cocos2d-x中的瓦片地图是通过tiledMap软件制作的,存档格式是.tmx格式.此软件的使用步骤简单总结如下: (1)制作瓦片地图 1 打开软件,软件界面如下图. 2. 新建地图(文件-> ...
- Goldbach's Conjecture(哥德巴赫猜想)
Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- Myeclipse 2014配置SVN详细图解
1.什么是SVN? 管理软件开发过程中的版本控制工具. 2.myeclipse安装SVN插件步骤,以myeclipse 2014为例. (1)下载SVN插件 http://subclipse.tigr ...
- ID3决策树算法原理及C++实现(其中代码转自别人的博客)
分类是数据挖掘中十分重要的组成部分.分类作为一种无监督学习方式被广泛的使用. 之前关于"数据挖掘中十大经典算法"中,基于ID3核心思想的分类算法C4.5榜上有名.所以不难看出ID3 ...
- python 重要模块
1,使用字典的特殊字符串替换,基于字典的字符串格式化