正版保障 假一赔十 电子发票
¥ 52.84 5.4折 ¥ 98 全新
库存4件
作者爱编程的魏校长
出版社化学工业出版社
ISBN9787122357533
出版时间2020-03
装帧平装
开本16开
定价98元
货号1202050963
上书时间2024-12-21
上大学时,有一位教授讲大学学习之道,给我们提了一个建议:任何一门课程,*好同时采用2~3本教材来学习。教授的这一方法,让我们受益良多。我记得,当时大学里的*门程序设计语言课是PASCAL,可是我们的教材,我学起来有点吃力,后来发现学校上机实验是VAX 小型机,于是从图书馆借来了小型机和PC 机的比较类图书,关键的是我还买了一本写得更加浅显的、基于PC 机的PASCAL 图书,同时学习了这些图书,我很快就掌握了PASCAL 语言。后来的线性代数、模电数电、数据结构和算法、操作系统、计算机原理等课程,我都用这种方法,同时从图书馆借或者购买1~2本比我自己用的教材浅一点或者深一些的教材,对比着学习。有的让我快速入门,有的让我掌握更深……感谢教授提供的学习方法。
针对C 语言,我也向大家推荐这种学习方法。一方面,C 语言比较难;另一方面,如果你想成为一个编程高手,需要广泛涉猎相关图书,因为很多教材基于其定位,覆盖不到一些实际常用的编程常识。
我们认为,世界上有两种C 语言:一种是具有基本算法描述能力的C 语言,我们称为基本C ;另一种是具有内存操作等特色的系统编程能力的C 语言,我们称为系统C。所以,一本好的C 语言图书,要经得起两次阅读:*次,让读者掌握基本C,帮助读者将来顺利学习后期如算法和数据结构等相关课程,帮助读者学习C 、Java、C# 等C 派生的程序设计语言;第二次,让读者体会系统C 的关键。基本C 的学习,让读者将来可以轻松掌握其他程序设计语言,让读者具有移植能力;系统C,则让读者具有实战的开发能力。
我们这本C 语言图书,就定位于比一般讲解“基本C”的图书略微高深一点,希望可以成为读者C 语言教材之外的第二本辅助学习用书。
同时,我们也希望这本书给读者提供一些C 语言学习的闯关之道。
程序设计的水平提升是有一些关卡的。一旦你打过了这一个关隘之前的小怪兽,你的水平就提升一级。
在我们的C/C 学习交流群里,大家总结,基本上有以下这三个大关,一旦闯过,掌握程序设计语言这件事情,或者说用程序设计语言来为我们解决问题这件事情,我们认为就达标了。
*个关口:编译提示关
我记得在学习编程之初,*个程序,我觉得就是按书输入的程序啊,可是编译提示总是提醒我有问题,让我很有挫败感。十几分钟之后,我放弃了自己纠错的可能性,问旁边一个同学,同学看了一眼,说:“你有一个关键字少写了一个字母S”。
我一看,果然如此。要知道,20 年前的编译器,错误提示经常是牛头不对马嘴的,定位不准。而且,我们那时参考书和学习资料很少,*能获得信息的地方,就是IDE 提供的帮助文件(Help),而且这个Help 还是全英文的!
还好,这个编译错误之后,我的编程之路就比较顺利了,慢慢我也摸清了编译器的脾气,自己能迅速定位错误所在。嗯,有些提升也是意外的,在整整两年几乎天天和BorlandC V3.1 打交道之后,我大约找到了十来个它的缺陷(bug)和避开的方法。当我啃了这全英文的Help 之后,英文技术文档的阅读水平也大大提高了,真是让人意外。
后来,从几个学习群,还有读者来信中了解到,大量的读者,*个bug、*个过不去的关卡,是使用了全角英文的字母,读者也是看不懂错误提示,然后怀疑自己的编程能力。这里,我先提醒大家,编译器和IDE 都是给半角纯英文环境设计的,他们没有想到还会有中国人使用全角的这个问题。你们一定要跨过这个关口。实际上,我们的经验是,跨过这一关,你的学习能力开始具有加速度。当大一完成C 语言程序设计的基本学习之后,假设从大二开始,像我们当年一样每天编写100行代码,等到大四毕业的时候,你怎么也有几万行代码的编写经验,基本上,找一份薪水优渥的工作就问题不大了。所以,一定要在大一闯过IDE 工具和语言的熟练关,像我们当年熟练掌握了Borland C ,后来也很轻松就转到其他开发工具上。这些工具之间举一反三,很容易就能学会。
就像我们熟练使用Windows 系统,是从了解鼠标开始的一样,要学好C 语言,要先过编译提示关,而且这个关口完全靠你自己摸索,别人几乎帮助不了什么。还好,你开始学习的时候,都是小程序,错误提示都是逐步出现的,一次只会出现1个或2 个,而且会大量重复,这给了我们积累的时间。
第二个关口:理解变量和计算机对变量的操作
好多读者转不过这个弯来,始终觉得计算机程序是一个很奇怪的东西。这方面,我们从计算机的运行原理出发,给大家做了比较精彩的解释,希望能帮助大家跨越这一关。
20多年前,我们刚进大学时,是在VAX 小型机上学习编程语言,但很快又在PC 机上学习另外一种编程语言。两种平台的区别把我们折腾得苦不堪言。老师也是匆匆来上课,很难找到他们去问问题。后来我仔细研究了两个上机手册,还是学校自己编印的那种,然后借助图书馆的好多资料,才明白小型机、UNIX、PC 机、DOS 的区别。现在回头来看,没有好书,没有人指导,真的是非常痛苦,但也锻炼了我们的学习能力,慢慢积累了和各种机器打交道的经验,不亦乐乎?
在今天这个时代,你需要理解Linux 系统、Windows 系统和手机操作系统的区别,慢慢理解CPU、硬盘和内存是什么关系,逐步提升对程序和系统的理解,这有助于你编写更好的程序。很遗憾,这些内容其他C 语言图书中很少涉及,我们从现实需要出发,在本书中编写了这方面的相关内容。
第三个关口:现实问题的计算机化
中小学时期,很多人缺乏抽象训练,不能把生活中的问题数学化,以至于解决应用题时,一旦需要用到x,y,z,就感到一头雾水;如果要列出数学关系式来,更是让人绝望。但是,把现实问题用计算机来解决,建立数学模型,把数学问题计算机化,难度就小很多了。并且,这些问题的程序设计解决之道,是有规律可循的:
(1)利用计算机强大的不知疲倦的计算能力。枚举法,不停地循环计算,是常见之道。所谓暴力计算,*典型是“百钱买百鸡”问题。
(2)利用计算机强大的存储能力。我们可以把一些做法甚至结果存在内存里面,根据需要调用即可。比如,暴力解决“算24”问题。
(3)实在没办法,还有强大的函数库嘛,会使用就行了。
还有很多的数据结构和算法,可以让你体会如何把现实问题计算机化并采用一定的数据结构和算法处理,看多了,自然就会用了。这一关的意义是让读者成为一个真正的程序员。我大学毕业时接触的*个项目是体温计。我们要从大量的数据中抽象出一个数据模型来,然后用计算机去统计和适配,*后得到一个算法,用以修正我们测量的数据。
如果具有良好的现实问题数学化、计算机解决化的能力,就可以轻松跨过学生学习到的知识到现实职场能力之间的小关卡。当然,过第三关的时候,*好辅助一些数学建模等相关图书,还有一定的课程设计、毕业设计级别的编程实践才行。至少你要理解结构体在解决现实编程问题中的意义。
我们把跨过这三关的方法作为三个重点,融合在这本C 语言程序设计能力提升的参考图书之中,读者只需要按照本书的内容,加强练习,每天提升自己一点,每天理解一点C 语言的精华所在,像钻研武功秘籍一样去修炼,相信你可以轻松过关。
这三关翻过,你基本就来到了编程的自由境界,你会从不断和计算机的交互过程中获得各种乐趣。如果你和当年的我们一样爱上编程这件事情——写一个代码,很快就能看到结果,这种机器实验实在是太吸引人了——你就可以开始探索程序设计中的其他奥秘了,比如一些指针的高级用法,充满玄妙的编程技巧,开始去理解“程序= 算法 数据结构”。同时,你也积累了一些良好的编程习惯,或者说,掌握了软件构建的工程之道。毕竟,程序员除了是手工业的码农,还是一个软件工程师。
今天的读者很幸运,既有大量参考书籍,又有中文系统环境,还有网上交流的渠道。希望大家通过这本书,结合你们学习C 语言程序设计的教材,逐步精进你的程序设计水平,成为一毕业就基本可以上岗的开发人员!
爱编程的魏校长
C语言是学习其他程序设计语言的基础,也是编写硬件相关的嵌入式系统等系统级程序的优秀工具。本书从贴近CPU和内存原理的角度,给读者提供了一个学习—实践—应用C语言的逐步掌握C语言并成为C程序员的技能提升方案。
全书分5篇17章。前3篇分别讲述C语言的起步知识、控制程序流程的基础、编写基本C代码的组织工具;第4篇包含了编写系统级程序所需要的C指针、结构体、编译预处理等关键知识;第5篇提供了应用C开发程序所需要的技能和初步实践方法。
本书可作为高校学生学习C语言的教材和辅助读物,也可作为中学生参加NOIP竞赛的参考书,还能作为初级嵌入式程序员理解C语言的工具书。
1、本书是一本一线程序员教授零起点读者掌握C语言的经验性图书。
2、从计算机原理和数据内存控制原理角度讲解C语言的指令、变量和语句等内容,帮助读者真正理解C语言。
3、C语言的应用陷阱特别多,本书总结整理了这些使用中的陷阱,分布在相关章节,供读者提升内力之用。
4、本书讲解了Linux、Windows系统和手机上操作系统的区别,分析了CPU、硬盘和内存是什么关系,逐步提升读者对程序和系统的理解,这有助于编写更好的程序。
5、跨关思想。书中设定了三个大关,每章设定了一些小的关卡,读者学完一章,想一想,测一测,看自己在哪些知识和技能方面已经过关,就会发现距离自己成为专业程序员更近一步,给读者以学习的动力。
— 没有更多了 —
以下为对购买帮助不大的评价