觉得C/C++难懂的、面临找工作面试笔试的,速来看这本书!

如果你是C/C++的初学者,请看这本书,因为其他的书也许你看了还不如不看,一定要选一本好书;
如果你正准备求职,那么请认真看这本书,因为这本书会教会你工作中必备的知识,相信你即将面临的语法类题目不会超出此书的范围;
如果你已经工作了一到三年,那么是时候提高自己的技术水平了,从第一章看起,这本书给解释工作中遇到的疑惑;
如果你已经工作了三年以上,并且准备以软件开发为自己的职业,我没什么要多说的,自己看看就明白了。

官网地址: http://www.afanihao.cn/  留言请到http://www.afanihao.cn/kbase/

如何学习本书:(1) 看一遍书 (2) 抄一遍例子 (3) 做一下习题 (4) 对比一下答案。一般情况下,你没有什么要问我的,如果有,那么就到答疑平台上查查FAQ、或者直接发文。

我和其他书有什么区别: 我这本书你一看就懂,其他的书你百看不懂。(不可否认有些英文书是不错的,我这里只和中文书、中文译本比较)


关于本书

2014年的时候,我有机会跟在校的计算机本科生接触,发现他们还在使用那本源自上个世纪的教材。中国的IT业正蓬勃发展,而为产业输送人才却还用这本古老的教材,这种这是件很痛心的事情。当那些同学因看不懂发愁的时候,我只能说即使有能力考上清华的学生,也不一定能看懂这本书吧。让业内人士评价这本书,它至少带来了以下问题:① 打消了学习者的兴趣,因为太看起来难了,从而使一部分原本适合于本行业的离开了本行业② 降低了毕业生的编程能力,使得公司在接手新毕业生时非常头疼。

C/C++非但不难,而且简直说是很有趣;但它的有趣与否,取决于是否有一本好书指引。一本坏书,不知所云,让你事倍功半;一本好书,循循善诱,则让你事半功倍。让年轻的学生免于痛苦、少走弯路,让C/C++的编程真正的回归有趣,是本书的创作意图。虽然最初的想法起于2008年,但正如大多数业内人士一样,我也是没有时间和意志来完成这本书的。直到2014年,我才下定了决心:是做这件事的时候了。我难以挑战既有的垄断,但是,只要有一部分人能看到我的书、从我的书中收益,我也就满足了。

 

先说说标题。一方面,为什么它是“C/C++学习指南”而不是“C++编程指南”呢?业内人士都知道,C++语言是C语言的扩展,在语法上兼容(涵盖)C语言的。但是考虑到部分读者可能是初学者,未必懂得C和C++之间的关系,所以就在标题中显式的表明这本书“既适合C的学习者、也适合C++的学习者”。在具体的章节安排上也考虑了这一点,对于只需要C的读者,只需要学习前18章(第14章除外)、并结合附录“C++与C语言的区别”。

另一方面,为什么它叫“学习指南”,而不是“编程指南”呢?这是因为这一本语法教程,重点是讲解语法。而编程则是一个更大的概念,不但要懂语法,还要懂实际操作和专项知识(多线程、互斥、网络通讯、图形界面等等)。但为了让学习者具有一定的工程能力,本书专门配套的VC的基本使用、调试方法,标准C函数的用法,标准模板库(STL)的用法。

 

然后再说说正文部分。正文共27章,覆盖了C++的所有语法点。它们的顺序是被精心安排的,按顺序学习,才是本书的最有效的学习方法。其中,有些章节被标记为星号,这意味着几点:①在第一轮学习时,此章节应该跳过;一般不可以过分深入这些章节,否则会影响学习的连贯性② 跳过此节,不影响后续章节的学习③ 有些概念在C++里属于生僻语法,一般都会用到、或者不建议使用,这些都有专门的提示。

本书的一个核心特点是使用内存视图来解释问题。变量对应于内存,内存具有地址。读者应该理解这一点,也不必要深刻理解这一点。只要理解了这一点,C++的众多看起来比较难的概念也就被水到渠成的击破。比如,指针的问题,动态分配内存的问题,传指与传引用的问题,如果从内存视图来理解,应该变得非常简单了。

本书的另一个核心特点是对编程误区的规避。有些东西是很好理解的,但是由于被不正确的指引,使得大家对它的理解都稀里糊涂。比如,char明明是表示整数,可是大多数教材都叫它字符。比如,明确指示“指针”和int型本质上一样,表示的地址。又比如,传值和传引用的问题,是C++编程的一个核心问题,在本书中就做了清晰的诠释。

 

本书的再一个核心特点是工程性强。和大多数教材不一样,本书不仅仅有语法,还有实际操作,使得读者具有最基本的工程能力。仅有语法是做了事情的,所以本书还配备了对标准C函数数、STL标准模板库的讲解和示范,以及对于工程师极为重要的技术:调试技术。而对于只有在进入企业才能接触的“编程规范”,作者也希望在学编程的一开始就告诉读者,以便为企业的培训部门分担一部分压力。读者学完本书,就可以很容易地对接到实际工作中,不会再像以前的毕业生那样对实际工作一脸茫然了。

最后再说说附录。有人认为附录存的是“花绪”,是些不重要的内容。这么理解是严重错误的。附录的存在,是因为有些知识不适合放在主线上讲述,也就是没法像正文那样像流水一样按顺序来讲。附录之所以成为附录,有几个方面的原因。① 它是综合性的,不属于某一章、某一知识点,而是跟好多个章节都有关系。比如,《VC2008调试方法》中的技术可以运用到第3-16各章中。 ② 它篇幅较长,插在正文中在视觉上颠倒主次。 ③ 它是总结性的 ④ 它具有较高技术难度,通过它的学习可以更好的理解正文。

 

总之,我希望这是一本易读的书,能像我读过的那些优秀的书一样,好到让人“不可能读不懂”。我希望这一本书对大多数人有益的书,这一点似乎不必担心。我希望这是一本广受欢迎的书,因为只有传播得越广,才能让越多的人受益。

 

邵发

2015/3/10

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。