首页 > 图书中心 >图书详情

C++程序设计教程(第3版)(竞技版)-微课视频版

提供PPT课件,大纲,视频,源码,答案,上机,咨询QQ:2301891038。本书是改版教材。然而从指导思想、内容结构、写作特点等方面,都以全新的面貌呈现于读者。全书全部重新执笔,代码全部重写,涵盖了基本C++编程方法的全部技术特征。本书以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。

作者:钱能
定价:79.80
印次:3-3
ISBN:9787302547914
出版日期:2020.11.01
印刷日期:2022.07.26

本书是改版教材。然而从指导思想、内容结构、写作特点等方面,都以全新的面貌呈现于读者。全书全部重新执笔,代码全部重写,涵盖了基本C++编程方法的全部技术特征。 本书以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。

more >

前言          人工智能发展的大势   人工智能代表了人类科学发展的前沿领地,C++与其关系密不可分,所以本教材系列的出版有人工智能发展背景的一席之地。   人工智能目前尚处初级阶段,但其研究所派生的应用已经硕果累累,正在快速地改变我们的生活。人工智能解读医学拍片的本领已经比医生高;查阅法律证据的能力也比律师强;飞机及航空管理正在被人工智能替代;车辆行驶人工智能系统比人的操纵更好; 搜索引擎中的人工智能可以分析照片,告诉你照片里面的故事。在线地图、数码相机、自动驾驶、无人超市、无人餐馆、无人银行等,今后甚至桩桩、件件、处处都可装智能芯片,从而纳入人工智能管理。   人工智能最关心的是人工自主意识,目前网络和计算机已经完成了知识的检索和存储,几大搜索引擎也完成了关键字-关联解释的功能和海量数据积累,大多数机器人厂商已经完成了反应机、自适应等高级功能,但却还没有能通过图灵测试的真正的人工自主意识。当然人类对自身意识的研究水平制约着人工智能的实现,人工智能的应用还可反哺于人类对自身意识的研究。   人工智能或许认为,神经网络系统只有复杂到一定程度,且在大尺度上的相似性保持高度一致,其个体自然产生的意识才会具备类似神经网络个体的认同和感知。但在技术上,意识只不过是人造神经网络中诸多需求反馈链交错所致。所以,人们通过研究人类神经网络的构成分布、互联网的社会化训练过程,“自然产生”个体意识。但实际上目前网上的软件自动机和各种设备产生的不知名网络现象,即所谓自主意识,因还无法被人工智能所感知,只被当作不知名故障进行“修复”处理,自当无解。   人工智能又或许认为,可以通过人工制造的智慧个体(机器人),在初期表现出类似创造者的行为和意识,再慢慢地进化。“机器学习“和“深度学习”被证明是个有效的手段,但受限于机器人硬件发展和大数据,前路漫漫。况且面临着神经反馈网络发展的实际问题,进化过程中的数据“过载”或“饥荒”会导致行为和意识的随时失却。   然而人类正在不依不饶地解决人工智能的关键问题:机器人的行动能力和对环境的视觉、听觉、触觉、嗅觉感知能力都在快速增强,智能推演之,则机器人就可自行获取运行的能源;软件自编程系统逐渐实现的自继承、自升级和自恢复,可以使机器人自我修复和完善;人类所掌握的全方位机器人设计、生产、测控在逐渐人工智能化,总有一天,机器人可以自行复制。   未来的人工智能发展速度将呈指数级攀升,将有越来越多的机器人通过图灵测试而具意识。一旦人工智能具有创造性思维,其发展将促进人类的巨大科学进步。显然,人工智能离不开计算,其需要远远大于现有的计算能力,除了期待量子计算机外,还需要有高可靠性的软件架构和高性能算法,这便需要千锤百炼的编程语言和纵横交错的软件工具。 C++的发展与地位   C++在1998年制定了一个里程碑式的C++ 98国际标准,确立了C++语言的强势地位。之后,C++标准每年修订,2011年制定的C++11标准,使得C++的强类型特征得到了充分的体现,模板编程规范渐趋成熟。C++11标准再次深度影响了C++编译器的变革,其发展无时无刻不在说明其语言的完美缔造。   C++充分继承了C,保持了与硬件的亲和性,在此基础上,有机结合了诸多编程方法,兼容C的过程化编程框架,实现了面向对象的高效设计,又开辟了可自动生成的模板编程架构,在程序设计语言界绝无仅有。C++是当前使用最广泛的软件工具之一,其实现技术含量最高,应用于最重要领域。C++给我们搭建的软件架构,得以让人类展开多层次的人-人、人-机的互动设计,其正完美地表现出作为人类自然语言的化身角色。   从另一个角度来说,C++编程本身就是在撰写一篇优美的诗文,叙述一个精彩的故事,谱写一首动听的曲子。随着韵律和情节的跌宕起伏,什么时候故事讲完了,代码也就收尾了。好文章语义清晰、简练生动、辞藻华美、引人入胜;好代码通俗易懂、结构清晰、层次分明、优化高效。因为C++独具多种编程方法,包揽从算法优化的微观细节,到模板架构的宏观布局,因而其开拓了编程中更广泛的遐想与表达的空间,C++编程充满美感。   微软操作系统及其架构,Apple的大部分底层软件,腾讯的QQ和微信,阿里云、百度云计算之底层架构,Google的Android底层架构,大部分数据库核心代码,几乎所有重要的系统,只要上规模,需要保证高可靠性,计较性能,无一不是用C++工具搭建。   正因为C++继承了C的衣钵,充分实现与系统硬件的无缝对接,追求高效率编程,才使得人工智能兴起的今天,大量涉及硬件相关的软件开发,C++是首选;其在人工智能的软件架构中,核心的逻辑语义表达,不但描述能力无可挑剔,而且在性能和效率方面占尽了优势。   重量级IT企业在招聘大数据工程师时,机器人公司在招聘开发人员时,都把C++编程作为必备能力。目前在中小学教学的信息学与程序设计课程开设中,C++趋向于统一指定为高考入学备考科目。事实上,学好C++,再自学其他编程语言就很容易,反之则不行。   编程语言的世界排名前四名已经长时间被Java、C、C++、Python这4种语言所占据。Java因其应用面更广泛而持续居于榜首,但在人工智能领域,Python编程相比Java,或许更加清爽、整洁、漂亮,其跃居前四,又有后来居上之势。人工智能也带来了C++的再次繁荣,从某种程度上说,Python编程只是在搭建软件的外包装,而C++才是其核心。C++与C在占据系统底层应用方面没有什么差距,但是在规模化编程、自动生成、实现系统架构方面,非C++莫属。况且由于C++源自C的特点,C编程往往又是在C++平台中实现。追本溯源,C++语言才是当今人工智能大发展上最重要的工具。 改 版 框 架   本教材系列进化到第3版,是作者20多年C++教学研究与实践的总结。改版之后,每本主教材的框架结构没有变,所以遵循原编排特点、内容特点、学习方式。但毕竟编程应用需求形势大变,C++的地位攀升,急需权威的C++教材主导C++的编程教学,故而第3版各版本的名称拟定、排版、内容都做了较大更新。   教材注重能力培养的理念与架构,必然在课程教学中从事问题驱动的教学模式,重视实践环节的设计和辅导,故在附表中,一并提供课程教学的全程视频对应表。   第3版中各版本一律改用双色文字排版,代码以及关注文字用另一种颜色和底纹凸显,从根本上改变了排版式样,可读性得以显著提升。   第3版中各版本的内容在原书的基础上修改提升,涉及内涵深度、风格表现、描述侧重点等诸多不同。其版本名称见表1。 表1 第3版版本框架 序 类别 较 早 版 新  版 1 基础型 主教材 《C++程序设计教程(修订版)——设计思想与实现》 (十二五规划教材) 《C++程序设计教程(第3版)通用版》 2 实战型 主教材 《C++程序设计教程(第2版)》 (十一五规划教材) 《C++程序设计教程(第3版)竞技版-微课视频版》 3-1 拓展型 主教材 《C++程序设计教程详解——过程化编程》 (十一五规划教材) 《C++程序设计教程(第3版)专业版——过程化编程》 3-2 拓展型 主教材 《C++程序设计教程详解——对象化编程》* (十一五规划教材) 《C++程序设计教程(第3版)专业版——对象化编程》 4 配套 教辅 《C++程序设计教程(第2版)——实验指导》 (十一五规划教材) 《C++程序设计教程(第3版)——实验指导》 5 配套 教辅 《C++程序设计教程(第2版)——习题及解答》 (十一五规划教材) 《C++程序设计教程(第3版)——习题解答》    *指原书未出版。   第3版的通用版:侧重C++基础,主要从概念着手,介绍C++编写程序的技法,强调编写正确的程序。学习之后,应当能了解C++是怎么回事,能解决什么问题,能看懂C++程序,了解C++的诸多技术特征,能编制一些简单的C++程序,能发现一些常规的C++错误,了解不同的程序设计方法,对面向对象程序设计方法及其特征有一个基本的了解,具备进一步学习后续课程(如数据结构、算法分析与设计)的基础。   第3版的竞技版:侧重C++分析设计技术,从实战训练着手,介绍C++的各种编程策略与技术,引导对数学及算法学习的重视,强调编写高效的程序。学习之后,应当能掌握基本的问题分析方法,掌握解决问题的设计技术;了解编程过程中的许多难点,深切体会细节决定成败;能够学习且具备参加各个层次程序设计竞赛的能力;对C++能解决什么问题的能力有全新的看法,进一步了解面向对象程序设计的方法;学会层次分析和功能拆解,具备独立设计一个规模较大的程序的能力;具备语言学习的独立能力。   第3版的专业版:一方面对竞技版的C++分析设计技术从底层的内存布局、编译器类型识别、各项技术相互关联等进行深度解析;另一方面介绍C++新标准及其新编译器所涉及的技术,以纵向视角来审视C++的未来发展,更全面地了解C++的实现技术,全面了解面向对象程序设计方法和技术,产生对高级模板编程的兴趣。虽然本版本未必能成为高校C++课程学习的主流,但是将其作为参考,可以作为国外诸多C++优秀教材之补充。   通用版、竞技版、专业版编纂目的不同,学习目标不同,但3个版本都出自同一起点——“Hello World”。每个主教材版本独立成体系,保证概念的正确性和前后连贯性,而又相互补充,展示C++不同的发展阶段,也展示不同的目标要求,满足了不同学习能力的读者的学习需要。对于没有编程基础的读者,则适合从基础型教材的学习开始,逐渐进入实战型教材的学习训练,而将拓展型教材作为研读或参考教材,去领略C++前沿之精妙。   在上述3个版本主教材的基础上,所撰写的三大教材的统一的实验指导和习题解答,则适合作教辅资料。倘若没有基础版的学习,又无行家点拨,则后面的编程学习会具有一定的困难,这也是在教学过程中确实存在的问题。   第3版的教材与其他国内外教材最大的不同,是聚焦于培养读者的编程实战能力。C++语法现象的学习或许并没有面面俱到,但是运用C++的编程方法与技巧,实际地解决问题,却占有相当的篇幅。 本书的技术特点   从实战的角度来打造全书,这是本书最大的特点。   因为有通用版的支持,一些概念不再细化或重复,更重要的是,教学理念变了,认为编程需要一个能力培养占主导的学习氛围,能力、知识、素质培养本是三位一体,强调培养编程兴趣,通过参加有意义的编程活动来结合教学。全书通过实战化的实例教学、实战化的实验方式、实战化的考核及其编程竞赛活动三个环节来达到快速提升编程能力的目的。而面向对象程序设计部分的叙述,更注重以尽可能小的篇幅,滤清编程问题。   竞技版以32位编译器BCB 6.0和VC 6.0为代码测试依据,强调C++ 98标准,剔除非C++痕迹,形成代码个性。竞技版在正确性的前提下,注重程序的高效性。专辟第6章讲程序性能问题。书中注重对问题求解的分析,分析方法涉及程序逻辑,性能优劣的讨论也占很大比重。分析过程也一样影响到实验指导中对问题的分析设计及代码解答。   竞技版从编程技巧的角度讨论了多种优化方法。例如,空间换时间,位操作代替逻辑运算,整数表达式作逻辑运算,逻辑值参加算术运算,内嵌函数,循环表达等。书中还对典型优化的问题展开系列的讨论。例如,基于不同数据规模的素数判断,斐波那契数列之动态求值,用环链表结构解决Josephus问题。代码优化充分挖掘了语言的内部特征,为算法优化打下了扎实的基础。   书中的章节编排,更注重实践的推进。例如,提前介绍文件操作,淡化输入输出流的面向对象特征等;因强调C++标准,更因强化实战编程能力而规范代码。例如,强调自定义类型作为引用参数传递,拷贝构造函数的常量引用参数,精简的for循环描述,条件表达式对if条件判断语句的简化;许多概念厘清了内在的原因,例如,为什么要用“破坏”封装的友元的描述,异常机制与函数调用的差别描述。字串处理占到编程实践的相当比例,用string字串处理可以给编程带来更多安全和方便,书中将string串与C字串结合,充分权衡了运行性能与高效编程,实现了利益最大化。   竞技版致力于系统化阐述面向对象程序设计的三大概念——封装、继承、多态,讲清面向对象的真意。开始使用“类系”(即类的家族)这个名词,让读者意识到,面向对象程序设计的核心即是围绕如何处理类族对象。专业版将沿用类系一词。   C++从C而来,平添了面向对象程序设计方法,又提供了STL编程,简化了初学中的编程描述。然而应了解什么情况下用STL会高效,需要多大的努力才能用自己冗长的代码来媲美STL代码的性能。例如,用冒泡排序加条件判断来应对各种复杂的排序要求,总是战胜不了亲自配备比较函数的STL排序算法sort。因编译器仅支持C++ 98标准,故STL编程中的方便性还未充分体现,模板编程也只滤清了一些概念,无法充分实践用模板框架结构进行模板编程。 温 馨 致 谢   世界真奇妙,人逢知天命之年,却还百般任性,人的劣性也由此爆发,各种不顺都来围剿,整天疲于应对琐事,因而我放弃了写书。不料,出版社的魏江江,一句希望,一句怂恿,把我封存在心的C++情结给钓了出来。回想这改版啊,本来就是我的梦。终于2018年的9月,决定要做改版的事。   编辑王冰飞,诸多鼓励和建议,洋溢着热情与幽默,以及印象深刻的高效工作,让我感受到C++教材撰写工作的崇高。教材的受益群体,从中小学生、大学生到程序员,都需要提升编程能力来强化自己的内涵和跟进现实世界,以致我认定了意义,直奔赶进度的节奏而去。   家人默默的生活支持,酿成了一种影响力,一句“快写C++”的催促,将本不起眼的几个音节,窝成了一个大大的推波,汹涌地扑在我的心上。   诸多同事,C++的OPS(Online Programming Space,在线编程天地)提交系统维护者刘端阳和陈波老师,还有与我抱团的张永良和王英姿老师,共同实施了C++精品课程的编程能力训练。还有我的整个C++教学团队,学院教学院长江颉老师从一开始就是C++能力培养型教学的支持者,课程教学责任人龙胜春老师的虚心求教的启示及平时给予我很多的关照,毛国红老师对我的C++程序设计试卷提出的精益求精的见解,等等,恕不一一列出。他们都是我教材撰写的促进者。   在我内心深处,还有一种更原始的动力,来自恩师王国东先生,他是我的人生导师,我能得以轻轻放下,又重拾信心,拣起改版一事;他更是我长此以往写C++教材时的诸多灵感与智慧的源泉,系列成书,功不可没第一人。      钱 能   于杭州自在居   2020年8月

