C++程序设计PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)梁勇(Y. Daniel Liang)著;王刚,刘晓光,刘璟译
- 出 版 社:北京:机械工业出版社
- 出版年份:2008
- ISBN:7111240170
- 页数:495 页
第1章 计算机、程序和C++语言简介 2
1.1引言 2
1.2什么是计算机 2
1.2.1CPU 3
1.2.2内存 3
1.2.3外存储设备 3
1.2.4输入输出设备 4
1.2.5通信设备 5
1.3程序 5
1.4操作系统 6
1.4.1控制和监视系统活动 6
1.4.2分配和指派系统资源 6
1.4.3任务调度 7
1.5数制 7
1.5.1二进制数与十进制数之间的转换 7
1.5.2十六进制数与十进制数之间的转换 8
1.5.3二进制数与十六进制数之间的转换 9
1.6C++语言的历史 9
1.7一个简单的C++程序 10
1.8C++程序开发周期 11
1.9使用VisualC++开发C++程序 12
1.9.1起步 12
1.9.2创建项目 13
1.9.3创建C++程序 14
1.9.4编译C++程序 16
1.9.5运行C++程序 16
1.10使用Dev-C++开发C++程序 17
1.10.1起步 17
1.10.2创建程序 17
1.10.3编译C++程序 18
1.0.4运行C++程序 19
1.11用Windows命令行方式开发C++程序 20
1.12在UNIX平台上开发C++程序 21
小结 21
习题 22
程序设计练习 22
第2章 基本数据类型和运算 23
2.1引言 23
2.2编写简单的程序 23
2.3从键盘读取输入 25
2.4省略std.:前缀 26
2.5标识符 27
2.6变量 27
2.7赋值语句和赋值表达式 28
2.8命名常量 29
2.9数值数据类型及其运算 30
2.9.1数值文字常量 31
2.9.2数值运算符 32
2.9.3算术表达式 33
2.9.4简写运算符 34
2.10数值类型转换 35
2.11字符数据类型及其运算 37
2.11.1转义序列表示特殊符号 37
2.11.2char型和数值型之间的转换 38
2.12实例研究 38
2.12.1实例:计算贷款偿还金额 38
2.12.2实例:计算给定金额的货币数量 40
2.12.3实例:显示当前时间 42
2.13程序设计风格和文档 43
2.13.1适当的注释和注释风格 43
2.13.2变量和常量的命名 43
2.13.3恰当的缩进和空白 43
2.14程序设计错误 43
2.14.1语法错误 44
2.14.2运行时错误 44
2.14.3逻辑错误 44
2.15调试 45
小结 45
习题 46
程序设计练习 48
第3章 分支语句 50
3.1引言 50
3.2bool类型 50
3.3if语句 51
3.4实例:猜生日 53
3.5逻辑运算符 55
3.6if.else语句 57
3.7嵌套的if语句 58
3.8实例:计算税款 60
3.9实例:一个数学学习工具 62
3.10switch语句 63
3.11条件表达式 65
3.12输出格式控制 65
3.13运算符优先级和结合律 68
3.14枚举类型 69
小结 71
习题 71
程序设计练习 75
第4章 循环 77
4.1引言 77
4.2while循环 77
4.2.1实例:一个改进的数学学习工具 78
4.2.2使用用户确认控制循环 80
4.2.3使用哨兵值控制循环 80
4.3do-while循环 81
4.4for循环 82
4.5使用哪种循环 84
4.6嵌套的循环 85
4.7实例研究 86
4.7.1实例:求最大公约数 86
4.7.2实例:计算销售额 87
4.7.3实例:显示数字金字塔 89
4.8关键字break和continue 91
4.9实例:输出素数 92
4.10简单文件输入输出 94
4.10.1向一个文件写入数据 94
4.10.2从一个文件读取数据 95
4.10.3检测文件尾 96
小结 97
习题 97
程序设计练习 100
第5章 函数 105
5.1引言 105
5.2函数创建 105
5.3函数调用 106
5.4无返回值函数 108
5.5按值方式传递参数 109
5.6按引用方式传递参数 111
5.7函数重载 113
5.8函数原型 115
5.9默认参数 116
5.10实例研究:使用函数计算税款 117
5.11在不同程序中重用函数 118
5.12实例研究:生成随机字符 119
5.13变量的作用域 121
5.13.1for循环中变量的作用域 123
5.13.2静态局部变量 123
5.14数学函数 124
5.15函数抽象和逐步求精 125
5.15.1自顶向下设计 125
5.15.2自顶向下或自底向上实现 127
5.15.3实现细节 128
5.16内联函数 131
小结 132
习题 133
程序设计练习 136
第6章 数组 141
6.1引言 141
6.2数组基础 141
6.2.1声明数组 141
6.2.2数组下标变量 142
6.2.3数组初始化语句 143
6.2.4初始化字符数组 143
6.2.5处理数组 144
6.2.6实例:测试数组 145
6.2.7实例:评定成绩等级 146
6.3数组作为函数参数 147
6.4数组作为函数返回值 149
6.5搜索 151
6.5.1顺序搜索方法 151
6.5.2二分搜索方法 151
6.6排序数组 153
6.6.1选择排序 153
6.6.2插入排序 155
6.7二维数组 156
6.7.1声明二维数组 156
6.7.2处理二维数组 157
6.7.3二维数组作为函数参数 158
6.7.4实例:评定多项选择测试的成绩 159
6.7.5实例:计算纳税额 160
6.8多维数组 162
6.8.1实例:计算学生成绩 162
6.8.2实例:猜生日 163
小结 164
习题 165
程序设计练习 166
第7章 指针和C字符串 171
7.1引言 171
7.2指针基础 171
7.3用指针实现实参的引用传递 174
7.4数组和指针 174
7.5常量指针 176
7.6指针作为函数返回值 177
7.7动态内存分配 178
7.8实例研究:统计每个字母的出现次数 180
7.9字符和字符串 182
7.9.1字符串函数 183
7.9.2字符串存储和访问 184
7.9.3读取字符串 185
7.9.4C字符串函数 185
7.9.5实例:获取子串 189
7.10实例研究:检查回文串 189
小结 191
习题 191
程序设计练习 193
第8章 递归 196
8.1引言 196
8.2实例:阶乘 196
8.3实例:斐波那契数列 198
8.4用递归方法求解问题 200
8.5递归辅助函数 201
8.5.1选择排序 202
8.5.2二分搜索 203
8.6汉诺塔 204
8.7递归与迭代 207
小结 207
习题 207
程序设计练习 209
第9章 对象和类 212
9.1引言 212
9.2声明类 212
9.3构造函数 214
9.4对象名 214
9.5声明和实现分离 217
9.6通过指针访问对象成员 219
9.7在堆中创建动态对象 220
9.8C++字符串类 220
9.8.1构造一个字符串 220
9.8.2追加字符串 221
9.8.3字符串赋值 222
9.8.4函数at、clear、erase和empty 222
9.8.5函数length、size和capacity 222
9.8.6字符串比较 222
9.8.7获得子串 223
9.8.8字符串搜索 223
9.8.9字符串插入和替换 223
9.8.10字符串运算符 223
9.9数据域封装 224
9.10变量作用域 226
9.11this指针 227
9.12对象作为函数参数 228
9.13对象数组 230
9.14类抽象和封装 232
9.15实例研究:Loan类 232
9.16构造函数初始化列表 235
小结 237
习题 238
程序设计练习 240
第10章 对象和类的更多内容 243
10.1引言 243
10.2不可变对象和不可变类 243
10.3避免重复声明 245
10.4实例成员和静态成员 246
10.5析构函数 250
10.6拷贝构造函数 252
10.7自定义拷贝构造函数 254
10.8友元函数和友元类 256
10.9对象合成 257
10.10实例研究:Course类 259
10.11实例研究:StackOflntegers类 261
10.12C++向量类 263
小结 265
习题 265
程序设计练习 268
第11章 继承和多态 269
11.1引言 269
11.2基类和派生类 269
11.3泛型程序设计 275
11.4构造函数和析构函数 275
11.4.1调用基类构造函数 275
11.4.2构造函数链和析构函数链 276
11.5函数重定义 277
11.6多态和虚函数 278
11.7关键字protected 280
11.8抽象类和纯虚函数 281
11.9动态类型转换 285
小结 286
习题 287
程序设计练习 291
第12章 文件输入输出 293
12.1引言 293
12.2文本输入输出 293
12.2.1向文件中写入数据 293
12.2.2从文件中读取数据 294
12.2.3检测文件是否存在 295
12.2.4检测文件末尾 296
12.3格式化输出 297
12.4成员函数:getline、get和put 297
12.5fstream和文件打开模式 300
12.6检测流状态 301
12.7二进制输入输出 303
12.7.1write函数 303
12.7.2read函数 304
12.7.3实例:二进制数组I/O 305
12.7.4实例:二进制对象I/O 306
12.8随机访问文件 309
12.9更新文件 311
小结 312
习题 313
程序设计练习 313
第13章 运算符重载 315
13.1引言 315
13.2Rational类 315
13.3运算符函数 320
13.4简写运算符重载 321
13.5[]运算符重载 322
13.6一元运算符重载 323
13.7++和--运算符重载 323
13.8<<和>>运算符重载 324
13.9对象类型转换 325
13.10新的Rational类 326
13.11重载赋值运算符 332
小结 333
习题 333
程序设计练习 334
第14章 异常处理 335
14.1引言 335
14.2异常处理概述 335
14.3异常处理机制的优点 337
14.4异常类 338
14.5自定义异常类 341
14.6多重异常捕获 344
14.7异常的传播 347
14.8重抛出异常 349
14.9异常规约 350
14.10何时使用异常机制 350
小结 351
习题 351
程序设计练习 353
第15章 模板 356
15.1引言 356
15.2模板基础 356
15.3实例:一个通用排序函数 358
15.4模板类 359
15.5改进Stack类 364
小结 365
习题 366
程序设计练习 368
第16章 链表、栈和队列 369
16.1引言 369
16.2节点 369
16.3链表类 371
16.4实现LinkedList 373
16.4.1实现addFirst(Telement) 373
16.4.2实现addLast(Telement) 373
16.4.3实现add(intindex,Telement) 374
16.4.4实现removeFirst() 375
16.4.5实现removeLast() 375
16.4.6实现removeAt(intindex) 377
16.5链表的变形 382
16.6使用链表类实现栈类 382
16.7队列 383
16.8迭代器 385
小结 388
习题 388
程序设计练习 390
第17章 树、堆和优先队列 392
17.1引言 392
17.2二叉树 392
17.2.1描述二叉树 392
17.2.2访问二叉树中的节点 393
17.2.3向二又搜索树中插入数据元素 393
17.2.4树的遍历 394
17.2.5二叉树类 394
17.3堆 399
17.3.1堆的描述 399
17.3.2堆的删除操作 399
17.3.3堆的插入操作 400
17.3.4Heap类 400
17.4优先队列 403
小结 405
习题 406
程序设计练习 406
第18章 算法效率和排序 408
18.1引言 408
18.2评价算法效率 408
18.2.1大O符号 409
18.2.2实例:复杂性计算 409
18.2.3分析二分搜索算法 411
18.2.4分析选择排序算法 411
18.2.5分析插入排序算法 412
18.2.6分析汉诺塔算法 412
18.2.7常见增长函数比较 412
18.3起泡排序 413
18.4归并排序 415
18.5快速排序 418
18.6堆排序 421
18.7外排序 422
18.7.1实现阶段Ⅰ 423
18.7.2实现阶段Ⅱ 424
18.7.3合并两个阶段 426
18.7.4外排序分析 429
小结 429
习题 430
程序设计练习 431
第19章 STL容器 433
19.1引言 433
19.2STL基础 433
19.3STL迭代器 437
19.3.1迭代器类型 439
19.3.2迭代器运算符 439
19.3.3预定义的迭代器 441
19.3.4istream_iterator和ostream_iterator 442
19.4顺序容器 443
19.4.1顺序容器:vector 443
19.4.2顺序容器:deque 445
19.4.3顺序容器:list 446
19.5关联容器 449
19.5.1关联容器:set和multiset 449
19.5.2关联容器:map和multimap 451
19.6容器适配器 452
19.6.1容器适配器:stack 452
19.6.2容器适配器:queue 453
19.7容器适配器:priority_queue 454
小结 454
习题 455
程序设计练习 457
第20章 STL算法 459
20.1引言 459
20.2算法类型 459
20.3copy 461
20.4fill和fill_n 462
20.5generate和generate_n 463
20.6remove、remove_if、remove_copy和remove_copy_it 464
20.7replace、replace_if、replace_copy和replace_copy_if 466
20.8find、find_if、find_end和nd_first_of 468
20.9search和search_n 472
20.10sort和binary_search 473
20.11adjacent_find、merge和inplace_merge 475
20.12reverse和reverse_copy 476
20.13rotate和rotate_copy 477
20.14swap、iter_swap和swap_ranges 478
20.15count和count_if 479
20.16max_element和min_element 479
20.17random_shuffle 480
20.18for_each和transform 481
20.19includes、set_union、set_difference、set_intersection和set_symmetric_difference 481
20.20accumulate、adjacent_difference、inner_product和partial_sum 484
小结 486
习题 487
程序设计练习 489
附录 491
附录AC++关键字 492
附录BASCII字符集 493
附录C运算符优先级表 494
附录D位运算 495
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019