图书介绍
C++权威教程 第6版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)戴尔,(美)威姆斯著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115407924
- 出版时间:2016
- 标注页数:716页
- 文件大小:91MB
- 文件页数:731页
- 主题词:C语言-程序设计-教材
PDF下载
下载说明
C++权威教程 第6版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 程序设计与问题解决概述1
1.1 程序设计概述1
1.1.1 什么是程序设计1
1.1.2 怎样编写程序2
1.1.3 什么是算法3
1.1.4 什么是程序设计语言4
1.2 计算机如何运行程序7
1.2.1 程序设计语言可以编写的指令类型9
1.2.2 什么是软件维护11
1.3 计算机里有什么15
1.4 计算行业的行为准则与义务19
1.4.1 软件盗版19
1.4.2 数据的保密19
1.4.3 计算机资源的使用19
1.4.4 软件工程20
1.5 问题求解方法21
1.5.1 提出问题21
1.5.2 寻找熟悉的内容21
1.5.3 类比解决22
1.5.4 方法-目标分析22
1.5.5 分而治之23
1.5.6 构建模块方法23
1.5.7 合并解决方案24
1.5.8 心理障碍:对开始的恐惧24
1.5.9 用算法解决问题25
1.6 小结29
第2章 C++语法与语义及程序开发过程31
2.1 C++程序的组成元素31
2.1.1 C++程序结构31
2.1.2 语法与语义33
2.1.3 语法模板34
2.1.4 为程序元素命名:标识符36
2.1.5 数据和数据类型37
2.1.6 为元素命名:声明38
2.1.7 采取行动:可执行语句42
2.1.8 超越最简主义:向程序添加注释46
2.2 程序构造47
2.2.1 程序块(复合语句)49
2.2.2 C++预处理器50
2.3 再说“输出”55
2.3.1 生成空行55
2.3.2 在一行内插入空格56
2.3.3 特殊字符56
2.4 程序输入、纠错和执行57
2.4.1 输入程序57
2.4.2 编译和运行程序58
2.5 测试与调试61
2.6 小结62
第3章 数值类型、表达式和输出63
3.1 C++数据类型概述63
3.2 数值数据类型64
3.2.1 整型64
3.2.2 浮点类型65
3.3 数值类型的声明66
3.3.1 命名常量声明66
3.3.2 变量声明67
3.4 简单算术表达式67
3.4.1 算术运算符67
3.4.2 递增和递减运算符70
3.5 复合算术表达式70
3.5.1 优先级规则70
3.5.2 隐式类型转换和显式类型转换71
3.6 函数调用和库函数75
3.6.1 返回值的函数75
3.6.2 库函数77
3.6.3 void函数78
3.7 设置输出格式78
3.7.1 整数和字符串79
3.7.2 浮点数81
3.8 其他string操作85
3.8.1 length和size函数85
3.8.2 find函数86
3.8.3 substr函数87
3.8.4 访问字符串中的字符:at函数88
3.8.5 转换为小写和大写88
3.9 测试与调试92
3.10 小结93
第4章 程序输入和软件设计过程94
4.1 向程序输入数据94
4.1.1 输入流和提取运算符(>>)95
4.1.2 读取标记和换行符97
4.1.3 用get函数读取字符数据98
4.1.4 用ignore函数跳过字符100
4.1.5 读取字符串数据101
4.2 交互式输入/输出103
4.3 非交互式输入/输出105
4.4 文件输入和输出105
4.4.1 文件106
4.4.2 使用文件106
4.4.3 运行时输入文件名111
4.5 输入失败113
4.6 软件设计方法113
4.7 功能分解114
4.7.1 模块116
4.7.2 实现设计116
4.7.3 有关设计的一种观点119
4.8 测试与调试123
4.9 小结124
第5章 条件、逻辑表达式和选择控制结构126
5.1 控制流126
5.2 条件与逻辑表达式128
5.2.1 bool数据类型128
5.2.2 逻辑表达式128
5.3 If语句132
5.3.1 If-Then-E1se形式132
5.3.2 块(复合语句)134
5.3.3 If-Then形式136
5.3.4 常见错误137
5.4 嵌套If语句140
5.5 逻辑运算符144
5.5.1 运算符的优先级148
5.5.2 与浮点类型一起使用的关系运算符150
5.6 判断I/O流的状态151
5.7 测试与调试157
5.7.1 问题求解阶段的测试:算法演练157
5.7.2 实现阶段的测试159
5.7.3 测试计划162
5.7.4 在编译和执行期间自动执行的测试163
5.8 小结165
第6章 循环166
6.1 While语句166
6.2 循环的执行阶段168
6.3 使用While语句的循环169
6.3.1 计数控制的循环169
6.3.2 事件控制的循环171
6.3.3 循环子任务176
6.4 如何设计循环182
6.4.1 设计控制流182
6.4.2 设计循环中的过程183
6.4.3 循环退出184
6.5 嵌套逻辑184
6.6 测试与调试202
6.6.1 循环测试策略202
6.6.2 涉及循环的测试计划202
6.7 小结204
第7章 更多控制结构205
7.1 Switch语句205
7.2 Do-While语句210
7.3 For语句214
7.4 Break和Continue语句219
7.5 选择循环语句的原则220
7.6 更多C++运算符221
7.6.1 赋值运算符和赋值表达式222
7.6.2 递增和递减运算符223
7.6.3 位运算符223
7.6.4 强制转换操作224
7.6.5 sizeof运算符224
7.6.6 ?:运算符224
7.6.7 运算符优先级225
7.6.8 算术与关系表达式中的隐式类型转换226
7.7 测试与调试231
7.8 小结232
第8章 函数233
8.1 用void函数实现功能分解233
8.1.1 使用函数的时机234
8.1.2 模块为什么需要接口设计234
8.1.3 设计接口234
8.1.4 将模块写为void函数235
8.2 回顾用户定义的函数239
8.2.1 函数调用中的控制流239
8.2.2 函数形参240
8.3 void函数的语法与语义241
8.3.1 函数调用241
8.3.2 函数声明和定义242
8.3.3 局部变量243
8.3.4 Return语句244
8.4 形参246
8.4.1 值参数246
8.4.2 引用参数247
8.4.3 使用带有形参的表达式253
8.4.4 关于实参列表和形参列表的最后一点提醒254
8.4.5 将断言写为函数文档255
8.5 测试与调试265
8.6 小结267
第9章 作用域、生存期及函数268
9.1 标识符的作用域268
9.1.1 作用域规则270
9.1.2 变量声明与定义272
9.1.3 命名空间273
9.2 变量的生存期275
9.3 接口设计280
9.3.1 副作用280
9.3.2 全局常量282
9.4 返回值的函数284
9.4.1 完整示例286
9.4.2 布尔函数289
9.4.3 接口设计与副作用291
9.4.4 何时使用返回值的函数292
9.5 赋值、实参传送、返回函数值中的类型转换293
9.6 测试与调试302
9.7 小结306
第10章 用户定义的数据类型308
10.1 内置简单类型308
10.1.1 数值类型309
10.1.2 字符310
10.2 用户定义的简单类型311
10.2.1 Typedef语句312
10.2.2 枚举类型312
10.2.3 命名与匿名数据类型319
10.3 简单数据类型与结构化数据类型320
10.4 记录(Struct)321
10.4.1 访问各个组成项323
10.4.2 对st ruct的聚合操作324
10.4.3 再谈struct声明325
10.4.4 绑定相似项目326
10.5 分层记录328
10.6 union330
10.7 指针331
10.7.1 指针变量332
10.7.2 指针表达式334
10.8 引用类型335
10.9 测试与调试342
10.9.1 应对输入错误342
10.9.2 涉及指针的调试343
10.10 小结344
第11章 数组346
11.1 一维数组346
11.1.1 声明数组348
11.1.2 访问各个数组项349
11.1.3 出界数组索引351
11.1.4 在声明中初始化数组352
11.1.5 数组聚合操作(的缺乏)352
11.1.6 声明和访问数组的例子353
11.1.7 在实参中传送数组358
11.1.8 数组的注释360
11.1.9 对数组使用typedef363
11.1.10 指针表达式和数组363
11.1.11 C风格的字符串364
11.1.12 作为数组的字符串364
11.1.13 C字符串操作365
11.1.14 将C字符串转换为C++字符串366
11.1.15 使用哪种字符串表示法366
11.2 记录的数组366
11.3 特殊的数组处理370
11.3.1 子数组处理370
11.3.2 具有语义内容的索引372
11.4 二维数组372
11.5 在实参中传递二维数组375
11.6 处理二维数组377
11.6.1 对行求和377
11.6.2 修改后的对行求和378
11.6.3 对列求和379
11.6.4 初始化数组380
11.6.5 打印数组380
11.7 定义二维数组的另一种方法382
11.8 多维数组384
11.9 测试与调试398
11.9.1 一维数组398
11.9.2 复杂结构399
11.9.3 多维数组400
11.10 小结401
第12章 类和抽象402
12.1 抽象数据类型402
12.2 C++类405
12.2.1 实现成员函数408
12.2.2 类、对象和成员410
12.2.3 对对象的内置操作411
12.2.4 类作用域412
12.3 信息隐藏413
12.3.1 用户编写的头文件414
12.3.2 规格说明文件和实现文件415
12.3.3 编译和链接多文件程序419
12.4 什么是对象421
12.5 类的设计原则423
12.5.1 封装423
12.5.2 抽象425
12.5.3 提高可修改性、可重用性的设计425
12.5.4 可变性426
12.6 Name ADT432
12.6.1 ADT的规格说明433
12.6.2 实现文件434
12.7 组合436
12.8 UML图440
12.8.1 绘制类的图440
12.8.2 绘制类的组合关系图441
12.9 测试与调试446
12.10 小结450
第13章 基于数组的列表451
13.1 什么是列表451
13.2 作为抽象数据类型的列表452
13.2.1 改进职责453
13.2.2 数据表示454
13.2.3 示例程序456
13.3 ListADT的实现459
13.3.1 基本操作459
13.3.2 插入和删除460
13.3.3 顺序查找460
13.3.4 迭代器461
13.4 有序列表465
13.4.1 基本操作466
13.4.2 插入466
13.4.3 顺序查找468
13.4.4 二分查找469
13.4.5 删除472
13.5 类的有序列表475
13.5.1 IsThere476
13.5.2 Insert和Delete477
13.6 再说UML图479
13.7 测试与调试488
13.8 小结488
第14章 动态数据和链接列表489
14.1 动态数据489
14.1.1 分配动态数据489
14.1.2 删除动态数据491
14.1.3 常量和动态数据494
14.2 顺序结构与链接结构495
14.3 创建动态链接列表:练习示例496
14.4 ADT列表的动态实现501
14.4.1 创建一个空链接列表502
14.4.2 向链接列表中插入503
14.4.3 链接列表的遍历504
14.4.4 从链接列表中删除505
14.4.5 复位列表507
14.4.6 获取下一项目507
14.4.7 检查链接列表是否已满507
14.4.8 搜索列表507
14.5 析构函数和复制构造函数511
14.5.1 析构函数511
14.5.2 浅复制与深复制511
14.5.3 复制构造函数513
14.6 有序链接列表515
14.6.1 插入(20)516
14.6.2 插入(60)(从循环处开始)517
14.6.3 插入(100)518
14.6.4 从链接列表中删除519
14.6.5 删除(30)520
14.6.6 删除(50)520
14.7 测试和调试523
14.8 小结524
第15章 继承、多态和面向对象的设计525
15.1 面向对象的程序设计525
15.2 继承526
15.2.1 类比527
15.2.2 继承和面向对象的设计过程528
15.2.3 由一个类派生另一个类529
15.2.4 ExpandedEntry类的规格说明530
15.2.5 ExpandedEntry类的实现531
15.2.6 构造函数执行顺序535
15.3 动态绑定和虚函数540
15.3.1 切去问题540
15.3.2 虚函数542
15.4 面向对象的设计543
15.4.1 自由讨论544
15.4.2 筛选544
15.4.3 情景探究545
15.4.4 职责算法546
15.4.5 结语546
15.5 实现设计547
15.6 测试与调试562
15.7 小结563
第16章 模板、运算符重载和异常564
16.1 模板类564
16.1.1 定义类模板565
16.1.2 实例化类模板566
16.1.3 实现输入参数的另一种方式:const引用568
16.1.4 程序代码的组织568
16.1.5 一句提醒573
16.2 泛型函数574
16.2.1 函数重载574
16.2.2 在类的外部定义函数模板575
16.2.3 实例化函数模板575
16.3 运算符重载576
16.4 异常579
16.4.1 throw语句580
16.4.2 try-catch语句581
16.4.3 非局部异常处理程序583
16.4.4 重新抛出异常585
16.4.5 标准异常585
16.5 测试与调试601
16.6 小结602
第17章 使用标准模板库的数据结构简介603
17.1 抽象数据结构与实现603
17.2 其他线性结构605
17.2.1 栈606
17.2.2 队列607
17.2.3 优先级队列608
17.3 双向线性结构609
17.3.1 双向列表609
17.3.2 双端队列609
17.4 STL简介610
17.4.1 迭代器611
17.4.2 vector模板612
17.4.3 list模板616
17.4.4 stack模板618
17.4.5 queue模板620
17.4.6 priority_queue模板621
17.4.7 deque模板622
17.5 非线性结构632
17.5.1 二叉树633
17.5.2 散列表635
17.6 关联容器637
17.6.1 set模板637
17.6.2 map模板640
17.7 测试与调试652
17.8 小结652
第18章 递归654
18.1 什么是递归654
18.2 使用简单变量的递归算法657
18.3 汉诺塔659
18.4 使用结构化变量的递归算法662
18.5 使用指针变量的递归668
18.5.1 按逆序输出动态链接列表668
18.5.2 复制动态链接列表670
18.6 选择递归还是迭代673
18.7 测试与调试679
18.8 小结680
附录A 保留字681
附录B 运算符优先级682
附录C 标准库例程选编683
附录D 阅读本书时使用标准化之前的C++版本692
附录E 字符集695
附录F 程序风格、格式设置和文档697
附录G 浮点数补议702
附录H 使用C字符串709
附录I C++char常量715