图书介绍
C++程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![C++程序设计](https://www.shukui.net/cover/8/32280679.jpg)
- (美)梁勇(Y. Daniel Liang)著;王刚,刘晓光,刘璟译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111240170
- 出版时间:2008
- 标注页数:495页
- 文件大小:107MB
- 文件页数:514页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 计算机、程序和C++语言简介2
1.1引言2
1.2什么是计算机2
1.2.1CPU3
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和continue91
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和empty222
9.8.5函数length、size和capacity222
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关键字protected280
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和put297
12.5fstream和文件打开模式300
12.6检测流状态301
12.7二进制输入输出303
12.7.1write函数303
12.7.2read函数304
12.7.3实例:二进制数组I/O305
12.7.4实例:二进制对象I/O306
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实现LinkedList373
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_iterator442
19.4顺序容器443
19.4.1顺序容器:vector443
19.4.2顺序容器:deque445
19.4.3顺序容器:list446
19.5关联容器449
19.5.1关联容器:set和multiset449
19.5.2关联容器:map和multimap451
19.6容器适配器452
19.6.1容器适配器:stack452
19.6.2容器适配器:queue453
19.7容器适配器:priority_queue454
小结454
习题455
程序设计练习457
第20章 STL算法459
20.1引言459
20.2算法类型459
20.3copy461
20.4fill和fill_n462
20.5generate和generate_n463
20.6remove、remove_if、remove_copy和remove_copy_it464
20.7replace、replace_if、replace_copy和replace_copy_if466
20.8find、find_if、find_end和nd_first_of468
20.9search和search_n472
20.10sort和binary_search473
20.11adjacent_find、merge和inplace_merge475
20.12reverse和reverse_copy476
20.13rotate和rotate_copy477
20.14swap、iter_swap和swap_ranges478
20.15count和count_if479
20.16max_element和min_element479
20.17random_shuffle480
20.18for_each和transform481
20.19includes、set_union、set_difference、set_intersection和set_symmetric_difference481
20.20accumulate、adjacent_difference、inner_product和partial_sum484
小结486
习题487
程序设计练习489
附录491
附录AC++关键字492
附录BASCII字符集493
附录C运算符优先级表494
附录D位运算495