《程序设计教程:用C++语言编程第3版》陈家骏电子书

IT技能 adminlele 3年前 (2021-08-01) 1169次浏览 已收录 0个评论

《程序设计教程:用C++语言编程第3版》陈家骏电子书

内容简介



 本书是以C++作为实现语言的门程序设计课程的教材,以基本的程序设计问题为核心,系统地介绍程序设计的技术、方法和理念。本书概念讲解准确、系统性强,既有简单解法的描述,又有深层次的话题讨论。适合以C++为平台讲授程序设计课程的高校采用。
前  言
  第3版前言自本教材的第2版出版以来,根据我们的教学实践以及广大读者的反馈意见,我们发现教材还存在一些不尽如人意的地方,现予以修订。
教材第3版的变动主要体现在以下几个方面:
1.重新组织和调整了一些章节的内容,使得教材内容安排更加合理,并进一步突出教材对主流程序设计思想、概念和技术的介绍。例如:把对整数的补码表示以及实数的浮点表示的描述集中放入1.1.3 节“机内信息表示”中介绍;把基于断言的程序调试从第4章“过程抽象—函数”移至第10章“异常处理”中介绍;在第5章“复合数据的描述—构造数据类型”的子标题中显式指出每种类型的作用;把“操作符重载”从单独的一章(第2版的第7章)变成一节(6.6.5节)放入6.6节的“对象与类的进一步讨论”中;把C++的编译预处理命令(包括条件编译)、常用标准函数和STL算法以及MFC常用类的介绍放到附录中;围绕“消息驱动”和“文档视”软件结构重新组织了第11章对基于MFC的面向对象程序设计的介绍;等等。
2.针对C++新的国际标准(C++11),增加一些对程序设计有良好支持的C++内容。例如:增加了对λ表达式的介绍,包括λ表达式的定义(4.6.4节“匿名函数—λ表达式”)、实现(6.6.5节中的“函数调用操作符重载”)以及应用(5.5.6节“函数指针”和8.3节“C++标准模板库”),通过λ表达式可以实现匿名函数,它把函数定义和使用合二为一,以提高程序中“临时用一下”的小函数的灵活性;增加了对转移构造函数(6.6.4节“对象拷贝构造过程的优化—转移构造函数”)和转移赋值操作符重载函数(6.6.5节)的介绍,它们基于“右值引用”参数类型实现把资源从即将消亡的对象转移(而不是复制)到新创建的或已有的对象中,从而提高程序效率;等等。
3.针对初学者,尤其是自学者,对一些内容的描述进行了完善,并对全书的语言文字和逻辑进行了优化,使得教材更加便于阅读;对教材例子中的程序代码增加了注释,使得它们更加容易理解。另外,尽量减少了在前面出现而在后面才会详细介绍的概念,以避免给初学者带来困扰。对于必须提前出现的概念以“将在……节……中介绍”的引用形式给出,而在后面用到前面介绍的内容时,将采用“参见……节的……”的引用形式。
4.补充了一些习题,使得读者能更好地理解和掌握核心内容,并有针对性地进行程序设计训练。
5.修正了教材第2版中的一些错误。
本书修订过程中得到了很多人的帮助,在第3版出版之际向他们表示感谢。特别感谢刘奇志老师和黄书剑老师,他们在与作者一起承担程序设计课程的教学过程中发现了本教材的一些问题,并对本教材的修订提出了很多很好的建议,作者获益良多。另外,还要感谢策划编辑朱劼对我们的鼓励与鞭策,并为教材编写出谋划策。
作者于南京大学2015年2月第2版前言本书第1版自2004年出版以来,得到了广大读者的热情关注和支持,很多读者还提出了宝贵的建议,我们深表感谢。
在近几年的教学中,我们也发现了本书的一些不足之处。首先,编写该教材的初衷是介绍程序设计的基本思想、概念和技术,C++语言是作为编程实现语言的角色出现,然而,在教材某些内容的表述上违背了这个初衷,教材的一些地方出现了C++语言“喧宾夺主”的情况。其次,教材在一些内容的表达上过于“精炼”,使初学者有“看天书”的感觉。再次,教材对现在比较流行的C++标准模板库(STL)以及它所支持的泛型程序设计没有给出足够的介绍,从而给读者学习使用STL带来了困难。此外,教材中还存在少量的错误。
针对上述问题,我们对教材进行了修订。第2版的变动主要体现在以下几个方面:
1)重新组织了一些章节的内容,并调整了相应章节(主要是节)的标题和次序,进一步突出了程序设计的主流思想、概念和技术。
2)对教材的文字进行了润色,补充了例子,并为例子中的程序代码增加了注释,使之更加容易理解。
3)补充了对STL的介绍,包括一些常用的容器和算法以及它们的使用实例,有利于读者更好地进行泛型程序设计。
4)增加了对计算机内部信息表示的介绍,使得读者能更好地理解程序设计中涉及的二进制。
5)补充了一些习题,使读者有更多的机会进行有针对性的训练。
6)对一些重要的程序设计术语用不同的字体加以突出的标注并给出了它们的英文对照,突出了对程序设计重要概念的介绍。
7)修正了上一版中的一些错误。
在教材的修订过程中,得到了很多人帮助,在教材第2版出版之际向他们表示感谢,并希望继续得到大家的支持,使教材进一步得到完善。
作者于南京大学2009年2月
第1版前言随着计算机应用领域的不断扩大、应用层次的不断加深,社会对计算机软件的需求急剧增长,这就导致了软件的规模不断扩大、复杂程度不断提高。如何设计出大量的满足用户需求的高质量软件是软件工作者所面临的严峻挑战。
作为计算机软件的主要表现形式—计算机程序不同于其他程序(如音乐会程序),它是由计算机来执行的。这就使得计算机程序的编制(程序设计)不能完全以人的思维模式和习惯来进行,它往往要受到计算机解决问题的方式和特点的限制。除此之外,要设计出解决各种问题的程序,程序设计者往往还需要了解与问题领域有关的知识。这些都给程序设计带来一定的难度。
从程序设计的发展历史来看,程序设计经历了从低级语言到高级语言、从以编码为中心到面向软件生存周期的软件工程、从过程式到面向对象的发展过程。这一过程体现了人们对程序设计活动的不断认识和改进的过程,特别是从过程式程序设计到面向对象程序设计的发展,体现了人们对以自然的方式来描述和解决问题的需求,它使得解题过程更接近于人的思维方式。
有人认为程序设计是一门艺术,而艺术基于人的灵感和天赋。对于一些小型程序的设计而言,上述的说法可能有一些道理。但是,对于大型、复杂的程序设计问题,灵感和天赋是不能很好地解决问题的,几十年的程序设计实践已证明了这一点。不可否认,程序设计需要灵感和天赋,它们往往在程序的一些局部设计上发挥着作用。但从总体上讲,程序设计是一门科学,它是有规律和步骤可循的。通过对程序设计的基本思想、概念和技术的学习,再加上必要的训练和实践,程序设计的规律和步骤是可以掌握的,这正是本书的主旨所在。本书强调准确的程序设计基本概念、良好的程序设计风格和实际动手能力的训练与培养。
关于C++语言是否适合作为介绍程序设计时的编程实现语言,目前存在不同的看法。持反对意见的人认为C++太灵活,以至于会使初学者感到无所适从。本书之所以选择C++语言作为实现语言,首先,因为C++语言是一种流行的高级语言,很多人都在用C++编写实际的程序;其次,C++支持大部分基本的程序设计思想、概念和技术,其中包括对过程式及面向对象两种程序设计范型的支持。再次,与其他高级语言相比,C++语言具有灵活和高效等特点,这使得一些程序设计思想、概念和技术能够更好地实现。本书是以介绍基本的程序思想、概念和技术为主旨,C++服务于这个主旨,而不是相反,这样,初学者在使用C++时能够做到有的放矢。因此,本书对C++的一些特殊的、用于解决非主流的程序设计问题的成分和技巧不予重点介绍。特别地,本书对一些属于C++语言“文化”范畴的内容不予过分强调。
本书的内容分成两大部分:第1章至第5章为部分,主要对一些基本的程序设计思想、概念和技术以及过程式程序设计的基本内容进行介绍,其中包括:数据类型、表达式、流程控制、子程序(函数)、递归等;第6章至第12章为第二部分,重点介绍面向对象程序设计的基本内容,其中包括:类/对象、继承、操作符重载、类属(模板)、输入/输出、异常处理以及面向对象的Windows应用程序基本框架等。
本书既适合于程序设计的初学者使用,同时,对具有一些程序设计经验的人也有一定的参考价值。本书可以作为一学年的程序设计课程使用,其中,学期介绍第1章到第5章的全部内容以及第10章的部分内容;第二学期介绍第6章到第9章全部内容、第10章的部分内容以及第11章到12章的全部内容。如果读者已学过过程式程序设计(如C语言程序设计等)的基本内容,则本书也可作为一学期的面向对象程序设计课程使用,重点介绍第6章到12章的内容。书中加“*”标记的节在初次阅读时可以跳过。
本书的编写和完成与很多人的帮助是分不开的。首先,要感谢郑国梁教授对本书编写工作的精心指导。在内容的选取、安排、用语的规范性等方面,郑老师都事无巨细地给予了考虑,并检查了全文(包括每个例子程序)。值得一提的是,作者编写本书所必备的专业知识和专业素质是在郑老师的长期熏陶下获得的,这些知识和素质使得作者能够完成本书的编写。其次,非常感谢尹存燕老师和戴新宇在本书习题的设计和文字易读性方面所做的大量工作;非常感谢孙明欣和周明对书中内容所做的检查工作,特别是对本书初稿中一些概念上的模糊与谬误、内容安排的合理性与易读性以及在遵守C++标准规范方面所提出的建议;感谢胡昊和徐锋,作者对一些基本概念的理解是在与他们就相关问题的讨论中获得的。另外,还要感谢机械工业出版社的温莉芳总编辑对本书编写工作的鼓励和支持。
后,要感谢我们的家人对本书编写工作的理解和支持,本书的编写占用了大量本应与他们共度的家庭欢乐时间。感谢所有支持和帮助过本书编写工作的人们。
由于作者水平有限,加之时间仓促,错误和疏漏在所难免,恳请广大读者不吝指教,以便于我们在今后的版本中进行改进。

作者简介



南京大学 陈家骏

下载地址

 

程序设计教程用C++语言编程(2005-2)[C++·计算机·教材]-陈家骏-9787111146773.azw3:

http://xz.tbookk.com/f/560517-487423737-13afbb

《程序设计教程:用C++语言编程第3版》陈家骏电子书此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“杰哥读书”或者“tbookk”或者微信扫描右侧二维码都可以关注本站微信公众号。

程序设计教程-用C++语言编程(2005-2)[C++·计算机·教材]-陈家骏-9787111146773.epub:

《程序设计教程:用C++语言编程第3版》陈家骏电子书此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“杰哥读书”或者“tbookk”或者微信扫描右侧二维码都可以关注本站微信公众号。


中信图书出版社全部书籍617本 百度网盘福利
西部数码域名服务器优惠券 老薛主机优惠券
请通过以下商城购买正版书籍
图书库 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:《程序设计教程:用C++语言编程第3版》陈家骏电子书本站电子书版权归原作者及开发商所有,仅限个人测试交流学习之用,请在下载后24小时内删除。若有违反您个人权益,请留言反馈删除相关信息。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址