计算机科学与应用的远发展,直接推动了(C+程序设计教程》-书的第二版C 技术正突飞猛进,日臻完善,而人们也越来越多地需要更强有力的计算机语言工具帮助描 达和解决实际的问题基于此,新版在各方面较之第-版都做了大幅度的参改:在指号 想上,更加强调以培养具有实际编程能力的守员为主要日标:在内容结构上,增强了描 述的层次性,从编程基础、过程化编、0对象化编程,到高级编程的渐送,界限分明而又 过渡自然:在写作特点上,其通速俗易懂性较之第1-版更上一层楼在使用范围上,它要 面问大学生、研究生、教师和科研工作者、由于本书自成体系,又射到计算机专业的请 课程:,所以对完善读者的计算机知识体系也大有掉益 C+的权威 计算机应用音及过程中,有两种学习内容:种是学习其操作法,-种是学习其开 发方法前者是学会如何使用计算机将计算机作工产生直按的经济:是 通过在计算机上的创新让计算机学门,使计算机4聪然者需要付出更 的努力,也香要更多的计算机科学知识当然可以产生更多,更大更深远的经济效益, 而且开发实践又会驱使其对计算机进行更深居层次的研究C+的编程学是后者的-种 入门。 在我国,计集机的发服还落后于发达国家,甚至还赶不上单度,中国要实现数件产业 大国的梦想,需要大量的高级程字员和件工粗师,序设计语言的与运用是一个重 要的契机现在大学计算机专业年级开程穿设计课,其至中小学计算机组 和计算机信息学克赛要进行计算机编图使用C+作为学习8开发的语言在我国不断升 温,而且,是否会编程然成了懂不懂计算机的约-种标志了 无论开发,还是搞研究,对使用的裡序设计语言有着同样高的要要能够有好 的可靠生,高款率,可以在不同平台上移郁尽可能多的标准语言内容,支持数 致性,支持程穿描述的简洁清晰,风格自然。而这些,都是(C+语言的外在特点C+ 既是设计工具,又是实现工具:既可抽象概论,描述实际间题又兼项效率,能银好地实 C+和是今两大热门编程语言,它们各具特色,日前世界上%以上的程字 用C+或2的编器作为工具,这足以说C+在当今计算机科学研究和软件开发中的 地位C+是现代程字设订语言,它在语言设计上已经非常充分,其最机的际标准他 在198年就已订就影响力而它超让了以任何其他程序设计话言 现代程守没计语言的一个重要特征是居层次分明的抽象编程能力,高级与低级编程歌为 体.语言的商级性,在于它能够高度抽象地描述事物,其描述的过程实际上是在分离与
第二板前言 协调不同的描象层次:然后通过结构的4江成了程序:又通过编译器的作用将程序 体转化成与低级活言程序等价的机器代码这意味着:伍的何一个计算机所要完成的足复 的间题总是可以不断抽像,直至成为每个人都能明白的简单过程描达 因此,理解并克分实了C+的过程、函数,前可以抽象到类,再拉象到使用类的编 程,直至面向对象的编程指达,一步比步更象:同,理解了程序行的计算机存 布局,语言的编译及设计:,就可以很好地工作在过程、函数和类交叉作用下的编程调试之 层的描象中别以C+程员可以同时在开发环境的高中,低不同批象层次上作 第二版的改进 技术参图的变更 前C+语言继了标准〔+双从(+米准+具有更至的可移 能够更拙象和便徒地编程。本书以标准C+技术为蓝2技术为参照将前C+ 过波为标准C+,并进行优分比较,在一些涉及性能北较方面还会提及C而第一版则以 C为背景,用前+作蓝本,标准C+作参照 2.内容增补 为了淋离尽致地体现C+的优越速性能。充克分展示利用时空资源的编程手法,增降了性 能-章补充了具有底层编程特色的位操作:新添了名间和特色类型转换:增添了许 多标准傅饭类率的使用实,界面属于技木要处所以对最开了2指国第3 分,还用浅显的進理介细了诸如手柄类、弸计数类工「等高级编程技补了銘多 馍板编程的高级技术,使其与面向对象编程相映成辉:还补充了异常处理的技巧更加清 晰地展现异常的魅力,使之实用化 3.构重组 在内容结构上,加强了基于对象编程,完普了面向对象编补充了高级编程、尤其 是,对第-版的全部文字内容进行了重写。 考虑到一些内容的分量比重,过程化编程中的数组、指计、用和结构,对象化编程 中的堆与携贝构造函数、静态成员和友元重线操你重载10流不再单独成章 这实际上是对全书做的大度的内容结构重组。 由于实例中检入输出的数据设计特别重要、,所以全贯穿了文件流的基本操作。 全书以基本编程语句、数据类型和计算表达的重节顺守展开叙达,同时还归纳了过 化编程的种方法,是作者多年教学经验的总结学了简单的编程语句,随之屐开过 控制结构的实验,以感性认识牵动理性认识在C+学习上更能麦效,也顺应了教学 规律 0这里把从C+的诞生到C+标准确立为上历史阶段称为前C+
第二版 4.强调抽象编程 按象编程是指天用抽象分层的手法进行各个(块的具体编程象编并不是动 ,动动嘴,比画比画的形式,而是更有效进行的具体编要实质性地提高编程能, 必须学习C+的内部实现技术和抽象表达手段,二者并重面向对象编程的士要手段体现 在袖象编程,书中强化了c+的抽象表达技术,特地将多态和抽象类抽出来单独成单克 了第-版在袖象表达手段上的明不足 5.代码鳕写 第一版中的所有代码在第二版中都根据C+标准彻底重写,并大量增补了高效和精巧 的程序代码在例子中,力求代码的完整性。此外,还增加了习题数量,第6章习题涉及 些内部实技巧和数学理论,所以还列出了度等级 内容·特色·锳 1.全书以递进方式展开 第部分编程基础,分四章,包指述、基本编程语句、数据类型和计算表达,其中 基本编程活句和数据类型为重点,它们一个为算法准达的基础,一个为数据结构和轴象数 括类型指的基础。 第二部分过程化编程,分三章包括函数机湖、性能和程序综构.其中还数机制和 序结构描达了过程和过程组织,而性能展示编程艺术 第三部分基于对象编程,分四章,包括类对象生灭、继承和基于对象编程.前三 对类机做了全面指述后一童是基于像方法的个翔角8设实 第四部分高级编程,分四章包括多态、排象类,模板和异常3态和象类是面向 编程的核心内容,模板从模板机制-直描述到泛型编程,异常则主要描述其如何到化 面问对象编程的可第靠性和容, 2.投课时数参考 本书在内容上是跨编程基础、过程化编程、对象化编程和高级编程四合一,可处选 择进行其中的第一、二部分,或第二、四部分的教学,第一、二部分和第二、四部分分别 可以作为一学期约个理沦实戏课时的教学,其中上机实验可到2时法生右 3.革课程教学 打破旧式教学的刻板模式力于消除计算机专业学生在大学业后,却不会编星 的普遍现状将程序设计课程的教学要求和日标牢年定在编程能力而不是应付机械减式的 考试上强调程序没计课程应充实更多的编程实践,让更多有编程经验的教师来计解和指 导实验,.要求以实际的编程活话动来确认是否掌蛋了所学内容和方法。而第一版还图恋着
第二饭前 计算机等级考试,当然,学好了C+编程技能考试协会得心应手 4.学无止墉观 学过-些〔+的人,已经不满足于过程化编程了,而且仅有一些对象化编程的思想也 已经不过窺了,最好能充分利用C+的标准库资源,.且实线我真正的面向对象编程他们 还觉得即使是过程化编程,真的要体现其性能效率各方面,也不那么容易,C+难就难 对内部特性的把握上,而且C+发展太快,新特性大多只有滚动式的经验积黑和长期的 实践,才能洞京其本质:有了对大量优秀设计实例的学习,才能领悟其真滴。 5.从初级精彩走向内在精彩 目前市面上,C+的书籍很多,是眼花练乱,有很多是国外含家写的经之作,但 初学者看了很走有大的收获,而有过-些开发背景的读考看了会觉得很精彩,感到真是一 种享受到了“享受”这个层次,学习C+就无障碍可言了,本书在引导初学学会 欣赏C+学习的初级糖彩头然后根作者的指,接去享受C+经夹若作的内在精 6.观点评鉴 书中经常出现程序设计方法的多样性架讨、语言将征上的优缺点描达及编工评价 等,甚至对C+中的-些名词和术两进行了自以为更确切的中文命名,对于计算机教师和 离级程序员来说是种有益的参考,作者不隐自己的观点更欢迫专家来信探 7代码特色 书中的每个程序代码从性能和易读风格上力求精简,但有时性能和风格并不调和,因 此,有些代会很奇异,甚至个别代码会有些涩难值(相对初学者来说),把这些悬念含 给务爱的艺师来餐几,以使课堂教学更加精彩世把这些代解给大伙-阅 那是共享精华的地方、然而,终充还有不足之处,希望与读者们起来共同提高了 丰富的配套资源 第-版的+程守设计实验指号)将更名为(C+课程设计指号)更新C+的实验 项,会大幅度提高编春的没和广,时(C+程没计习题及答大篇 度充实和调整。作者还将陆续操写《亿+程序设计教程洋解12和(C+程设没计教程猜粹) 以读者,地外,电子课件,#中的源代码都在清华大学出社2:m中 提乐下载 编排特点 Δ每章首均以精炼的文字描达本章所要讲选的容以及意义 △每章结束时亦以生动的文字,给出本章内容的概杰性述,指出本章在全书中的 重要程度,并且指号学生进步学习
第二板前言 △章节日都附有英文,它2们盖了C+大部分的术语,加上书中凡是新出现的概念 都用英文标出,这芹便可以强化今后对C+原版+的阅读理解能力。 △每章末的习题都是操作性习,能通过上机加以验证 △每个有编号的程序代码都经作考来手(a+u6境上谓战完 成,都是完整的可运行程序,它的结构是以程名引号,点出程序功用,然后 以各个代码块列出,代码块之间的注泽行,赵到分隔代码模块,强化阅读理解的 作用。代码中的C+关键字用黑体标出,预编译指令用务体标出,一日了然,如 临编程开发的代码编辑现场 Δ每个程序-般都有结果,0果是描达同一能的字,已经在前面死出了运 行结果,则本程序行结果免去,这行的结果用框圈出,框中的内容中,键盘 △有些程序的运行需要文件数据,则含有数据内容的文件框到在程序代鸡的右上方 一些习题也以数帮文件框和行结果文本框件为编程的输输出要求 △程序设计课程与计算机的其他课程有许多内在的联系,书中将以指引参考文献的 方式引导读者进步阅读同样,涉及些商级+技本术的时候。也以参考支前就 的方式指读者阅读经漠物例如,0列时参 考文前门中,第2章第5节 △#中内容自成体系,各章各节互相参若超前引用后面叙的知识,则以后面 的章节日号指引1读者参考某个细节.例如,名空间续=:6,表示第1章第算 6节以整节的篇幅详细地描达了本概念 △附录中附有爱法号读和标准车导用,它们是编程学习中的重要参考,此外,还 有参女献它们是读考门的好手 温馨致谢 全国各地的读者甚全海外华人对本书第-版给予了高度评价,他(们的支持、鼓励和催 限,是我撰写第二饭的强大动力同时他们还提出了许多宝费意见和建议、无疑,他们推 进了第工版的质量,影了书风格们所模题:多减节号 浙江业大学的教学大课堂给我提供了教学实的场所,学生们虚心求教的态度感 了我,使我下决心一定要搞清原来还不十分清楚的概念,也一定要调通那些稀奇古怪的源 代码。他们進问我的问题带绘我长久的思考,于是,书轮也就慢地清晰赵来了。 M国生程序设计克赛)训是我的号项快果学经和获得数 资的工作.学生们学了一年的编程课程,转到竞培调中来,快乎仍是从零开始。t让 我确信,实践环节对初学者来说,是多2重要,也就更坚定了我强调实戏的宗 0MC6因其技多的+标准性面妨得了标准生编程实线,尤其是之不甚支持请多的标准类编程所烦没有 被作者采纳读者也可以使:+NE本,转法者Lm下的+349上饭本来我证中程序
一些学生得知我在撰写稿,主动要求“先为快,他们阅读了3分#稿,并提出 了修改意凡,使我少走了许多弯路。 許多同事关0此的单付,2我春天般的温暖他们温馨地提醒我不要浪费宝 费的光,。出饭社也经常关心我编进度我无以送论能坐于静心写作和谓 试代码 终在我脑中素绕,给了我突破士何技术障碍的力量 我感到欣胞,因为我修为国家,为读者做出-点页献,也因此感说所有时子我灵感和 力量的人们,我更以无限之情,感终于成就此书的天时、地利、人和路漫我当继 续努力,不负众望, 作者的电子邮件地址是: gm业2m 205夏于杭州自在居
目te 算~都分基础cng 第1章概述(moo 1计g 1.2 C++E# (The Origins and History of C++). 13C+ 1.3.1 ARC( Comment on C) 132C丝者(eo 1338准C+(a+) l4C+编(.a 142编r 4.2最样板序mmy 1435编e) 151程( 52.第法( Algorithms 131第程构(mm 160程化程设计ayg 123 ammm)“… 1612千过程的谈计ny 12化计am 17计 17 L1 A F R BEF t(Ojct-Based ramming 19绑习1(Esr3 第2章基本编程需:(638924 1说明语句(De 11.量(aen 2条件smmm 22(t
目录t 23101e 14446 348体()m 24环计(198 2419符2器形(c 242素数(/ri 25输入输出语,( O Statements ).. 45 251准(Sea 52状态( Stream States))e4 253文件流( file streams ).. 26转移语Mea 2.6 1 break i o( break Statement 2.6.2 continue io continue Statement 2639话9 21再做体计lgsy 21y 28目的户纳(oaao 15355706 29练202 第3章数据类型(:sy 3.1 I (int types) 31进截补吗(8rer 32.型数来克国(m2 11器整度m址h)e 68 314数字面值(et 32整数于类(7 319将型(me 2举型:m)r 33型kel 3浮点4型e)e 319点型表(2 34c串:m(cmg
Contents Ⅸ 341C(C 342守符指针分符数组(aea 80 34:6c的输输(c0 3.4.5 string i (string Streams) 350数组(m 351素个数(erte 83 351初化( Initialization )m.e …!4 353.认值( Default values)... 354二维数组(2 D araVs 36向量(化 62添加无素(erer 363二维量(21t) 89 31指计(pimE 312指的型(lr 93 314指计定(ie 315张月(eger %0 38目的归纳(oio 393:9 第4章计算表达( omputation Expressing) 103 418间解:1 165 42算术算题:asm 421周而复的整数址en 423中间结果滋出stiw %m 424e 43相溶类型8ers 4.3.1 RA#*( Implicit Cast 432精度先(1se 4.33 EAi:*( Explicit( 449系操2y 44e m14
日录 45位操作(a 4新: 451果::ease 452件实付(cae 46增量餐作(eay- 4617量符1t 462符12 463计的量tn 47表达式的作用(t2 411作数值ar 412第译器8米1eder 473换律先(a 474号先数a 122 452到( 9练4(Em9 第二那分过程化程(atmg 第5章数机制1( Function Mechanism 5l函数性质(ware m141 5l配数的形态(:cme14 512配数黑全ab 513传值参数(gn 52排计参数ee 522数的到件:seg 142 53楼机制(:aa 51行肉本ao 532栈区(Tae)rm 53)局数的不鸡突性(:h 534计作:(: 4 54函数计 unction pointers 541指间配数的指计(eer 52数排什aet 543数指es 544略配数指表eea 545函数指的营(7:et 5.5 main ah x( The main' Arguments)