C++入门经典(第10版)2017-11 沃特·萨维奇

所需积分/C币:50 2019-01-19 11:51:08 132.56MB PDF
收藏 收藏
举报

Walter Savitch教授的C++入门经典,长销十几年 结构严谨、清晰,行文诙谐幽默,妙趣横生 更多技巧提示,更多生动有趣的编程实例 近70个精彩视频,410+自测题,230+编程项目 名人推荐 “我的学生和我非常喜欢这本教材,Savitch教授功力深厚,善于将这些枯燥的知识变得浅显易懂,而且他的行文诙谐有趣,我们师生都喜欢这样的方式。学生们告诉我,他们终于买到了一本真正物有所值的大学教材。” ——Jennifer Perkins,阿肯色州立大学小石城分校 “Savitch的这本教材在我校已经使用多年,它赢得了我们师生的一致认同。Walter Savitch用清晰、简练的风格解释了难懂的
内容简介 作为C++入门经典教材,本书结合作者多年的教学经验,清楚梳理出一个有利于教与学的结构体系, 从各章开头的内容总览,到随处可见的自测题、小结框、编程提示和编程陷阱,再到章末的小结、习题 编程练习和编程项目,由浅λ深,从简到繁,可以帮助初学者渐入佳境,逐步理解并掌握重要的编程概念。 全书共18章,8个附录。在讲解C艹+基础知识之后,循序渐进地引导读者深入函数、O流、类、控 制流程、命名空间、数组、字符串、指针和动态数组、递归、模板、指针和链表、派生类、异常以及标准 模板库。本书前几版被全国100多所高校选作C++程序设计课程的教材,很受师生欢迎。本书也适合自学, 不同层次的知识点和测试练习,可以帮助读者以自己的节奏进入美妙的C++编程世界。 Authorized translation from the English language edition, entitled by PROBLEM SOLVING with C++ Tenth Edition, by WALTER SAVITCH, published by Pearson Education, Inc, Copyright @2018 Pearson Education. Inc All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. CHINESE SIMPLIFIED language edition published by PEARSON EDUCATION ASIA LTD, and TSINGHUA UNIVERSITY PRESS CO, LTD. Copyright @2018 本书简体中文版由 Pearsonε ducation授予清华大学出版社在中国大陆地区(不包括香港、澳门特别行政 区以及台湾地区)出版与发行。未经许可之出口,视为违反著作权法,将受法律之制裁。 本书封底贴有 Pearson Education防伪标签,无标签者不得销售。 版权所有,侵权必究。侵权举报电话:010-6278298913701121933 北京市版权局著作权合同登记号图字:01-2017-6936 图书在版编目(C|P)数据 C++入门经典:第10版美]沃特·萨维奇( Walter Savitch)著;周靖译.-10版.一北京:清华大学出 版社,2018 书名原文: Problem Solving with C++(l0 Oth edition) ISBN978-7-302-48676-3 I.①C…Ⅱ.①沃…②周…Ⅲ.①C++语言一程序一设计一教材ⅣV.①TP3128 中国版本图书馆CIP数据核字(2017)第269408号 责任编辑:文开琪 封面设计:杨玉兰 责任校对:周剑云 责任印制:李红英 出版发行:清华大学出版社 网址:htp:/ww.tup.com.cn,htp:/ww.wqbook.com 地址:北京清华大学学研大厦A座 社总机:010-62770175 邮邮 编:100084 购:010-62786544 投稿与读者服务:010-62776969,c--service@tup.tsinghua.edu.cn 质量反馈:010-6270205,zhiliang@Tuptsinghua.edu.cn 印装者:北京密云胶印厂 经销:全国新华书店 开本:185mm×260mm 印张:47.75 字数:993千字 版次:2018年1月第1版印次:2018年1月第1次印刷 定价:138.00元 产品编号:075771-01 译者序:大道至简 最近在看《罗素回忆录:来自记忆的肖像》,罗素的行文向来字字珠玑,具有很强的 感染力,很容易引起读者的共鸣,能给读者带来许多启发。其中有一篇小文介绍他是如何 写作的。他在文中讲到:“我希望用最少量的词便能够把每件事情说得一清二楚。我肯花 时间设法找出最简洁的方式把某些事情毫不含糊地表达出来,为此,往往不惜牺牲追求美 学上优点的一切企图。”在他21岁之前,希望自己的写作风格能够接近于约翰·米尔的风 格,因为后者有值得他效仿的句型结构和拓展主题的方式。经过种种尝试之后,罗素终于 醒悟,意识到对华丽词藻和张扬写作风格的模仿会诱发一定程度的虚伪性,认识到所有的 模仿都是危险的,从而总结出一些简单的写作准则: 其一,如果可以使用一个简单的词,就永远不要使用一个复杂的词。其二,如果你想 要做一个包含大量必要条件在内的说明,那么尽量把这些必要条件放在不同的句子里分别 说清楚。其三,不要让句子的开头导致读者走向一个与结尾有抵触的结论。 由此联想到我们的教材,一本优秀的教材,其表述方式和语言应该能够使大家都能明 白,而不是充斥着只有少数博学之士才能看懂的行话或术语。 在这次翻译并修订 Savitch老教授的《C++入门经典》的过程中,有颇多这样的感受 真正的大师,是不会一味追求形式化、科学化和精致化,使得专业知识与普通读者渐行渐 远,直到彼此之间竖起不可逾越的篱笆。真正优秀的作者,是不会把那些普通读者也能明 白的事情说得高深莫测,让大家云里雾里的。 Savitch老先生的这本书让人感受到何为真正 的大师,何为真正的优秀作者。这本书从1995年首次出版以来,经过二十年的考验,其通 俗易懂、妙趣横生、与时俱进的特色,深受广大读者喜爱,被誉为“C艹入门经典”,“C+ 入门教材的‘常青树’”。现在立足于IT行业的很多精英和骨干,很多都是在他的熏陶下 成长起来的。本书目前已经修订到第9版,每次修订,都能增加新的特色,能体现时代的 教学特征。 《C++入门经典》之所以畅销不衰,与其鲜明的特色是分不开的。 第一,文风朴实,循序渐进,可读性强(对于一本面向C++初学者的书来说,这是最起 码的要求),而不像某些作者的书,思维跳跃得很厉害,读起来很费劲。大家知道,第二次 世界大战期间,丘吉尔的演讲和文章最受欢迎,其中一个重要因素就是他善于用普通老百 姓也能懂的浅显语言来阐述自己的观点。 Savitch老先生也是这样行文的。他考虑到广大 读者的需求,广泛采用浅显易懂的语言来讲授C++编程知识。为保持这一特色,我在翻 译过程中,也尽量如此。无论原著还是译本,宗旨都是循循善诱地引导一个完全不懂C++ 的人在短时间里充分熟悉并掌握C艹编程技术。稍微翻阅几页正文,您就能充分体会到 这个特点。 第二,本书完全符合标准。本书的示范程序不仅完全符合最新的 ANSIISO C++标准, C++入门经典(第10版) 还遵循行业通行的编程风格,这便于读者在学习本书之后写出任何程序员都可以理解、任 何编译器都能通过的程序。 第三个特色体现在本书的组织和结构上。时下流行的一个观点是,学习C++应该先从 类学起。没问题,本书在创作时便充分考虑到了这一部分读者的要求。事实上,您可以按 照自己喜欢的任何顺序来阅读各章的内容。这方面的详情可参考前言所提供的“依赖图”。 由于这是一本真正的教科书,所以每章都提供了丰富的、重点突出的、非常有趣的自测题 和编程项目。 第四,编程实例和编程项目贴近生活。文中几十个实例都源自生活,比如,信用卡余 额、州收入所得税、购买比萨、温度换算、超市定价系统、回文测试、体重指数等,这些 都能让我们体会到编程的乐趣。 第五,第10版新增了一些习题和视频讲解,并重点讨论了C++11的特色功能。借助 约70个视频讲解,可进一步了解解题思路,牢固掌握基础知识 本好书,凝聚着作者很多心血。一本好的译作又何尝不是呢?不仅要仔细揣摩作者 的意思,还必须在不篡改作者本意的基础上用通俗易懂的文字表达出来。译本如原作,此 为“信”;文字通达,令国人一目了然,此为“达”;提炼文字,使之有文学价值,此为 “雅 计算机书籍虽然不是文学作品,但随着读者水平的提高,也对“雅”提出了新要求 人们之所以需要这方面的译本,不仅是为了快速消化和吸收国外的最新技术和观点,还为 了满足自己的阅读需求。所以对于译本来说,“信”和“达”固然重要,但“雅”也必不 可少。这三者之间的关系是:只有做到“信”,才有可能进一步追求“达”,进而实现“雅”。 为确保正确性,我在翻译之余把书中的示范程序全部“跑”了一遍。根据我以前的经 验,每本书都有这样或那样的错误,有的书错误之多,以至于最终还要出版数十页的勘误 表。但是本书的测试结果令人惊叹,它的代码具有很高的正确性,这是一些同类教科书无 法媲美的。与此同时,为保证正确性,我在翻译时除了参考网上公开的原书勘误,还和原 作者进行了积极而卓有成效的沟通,对原著进行的所有改动都是经过授权的。这一过程有 效确保了本书简体中文版的代码质量,使之达到了百分之百的正确率。 关于术语,本书简体中文版采用了业内通行的、国内程序员非常熟悉的词汇。基于翻 译的本质,我的工作是让读者无障碍地阅读文档,并积极地跟上作者的思路。假如因为某 个或者许多稀奇古怪的词而阻碍了阅读、那就是翻译工作的失败,这不是您我希望见到的。 本书第4版在国内出版以来,普遍受到读者的关注和欢迎。读者朋友们普遍反映喜欢 此书的写作和翻译风格,喜欢穿插于全书的编程提示与陷阱,更喜欢书中难度不一的自测 题和编程项目。有很多读者来信索取编程项目的答案。我也亲自做了部分有挑战性的编程 项目,这的确是全书的特色和精华。由于这部分答案仅提供给教师,所以我建议大家发邮 件到coo@netease.com申请,有人为您提供帮助。 从第5版开始,教材特色更加明显。例如,在各章开篇处,提供了能引起读者关注的 小节标题(即当前章的大纲),目的是让读者更清楚地理清脉络。新增一章内容专门介绍 STL(标准模板库)。自第6版开始,基本沿用了第5版的大纲,修订了部分内容,对章节进 行了更合理的调整。各章开始处提供了饶有趣味的引文。这些引文要么出自计算机业界大 师,权威、有见地;要么出自名著,巧妙运用双关语把互不关联的两种含义结合起来,既 译者序:大道至简ⅲ 诙谐有趣,又引人深思。 最后,因为再次重温《星际穿越》,我想借用老教授所念的几句诗与大家共勉 Do not go gentle into that good night, Old age should burn and rave at close of day Rage, rage against the dying of the light 不要温顺地走入那个良夜 昏暮降临,垂老之人也要燃烧,也要喊 怒斥,怒斥那光的消减 Though wise men at their end know dark is right, Because their words had forked no lightning they Do not go gentle into that good night 智者将逝,早知暗黑之必然 因其言渐微,茶也凉 然,他们绝不愿温顺地走入那个良夜 最后之最后,感谢原作者 Walter Savitch,是他写出了这样一本极其出色的C++编程教 材。感谢翻译过程中所涉及的所有人士,他们是文天山、成荣静、文瑞、刁灿群、黄洁、 蒋昌友、李建、刘其星、刘琼、刘勇、江卫、莫永红、施玉梅、叶昌元、游美波、张攀飞 和周建超。还要感谢女儿子衿,人生的道路充满选择,很欣慰她做出了自己的选择并勇敢 地走在路上 同时,也要感谢各位读者对我的支持和信赖,尤其是本书既往版本的读者,他们的反 馈和支持让我倍感温暖,同时也激励和鞭策着我尽心尽力,奉献更好的书。更要感谢对本 书提出意见和建议的朋友,例如清华大学毕业生张元章和清华大学在校博士生段菲,他们 的“火眼金睛”进一步提高了本书的品质。感谢各位,我愿意尽自己的微薄之力,继续做 好《C++入门经典》后续版本的翻译和维护工作。 再次祝愿读者朋友能够通过本书,开始愉快而激动人心的C艹+编程之旅! 本书适合C艹+程序设计和计算机科学入门课程。不要求读者有任何编程经验,也不要 求掌握除中学代数之外的其他任何数学知识。 本书前几版的读者请阅读关于第10版修订内容的小节,前言其余内容可略过。新读者 请阅读前言的全部内容以把握本书脉络。 第10版修订内容 第10版采用和第9版相同的体例。保留第9版全部内容,但进行了以下修订。 统一采用 camelcase拼写法,不再采用C风格的下划线连接。例如, set name 改为 setName。 第10章讨论了浅拷贝和深拷贝。 第12章和第17章讨论了如何用头文件引入编译模板。 第18章讨论了C++11的std:aray类、正则表达式、线程和智能指针。 进行了大量勘误和编辑,强调了文件IO的首选方法,术语更规范,更好地定 义了封装,并不再讨论已在C++11和更高版本中成为标准的一些东西。 新增10个编程项目。 新增5个视频讲解,总数达69个。这些视频讲解辅导学生解题和写程序,有 助于巩固对关键编程概念的掌握。如书中某个主题有对应的视频讲解,就会出 现一行特殊的注释(视频讲解:……)。 用过第9版的教师可沿用以前的教案,几乎不需要任何改动。 主题可以灵活排序 本书允许教师自由安排教学顺序。为了演示这一灵活性,下面推荐了两个额外的顺序。 采用任何顺序都不会影响学习的连贯性。为了在改变顺序时确保这种连贯性,可能需要移 动个别小节而不是全章。但只有较大的、位置便利的小节才需移动。为了帮助您根据需要 自定义一个教学/阅读顺序,图P.1展示了一幅依赖图。另外,每章都有“预备知识”小节, 解释学习那一章的每一节之前需掌握的内容。 重新排序1:提前学习类 为有效设计类,学生需要掌握一些基本工具,比如控制结构和函数定义。这些基础知 识在第1章~第6章介绍。完成第6章后,学生就可开始写自己的类了。如果想提前学习 类的相关知识,可像下面这样重新安排各章顺序。 基础知识第1章~第6章。这6章全面介绍控制结构、函数定义和基本文件 I/O。第3章介绍几种额外的控制结构,想提前学习类可考虑推迟这一章。 vC++入门经典(第10版) 类和命名空间第10章、第11章的11.1节和11.2节、第12章。这些章节全 面介绍了如何定义类、友元、重载操作符和命名空间 数组、字符串和向量第7章和第8章。 指针和动态数组第9章 类中的数组第11章的11.3节和11.4节。 继承第15章。 递归第14章(可推迟)。 指针和链表第13章。 可能还要用到以下各章的部分内容。 异常处理第16章 模板第17章 标准模板库第18章。 重新排序2:略微推迟类的学习 在“重新排序2”中,将先学完所有控制结构和数组的知识,然后才开始学习类。虽 然对类的接触要比“重新排序1”晚,但还是比本书的默认顺序提前一些。 基础知识第1章到第6章。这6章全面介绍了控制结构、函数定义和基本文 件I/O 数组和字符串第7章、第8章的8.1节和8.2节。 类和命名空间第10章、第11章的11.1节、11.2节和第12章。这些章节全 面介绍了如何定义类、友元、重载操作符和命名空间 指针和动态数组第9章 类中的数组第11章的11.3节和1.4节。 继承第15章。 递归第14章(可推迟)。 向量8.3节。 指针和链表第13章 可能还要用到以下各章的部分内容。 异常处理第16章。 模板第17章 标准模板库第18章。 面向学生的易用性 本书必须按恰当的顺序来讲解恰当的主题,这是最起码的要求。另外,在老师和其 他有经验的程序员看来,书的内容必须清晰而正确,这是另一个最起码的要求。但是不是 符合这两项要求的书都是好书呢?答案是否定的。书中的内容必须采取有利于初学者使用 的方式来编排。在这本入门教科书中,我尽力让学生觉得清楚和友好。本书以前版本的大 量学生反馈证明,这种写作风格确实使内容更清晰,能使学生充分享受到学习的乐趣。 前言ⅶi ANS|SOC++标准 本书可顺利使用符合最新 ANSIISO C+标准的编译器。写作时最新标准是C++14。 高级主题 许多“高级主题”都已成为标准CS1课程的一部分。即使不是,以补充材料的形式提 供也不错。本书提供大量高级主题,它们既可集成到课程中,也可作为自学主题。本书全 面讲述了C++模板、继承(包括虚函数)、异常处理和 STL(Standard Template Library,标准 模板库)。虽然本书使用了库,而且教给学生库的重要性,但不要求任何非标准库。本书只 用所有C++实现都有的库。 依赖图 下面的依赖图展示了各个章节可能的排序方式。连接两个框的实线表明上部的框必须 先于下部的框完成。只要符合这个条件,采用任何阅读顺序都无损连贯性。如果一个框中 包含小节编号,表明该框只代表那些小节,不代表全章。 第1章 第2章 第4章 第5章 概述 C++基础知识 函数( 函数(二) 第3章 第6章 更多的控制流程 I/O流 第7章数组 第14章 第10章 7.1节~7.3节 递归 类(一) 第7章 74节多维数组 第11章类(二 *第16章 111节和11.2节 异常处理 第8章 第11章 第12章 字符串和向量 11.3节类和数组 独立编译和命名空间 第9章 第11章 第13章 指针和动态数组1.4节类和动态数组 指针和链表 第15章 继承 「第17章 模板 第18章 STL *第16章偶而会提到派生类,但这些内容是可以忽略的 ⅶiC++入门经典(第10版) 小结框 每个要点都用一个有底纹的方框来小结,它们散布于各章 自测题 每章都在重要位置提供大量自测题。答案在章末提供。 视频讲解 视频讲解( CVideo note)旨在讲解关键编程概念和技术,演示了从设计到编码来解决 问题的过程。视频讲解使学生能方便地自学感兴趣的主题,支持选择、播放、倒退、快进 和暂停。每当看到“视频讲解:…”,都表明当前主题有对应的视频讲解。视频列 表请从本书中文版配套网站获取,网址是htp:ranson.ys168.com和 htts: pan. baidu. com//lyd43W。注意,由于是英文视频,所以为了方便索引,书中保留了 这些视频的英文名称。 支持材料 部分支持材料本书所有读者都适合。其他仅适合认证教师。 适合本书所有读者的支持材料 源代码 Powerpoint幻灯片 视频讲解 获取这些材料请访问本书译者博客(transbotblog,163.com或网盘(hmp;transbot.ys68.com 和hps:/pn. baidu. com/lyl43W)。 适合认证教师的资源 选用本书作为教材的教师,可致函责编信箱co@Netease.com,了解详情。 ·教师资源指南( Instructor' s Resource guide):包括每一章的教学要点、课堂测验/ 答案和大量编程项目的参考答案。 Test Bank和 Test Generator:用于生成试卷。 Power Point幻灯片:包括本书的程序和插图。 Lab manual(实验手册)。

...展开详情
试读 127P C++入门经典(第10版)2017-11 沃特·萨维奇
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
googyouhua 字迹清晰 内容完整
2019-07-02
回复
上传资源赚积分or赚钱
最新推荐
C++入门经典(第10版)2017-11 沃特·萨维奇 50积分/C币 立即下载
1/127
C++入门经典(第10版)2017-11 沃特·萨维奇第1页
C++入门经典(第10版)2017-11 沃特·萨维奇第2页
C++入门经典(第10版)2017-11 沃特·萨维奇第3页
C++入门经典(第10版)2017-11 沃特·萨维奇第4页
C++入门经典(第10版)2017-11 沃特·萨维奇第5页
C++入门经典(第10版)2017-11 沃特·萨维奇第6页
C++入门经典(第10版)2017-11 沃特·萨维奇第7页
C++入门经典(第10版)2017-11 沃特·萨维奇第8页
C++入门经典(第10版)2017-11 沃特·萨维奇第9页
C++入门经典(第10版)2017-11 沃特·萨维奇第10页
C++入门经典(第10版)2017-11 沃特·萨维奇第11页
C++入门经典(第10版)2017-11 沃特·萨维奇第12页
C++入门经典(第10版)2017-11 沃特·萨维奇第13页
C++入门经典(第10版)2017-11 沃特·萨维奇第14页
C++入门经典(第10版)2017-11 沃特·萨维奇第15页
C++入门经典(第10版)2017-11 沃特·萨维奇第16页
C++入门经典(第10版)2017-11 沃特·萨维奇第17页
C++入门经典(第10版)2017-11 沃特·萨维奇第18页
C++入门经典(第10版)2017-11 沃特·萨维奇第19页
C++入门经典(第10版)2017-11 沃特·萨维奇第20页

试读结束, 可继续阅读

50积分/C币 立即下载 >