C++程序设计:原理与实践(进阶篇)(原书第2版) / 计算机科学丛书
¥99.00定价
作者: [美]本贾尼·斯特劳斯特鲁普著;刘晓光,李忠伟,王刚译
出版时间:2017-04
出版社:机械工业出版社
- 机械工业出版社
- 9787111562528
- 2版
- 283929
- 47229840-5
- 平装
- 16开
- 2017-04
- 629
- 449
- 工学
- 软件工程
- TP312.8
- 计算机通信类
- 本科
作者简介
内容简介
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