假设你是C/C++谁刚开始学习,看这本书。因为也许你读其他的书还不如不看。一定要选择一本好书。

假设你正在准备工作,请认真看这本书,由于这本书会教会你工作中必备的知识,相信你即将面临的语法类题目不会超出此书的范围。

假设你已经工作了一到三年,那么是时候提高自己的技术水平了,从第一章看起,这本书给解释工作中遇到的疑惑;

假设你已经工作了三年以上,而且准备以软件开发为自己的职业,我没什么要多说的。自己看看就明确了。

进入文字教程

进入官方视频教程@优酷

进入留言

进入1000道C/C++练习题笔试题及答案

关于本书

2014年的时候。我有机会跟在校的计算机本科生接触。发现他们还在使用那本源自上个世纪的教材。中国的IT业正蓬勃发展,而为产业输送人才却还用这本古老的教材,这样的这是件非常痛心的事情。当那些同学因看不懂发愁的时候。我仅仅能说即使有能力考上清华的学生,也不一定能看懂这本书吧。

让业内人士评价这本书。它至少带来了下面问题:① 打消了学习者的兴趣。由于太看起来难了,从而使一部分原本适合于本行业的离开了本行业② 减少了毕业生的编程能力,使得公司在接手新毕业生时非常头疼。

C/C++非但不难。并且简直说是非常有趣。但它的有趣与否。取决于是否有一本好书指引。

一本坏书,不知所云,让你事倍功半;一本好书。循循善诱,则让你事半功倍。让年轻的学生免于痛苦、少走弯路,让C/C++的编程真正的回归有趣。是本书的创作意图。

尽管最初的想法起于2008年,但正如大多数业内人士一样。我也是没有时间和意志来完毕这本书的。

直到2014年,我才下定了决心:是做这件事的时候了。

我难以挑战既有的垄断。可是。仅仅要有一部分人能看到我的书、从我的书中收益,我也就满足了。

先说说标题。一方面。为什么它是“C/C++学习指南”而不是“C++编程指南”呢?业内人士都知道。C++语言是C语言的扩展,在语法上兼容(涵盖)C语言的。

可是考虑到部分读者可能是刚開始学习的人。未必懂得C和C++之间的关系。所以就在标题中显式的表明这本书“既适合C的学习者、也适合C++的学习者”。在详细的章节安排上也考虑了这一点,对于仅仅须要C的读者,仅仅须要学习前18章(第14章除外)、并结合附录“C++与C语言的差别”。

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

然后再说说正文部分。

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

本书的一个核心特点是使用内存视图来解释问题。变量相应于内存,内存具有地址。读者应该理解这一点,也不必要深刻理解这一点。

仅仅要理解了这一点,C++的众多看起来比較难的概念也就被水到渠成的击破。比方,指针的问题,动态分配内存的问题,传指与传引用的问题,假设从内存视图来理解。应该变得很easy了。

本书的还有一个核心特点是对编程误区的规避。有些东西是非常好理解的,但是因为被不对的指引,使得大家对它的理解都稀里糊涂。比方。char明明是表示整数,但是大多数教材都叫它字符。

比方,明白指示“指针”和int型本质上一样。表示的地址。

又比方,传值和传引用的问题,是C++编程的一个核心问题,在本书中就做了清晰的诠释。

本书的再一个核心特点是project性强。

和大多数教材不一样。本书不唯独语法。还有实际操作,使得读者具有最主要的project能力。仅有语法是做了事情的,所以本书还配备了对标准C函数数、STL标准模板库的解说和示范。以及对于project师极为重要的技术:调试技术。

而对于唯独在进入企业才干接触的“编程规范”,作者也希望在学编程的一開始就告诉读者,以便为企业的培训部门分担一部分压力。读者学完本书。就能够非常easy地对接到实际工作中,不会再像曾经的毕业生那样对实际工作一脸茫然了。

最后再说说附录。有人觉得附录存的是“花绪”,是些不重要的内容。

这么理解是严重错误的。附录的存在。是由于有些知识不适合放在主线上讲述,也就是没法像正文那样像流水一样按顺序来讲。

附录之所以成为附录。有几个方面的原因。

① 它是综合性的,不属于某一章、某一知识点,而是跟好多个章节都有关系。比方,《VC2008调试方法》中的技术能够运用到第3-16各章中。 ② 它篇幅较长。插在正文中在视觉上颠倒主次。 ③ 它是总结性的 ④ 它具有较高技术难度,通过它的学习能够更好的理解正文。

简而言之,我希望这是一个可读的书。你可以像那些好书我读过相同。良好的人“不可能不读”。我希望这本书是一本对大多数人故意,在此刻似几乎不用担心。我希望这是一本通俗读物,由于只有更广泛的传播。能够让更多的人受益。