more >
扫描二维码
下载APP了解更多

同系列产品more >

C++程序设计教程(第3版)实验指导

钱能
定 价:45元

查看详情
C++程序设计教程(第3版)(通用版)...

钱能
定 价:69.80元

查看详情
C++程序设计教程详解——过程化编程...

钱能
定 价:79元

查看详情
C++程序设计教程(第二版)习题及...

钱能
定 价:34.50元

查看详情
C++程序设计教程(修订版)——设...

钱能
定 价:42元

查看详情
图书分类全部图书
more >
  •  
  • 本书以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。
more >
  • 第一部分  基 础 编 程

    Part Ⅰ  The Basic Programming

      

    第1章  概述(Introduction) 2

    1.1  程序设计语言(Programming Language) 2

    1.2  C++前史(The Prehistory of C++) 4

    1.3  C++ 6

    1.3.1  褒贬C(Pass Judgement on C) 6

    1.3.2  C继承者(Inheritor of C) 7

    1.3.3  标准C++(Standard C++) 7

    1.4  C++编程流程(C++ Programming Flow) 8

    1.4.1  编程过程(Programming Procedure) 8

    1.4.2  最小样板程序(Minimum Sample Program) 9

    1.4.3  编程风格(Programming Style) 10

    1.5  程序与算法(Programs & Algorithms) 11

    1.5.1  程序(Programs) 11

    1.5.2  算法(Algorithms) 12

    1.5.3  编程与结构(Programming & Structures) 13

    1.6  过程化程序设计(Procedural Programming) 13

    1.6.1  基于过程的程序设计(Procedure-Based Programming) 13

    1.6.2  结构化程序设计(Structured Programming) 16

    1.7  对象化程序设计(Objectified P...

精彩书评more >

标题

评论

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