注册 登录 进入教材巡展
#
  • #

出版时间:2017-04

出版社:机械工业出版社

以下为《C++程序设计:原理与实践(进阶篇)(原书第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111562528
  • 2版
  • 283929
  • 47229840-5
  • 平装
  • 16开
  • 2017-04
  • 629
  • 449
  • 工学
  • 软件工程
  • TP312.8
  • 计算机通信类
  • 本科
作者简介
你也许有理由问:“是一些什么人想要教我程序设计?”那么,下面给出作者的一些生平信息。Bjarne Stroustrup和Lawrence“Pete”Petersen合著了本书。Stroustrup还设计并讲授了面向大学一年级学生的课程,这门课程是与本书同步发展起来的,以本书的初稿作为教材。
Bjarne Stroustrup我是C++语言的设计者和初的实现者。在过去大约40年间,我使用C++和许多其他程序设计语言进行过各种各样的编程工作。我喜欢那些用在富有挑战性的应用(如机器人控制、绘图、游戏、文本分析以及网络应用)中的优美而又高效的代码。我教过能力和兴趣各异的人设计、编程和C++语言。我是ISO标准组织C++委员会的创建者,现在是该委员会语言演化工作组的主席。
这是我第一本入门性的书。我编著的其他书籍如《The C++ Pro-gramming Language》和《The Design and Evolution of C++》都是面向有经验的程序员的。
我生于丹麦奥尔胡斯一个蓝领(工人阶级)家庭,在家乡的大学获得了数学与计算机科学硕士学位。我的计算机科学博士学位是在英国剑桥大学获得的。我为AT&T工作了大约25年,初在的贝尔实验室的计算机科学研究中心——Unix、C、C++及其他很多东西的发明地,后来在AT&T实验室研究中心。
我现在是美国国家工程院的院士,ACM会士(Fellow)和IEEE会士。我获得了2005年度Sigma Xi(科学研究协会)的科学成就William Procter奖,我是首位获得此奖的计算机科学家。2010年,我获得了丹麦奥尔胡斯大学古老也富声望的奖项Rigmor og Carl Holst-Knudsens Videnskapspris,该奖项颁发给为科学做出贡献的与该校有关的人士。2013年,我被位于俄罗斯圣彼得堡的信息技术、力学和光学(ITMO)国立研究大学授予计算机科学荣誉博士学位。
至于工作之外的生活,我已婚,有两个孩子,一个是医学博士,另一个在进行博士后研究。我喜欢阅读(包括历史、科幻、犯罪及时事等各类书籍),还喜欢各种音乐(包括古典音乐、摇滚、蓝调和乡村音乐)。和朋友一起享受美食是我生活中必不可少的一部分,我还喜欢参观世界各地有趣的地方。为了能够享受美食,我还坚持跑步。
关于我的更多信息,请见我的网站www.stroustrup.com。特别是,你可以在那里找到我名字的正确发音。
Lawrence“Pete”Petersen2006年年末,Pete如此介绍他自己:“我是一名教师。近20年来,我一直在德州农工大学讲授程序设计语言。我已5次被学生选为教师,并于1996年被工程学院的校友会选为杰出教师。我是Wakonse教师计划的委员和教师发展研究院院士。
作为一名陆军军官的儿子,我的童年是在不断迁移中度过的。在华盛顿大学获得哲学学位后,我作为野战炮兵官员和操作测试研究分析员在军队服役了22年。1971年至1973年期间,我在俄克拉荷马希尔堡讲授野战炮兵军官的高级课程。1979年,我帮助创建了测试军官的训练课程,并在1978年至1981年及1985年至1989年期间在跨越美国的九个不同地方以首席教官的身份讲授这门课程。
1991年我组建了一个小型的软件公司,生产供大学院系使用的管理软件,直至1999年。我的兴趣在于讲授、设计和实现供人们使用的实用软件。我在乔治亚理工大学获得了工业管理学硕士学位,在德州农工大学获得了教育管理学硕士学位。我还从NTS获得了微型计算机硕士学位。我在德州农工大学获得了信息与运营管理学博士学位。
我和我的妻子Barbara都生于德州的布莱恩。我们喜欢旅行、园艺和招待朋友;我们花尽可能多的时间陪我们的儿子和他们的家庭,特别是我们的孙子和孙女Angelina、Carlos、Tess、Avery、Nicholas和Jordan。”
令人悲伤的是,Pete于2007年死于肺癌。如果没有他,这门课程不会取得成功。
查看全部
内容简介
C 之父BjarneStroustrup经典著作《C 程序设计:原理与实践(原书第2版)》基于新的C 11和C 14,广泛地介绍了程序设计的基本概念和技术,包括类型系统、算术运算、控制结构、错误处理等;介绍了从键盘和文件获取数值和文本数据的方法以及以图形化方式表示数值数据、文本和几何图形;介绍了C 标准库中的容器(如向量、列表、映射)和算法(如排序、查找和内积)的设计和使用。同时还对C 思想和历史进行了详细的讨论,很好地拓宽了读者的视野。为方便读者循序渐进学习,加上篇幅所限,《C 程序设计:原理与实践(原书第2版)》分为基础篇和进阶篇两册出版,基础篇包括第0~11章、第17~19章和附录A、C,进阶篇包括第12~16章、第20~27章和附录B、D、E。本书是进阶篇。本书通俗易懂、实例丰富,可作为大学计算机、电子工程、信息科学等相关专业的教材,也可供相关专业人员参考。
目录
目 录Programming: Principles and Practice Using C , Second Edition出版者的话译者序前言引言作者简介第15章 容器和迭代器 115.1 存储和处理数据 115.1.1 处理数据 115.1.2 泛化代码 215.2 STL理念 415.3 序列和迭代器 715.3.1 回到实例 815.4 链表 915.4.1 链表操作 1115.4.2 遍历 1215.5 再次泛化vector 1315.5.1 遍历容器 1515.5.2 auto 1515.6 实例:一个简单的文本编辑器 1615.6.1 处理行 1815.6.2 遍历 1815.7 vector、list和string 2115.7.1 insert和erase 2215.8 调整vector类达到STL版本的功能 2415.9 调整内置数组达到STL版本的功能 2615.10 容器概览 2715.10.1 迭代器类别 28简单练习 29思考题 30术语 30习题 31附言 32第16章 算法和映射 3316.1 标准库算法 3316.2 最简单的算法f?ind() 3416.2.1 一些一般的应用 3516.3 通用搜索算法f?ind_if() 3616.4 函数对象 3816.4.1 函数对象的抽象视图 3916.4.2 类成员上的断言 3916.4.3 lambda表达式 4016.5 数值算法 4116.5.1 累积 4216.5.2 泛化accumulate() 4316.5.3 内积 4416.5.4 泛化inner_product() 4516.6 关联容器 4516.6.1 map 4616.6.2 map概览 4716.6.3 另一个map实例 5016.6.4 unordered_map 5116.6.5 set 5316.7 拷贝 5416.7.1 基本拷贝算法 5516.7.2 流迭代器 5516.7.3 使用set保持顺序 5716.7.4 copy_if 5716.8 排序和搜索 5816.9 容器算法 60简单练习 60思考题 61术语 62习题 62附言 63第17章 一个显示模型 6417.1 为什么要使用图形 6417.2 一个基本显示模型 6517.3 第一个例子 6617.4 使用GUI库 6817.5 坐标系 6917.6 Shape 7017.7 使用Shape类 7017.7.1 图形头文件和主函数 7017.7.2 一个几乎空白的窗口 7117.7.3 坐标轴 7317.7.4 绘制函数图 7417.7.5 Polygon 7517.7.6 Rectangle 7617.7.7 填充 7817.7.8 Text 7817.7.9 Image 8017.7.10 更多未讨论的内容 8117.8 让图形程序运行起来 8117.8.1 源文件 82简单练习 83思考题 83术语 83习题 84附言 84第18章 图形类 8518.1 图形类概览 8518.2 Point和Line 8718.3 Lines 8818.4 Color 9118.5 Line_style 9318.6 Open_polyline 9518.7 Closed_polyline 9618.8 Polygon 9718.9 Rectangle 9918.10 管理未命名对象 10218.11 Text 10418.12 Circle 10518.13 Ellipse 10718.14 Marked_polyline 10818.15 Marks 11018.16 Mark 11118.17 Image 112简单练习 114思考题 115术语 115习题 116附言 116第19章 设计图形类 11719.1 设计原则 11719.1.1 类型 11719.1.2 操作 11819.1.3 命名 11919.1.4 可变性 12019.2 Shape 12119.2.1 一个抽象类 12219.2.2 访问控制 12319.2.3 绘制形状 12519.2.4 拷贝和可变性 12719.3 基类和派生类 12819.3.1 对象布局 13019.3.2 类的派生和虚函数的定义 13119.3.3 覆盖 13119.3.4 访问 13319.3.5 纯虚函数 13419.4 面向对象程序设计的好处 135简单练习 136思考题 136术语 137习题 137附言 138第20章 绘制函数图和数据图 13920.1 简介 13920.2 绘制简单函数图 13920.3 Function 14320.3.1 默认参数 14320.3.2 更多例子 14420.3.3 lambda表达式 14620.4 Axis 14620.5 近似 14820.6 绘制数据图 15220.6.1 读取文件 15320.6.2 一般布局 15420.6.3 数据比例 15520.6.4 构造数据图 156简单练习 158思考题 159术语 159习题 159附言 160第21章 图形用户界面 16121.1 用户界面的选择 16121.2 ”Next”按钮 16221.3 一个简单的窗口 16321.3.1 回调函数 16421.3.2 等待循环 16621.3.3 lambda表达式作为回调函数 16621.4 Button和其他Widget 16721.4.1 Widget 16721.4.2 Button 16821.4.3 In_box和Out_box 16921.4.4 Menu 17021.5 一个实例 17021.6 控制流反转 17321.7 添加菜单 17421.8 调试GUI代码 178简单练习 179思考题 179术语 180习题 180附言 181第22章 理念和历史 18222.1 历史、理念和专业水平 18222.1.1 程序设计语言的目标和哲学 18222.1.2 编程理念 18322.1.3 风格/范型 18822.2 程序设计语言历史概览 19022.2.1 最早的程序设计语言 19122.2.2 现代程序设计语言的起源 19322.2.3 Algol家族 19722.2.4 Simula 20322.2.5 C 20422.2.6 C 20722.2.7 今天 20922.2.8 参考资料 210思考题 211