邵发

2015/3/10

认为C/C++很难理解、找工作面试笔试,快看看这本书!的更多相关文章

  1. 猿灯塔:疫情冲击,去体验远程面试被怼10分钟,今年Java开发找工作真难

    网行业,美团王兴曾说:“2019年可能会是过去十年里最差的一年,却是未来十年里最好的一年”.没想到预言竟然快成真了? 年前很多企业一波裁员,2020年又受疫情影响,延长了假期,各大企业复工时间拉长,招 ...

  2. 2020 倒计时 1 天,Python 工程师找工作更难了?

    Python 是最神奇的编程语言. 无意引战,我说的是"神奇",不是"最好",并不想去"撼动" PHP 的地位.               ...

  3. 关于Unity游戏开发方向找工作方面的一些个人看法

     这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...

  4. 转:Eric Lippert:阅读代码真的很难

    转自:http://blog.jobbole.com/438/ 相关文章 微软资深软件工程师:阅读代码真的很难(第2篇) 阅读优秀代码是提高开发人员修为的一种捷径 学会阅读源代码 如何阅读大型代码库? ...

  5. IT行业歧视40岁以上人群为找工作还要谎报年龄[转]

    IT行业歧视40岁以上人群为找工作还要谎报年龄(这样不好) http://www.aliyun.com/zixun/content/2_6_616161.html [赛迪网讯]4月5日消息,许多40多 ...

  6. [找工作] 2019秋招|从春招到秋招,Java岗经验总结(收获AT)

    转自(有更多) https://blog.csdn.net/zj15527620802/article/month/2018/10 前言 找工作是一件辛酸而又难忘的历程.经历过焦虑.等待.希望,我们最 ...

  7. 教你写Makefile(很全,含有工作经验的)

    Makefile 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了 ...

  8. 0302IT行业虽吃香,能完全享受这块“香"的也很难

    面对现今严峻的就业形势,越来越多的人希望通过职业技能培训或者学历提升来提高自己的综合技能以便能够顺利地应聘到自己理想中的工作. 在2014年十大最热门行业和职业排行榜中IT行业最吃香.在十大行业里,I ...

  9. 如何正确学习web前端流程以及如何找工作

    解释一下web前端工作是做啥的,Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发 ...

随机推荐

  1. MFC的消息机制

    MFC的消息循环(::GetMessage,::PeekMessage)消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情 分两个步骤完成: 1 “ ...

  2. 如何得到动态链接库的输出函数tdump命令(225篇博文)

    有的时候,我们需要查看一个动态链接库的输出函数列表,有很多软件可以满足此要求,比如说 exeScope.不过,去下载一个软件总归是很麻烦,Delphi 本身就自带一个类似的工具,那就是 tdump.e ...

  3. NetBSD是个开源到源码的系统

    How to get NetBSD NetBSD is an Open Source operating system, and as such it is freely available for ...

  4. 名字修饰约定extern "C"与extern "C++"浅析

    所谓名字修饰约定,就是指变量名.函数名等经过编译后重新输出名称的规则. 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z.?Func@ ...

  5. Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡

    Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡 说明:       环境基于实验三十 1.准备一台Windows Server 2008 R2的虚拟机名为XenAPP2,然后加入域k ...

  6. Android获取设备採用的时间制式(12小时制式或24小时制式)

    /** * 获取设备採用的时间制式(12小时制式或者24小时制式) * 注意: * 在模拟器上获取的时间制式为空 */ private void getTime_12_24(Context conte ...

  7. Windows8和MacOS10.9双系统安装及Mac经常使用软件安装--联想E49A

    前提 本篇内容所描写叙述的内容仅仅适合联想E49A笔记本,经过本篇的内容之后,对于Mac OS 10.9的使用达到正常工作使用的标准,完美度已经比較好了. 结果例如以下:显卡.网卡(RTL8168). ...

  8. 使用Runtime.getRuntime().exec()方法的几个陷阱 (转)

    Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...

  9. form表单中的 action=./?> 是什么意思

    ./代表当前目录,?代表查询字符串为空 action="" //一般可以为空的,这里的双引号都要有的,表示提单提交给自己(也就是当前页处理)action="a.php&q ...

  10. 【Qt for Android】OpenGL ES 绘制彩色立方体

    Qt 内置对OpenGL ES的支持.选用Qt进行OpenGL ES的开发是很方便的,很多辅助类都已经具备.从Qt 5.0開始添加了一个QWindow类,该类既能够使用OpenGL绘制3D图形,也能够 ...