图书介绍
C++入门经典 第10版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Walter Savitch著;周靖译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302486763
- 出版时间:2018
- 标注页数:741页
- 文件大小:103MB
- 文件页数:761页
- 主题词:C++语言-程序设计-教材
PDF下载
下载说明
C++入门经典 第10版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 计算机和C+++编程入门1
1.1计算机系统2
硬件2
软件5
高级语言6
编译器7
历史回顾9
1.2编程和问题求解9
算法10
程序设计11
面向对象编程12
软件生命周期12
1.3 C+++入门13
C+++语言的起源13
一个C+++示范程序14
陷阱:在n中错误地使用斜杠17
编程提示:输入和输出语法17
简单C+++程序的布局17
陷阱:在include的文件名前错误地添加一个空格19
编译和运行C+++程序19
陷阱:编译C+++11程序19
编程提示:让程序运行起来20
1.4测试和调试22
各种程序错误22
陷阱:错误地假定程序正确23
小结24
自测题答案25
编程练习26
编程项目27
第2章 C+++基础知识29
2.1变量和赋值30
变量30
名称:标识符32
变量声明33
赋值语句34
陷阱:未初始化的变量35
编程提示:使用有意义的名称36
2.2输入和输出37
使用cout进行输出37
include预编译指令和命名空间38
转义序列39
编程提示:用cin或endl终止每一个程序40
格式化带小数点的数字41
用cin进行输入42
设计输入和输出43
编程提示:I/O中的换行43
2.3数据类型和表达式44
int类型和double类型44
其他数值类型45
C+++11类型46
char类型47
bool类型48
string类简介48
类型的兼容性49
算术操作符和表达式50
陷阱:除法中的整数52
更多赋值语句53
2.4简单控制流程54
一个简单的分支机制54
陷阱:连续的不等式58
陷阱:该用==的时候用了=58
复合语句59
简单的循环机制61
递增操作符和递减操作符63
编程实例:信用卡余额64
陷阱:无限循环65
2.5程序风格67
缩进67
注释67
为常量命名69
小结71
自测题答案72
编程练习75
编程项目76
第3章 更多的控制流程81
3.1使用布尔表达式82
布尔表达式求值82
陷阱:将布尔表达式转换成int值85
枚举类型(选读)87
3.2多路分支87
嵌套语句88
编程提示:在嵌套语句中使用花括号88
多路if-else语句90
编程实例:州收入税91
switch语句94
陷阱:忘记在switch语句中添加break96
为菜单使用switch语句97
代码块98
陷阱:疏忽局部变量100
3.3 C+++循环语句详解101
while语句回顾101
再论递增操作符和递减操作符102
for语句104
陷阱:for语句中多余的分号108
应该使用哪种循环108
陷阱:未初始化的变量和无限循环110
break语句110
陷阱:嵌套循环中的break语句111
3.4设计循环111
求和与求乘积的循环112
终止循环113
嵌套循环115
调试循环116
小结119
自测题答案120
编程练习123
编程项目124
第4章 过程抽象和返回值的函数129
4.1自顶向下设计130
4.2预定义函数130
使用预定义函数131
随机数生成134
强制类型转换135
强制类型转换的古老形式137
陷阱:整数除法丢弃了小数部分137
4.3程序员自定义函数138
函数定义138
返回布尔值的函数142
另一种形式的函数声明142
陷阱:实参顺序错误143
函数定义语法小结144
再论函数定义的位置144
编程提示:在分支语句中使用函数调用145
4.4过程抽象146
黑盒的比喻146
编程提示:选择形参名称147
编程提示:嵌套循环148
案例分析:购买比萨150
编程提示:使用伪代码154
4.5作用域和局部变量155
函数如同小程序155
编程实例:豌豆试验田157
全局常量和全局变量157
传值形参是局部变量158
块作用域160
再论命名空间161
编程实例:阶乘函数163
4.6重载函数名称164
重载入门164
编程实例:购买比萨(修订版)166
自动类型转换168
小结170
自测题答案171
编程练习173
编程项目174
第5章 用函数完成所有子任务177
5.1 void函数178
void函数的定义178
编程实例温度换算180
void函数中的return语句181
5.2传引用参数182
初探传引用调用182
传引用调用详解184
编程实例:swapValues函数187
混合的参数列表188
编程提示:应该使用哪种参数189
陷阱:疏忽造成的局部变量190
5.3使用过程抽象192
在函数中调用其他函数192
前条件和后条件193
案例分析:超市定价系统194
5.4测试和调试函数198
存根和驱动程序198
5.5常规调试技术201
不抱成见201
检查常见错误202
定位错误202
assert宏203
小结205
自测题答案206
编程练习208
编程项目209
第6章 I/O流——对象和类入门213
6.1流和基本文件I/O214
为什么要用文件来I/O215
文件I/O215
类与对象入门218
编程提示:检查文件是否成功打开219
文件I/O技术222
追加到文件(选读)223
文件名作为输入(选读)225
6.2流I/O工具227
用流函数格式化输出227
操纵元230
流作为函数实参232
编程提示:检查文件尾233
命名空间的问题234
编程实例:整理文件格式235
6.3字符I/O236
get和put成员函数236
putback成员函数(选读)239
编程实例:检查输入239
陷阱:输入中不期而遇的“n”241
编程实例:另一个newLine函数242
函数的默认实参(选读)243
eof成员函数246
编程实例:编辑文本文件247
预定义字符函数249
陷阱:toupper和tolower返回值250
小结252
自测题答案253
编程练习257
编程项目258
第7章 数组263
7.1数组入门264
声明和引用数组264
编程提示:为数组使用for循环266
陷阱:数组索引总是从零开始266
编程提示:为数组长度使用己定义常量266
数组在内存中的表示267
陷阱:数组索引越界268
初始化数组269
编程提示:C+++11基于范围的for语句270
7.2函数中的数组272
索引变量作为函数参数272
整个数组作为函数参数274
const参数修饰符276
陷阱:const参数修饰符的使用不一致277
返回数组的函数278
案例分析:产量图278
7.3数组编程287
部分填充数组287
编程提示:不要吝啬形参289
编程实例:搜索数组290
编程实例:数组排序291
编程实例:冒泡排序294
7.4多维数组297
多维数组基础297
多维数组参数298
编程实例:二维打分程序299
陷阱:在数组索引之间使用逗号302
小结303
自测题答案304
编程练习306
编程项目307
第8章 字符串和向量315
8.1字符串的数组类型316
C字符串值和C字符串变量317
陷阱:为C字符串使用=和==319
〈cstring〉中的其他函数321
陷阱:使用strcpy复制C字符串越界322
C字符串输入和输出324
C字符串到数值的转换和可靠输入326
8.2标准string类330
标准类string简介330
string类的I/O332
编程提示:getline的其他版本334
陷阱:混合使用cin〉〉变量;和getline335
用string类进行字符串处理336
编程实例:回文测试338
string对象和C字符串之间的转换341
字符串和数字之间的转换342
8.3向量342
向量基础知识342
陷阱:使用方括号时超出向量长度345
编程提示:向量赋值具有良好行为345
效率问题345
小结347
自测题答案348
编程练习349
编程项目350
第9章 指针和动态数组355
9.1指针356
指针变量357
基本内存管理362
陷阱:虚悬指针362
静态变量和自动变量362
编程提示:定义指针类型363
9.2动态数组364
数组变量和指针变量365
创建和使用动态数组366
指针运算(选读)370
多维动态数组(选读)371
小结373
自测题答案374
编程练习374
编程项目375
第10章 定义类379
10.1结构380
用于异种数据的结构380
陷阱:结构定义中忘记添加分号383
结构作为函数参数384
编程提示:使用层次化结构384
对结构进行初始化386
10.2类388
定义类和成员函数388
公共成员和私有成员391
编程提示:将所有成员变量设为私有396
编程提示:定义取值函数和赋值函数397
编程提示:将赋值操作符用于对象398
编程实例:BankAccount类(版本1)398
总结类的一些特征402
用于初始化的构造函数403
编程提示:总是包括默认构造函数408
陷阱:无参构造函数409
C+++11的成员初始化器和构造函数委托410
10.3抽象数据类型411
用于生成抽象数据类型的类412
编程实例:类的另一种实现414
10.4继承418
派生类418
定义派生类419
小结423
自测题答案424
编程练习428
编程项目428
第11章 类中的友元函数、重载操作符和数组433
11.1友元函数434
编程实例:一个相等性函数434
友元函数436
编程提示:定义取值函数和友元函数438
编程提示:同时使用成员函数和非成员函数439
编程实例:Money类(版本1)439
实现digitToInt(选读)443
陷阱:数字常量中的前置零444
const参数修饰符445
陷阱:修饰符const的用法不一致447
11.2重载操作符449
重载操作符449
用于自动类型转换的构造函数452
重载一元操作符453
重载〉〉和〈〈454
11.3数组和类460
类数组460
数组作为类成员463
编程实例:用于部分填充数组的类463
11.4类和动态数组465
编程实例:字符串变量类466
析构函数468
陷阱:指针作为传值参数469
拷贝构造函数471
重载赋值操作符474
小结477
自测题答案478
编程练习484
编程项目484
第12章 独立编译和命名空间491
12.1独立编译492
ADT回顾492
案例分析:独立编译的DigitalTime类493
使用#ifndef500
编程提示:定义其他库502
12.2命名空间503
命名空间和using预编译指令503
创建命名空间504
限定名称506
命名空间的微妙之处(选读)507
无名命名空间508
陷阱:混淆全局命名空间和无名命名空间512
小结513
自测题答案514
编程练习515
编程项目516
第13章 指针和链表517
13.1节点和链表518
节点519
nullptr521
链表522
在表头插入节点523
陷阱:丢失节点525
搜索链表526
指针作为迭代器528
在列表中插入和删除节点528
陷阱:为动态数据结构使用赋值操作符531
链表的变体531
类构成的链表533
13.2栈和队列536
栈536
编程实例:栈类536
队列539
编程实例:队列类540
小结544
自测题答案545
编程练习546
编程项目547
第14章 递归553
14.1面向任务的递归函数554
案例分析:垂直数字555
深入递归559
陷阱:无穷递归560
用于递归的栈562
陷阱:栈溢出563
递归与迭代563
14.2面向值的递归函数564
要返回值的递归函数的常规形式564
编程实例:另一个求乘方函数564
14.3递归思想567
递归设计技术567
案例分析:二叉搜索(递归思想示例)569
编程实例:递归成员函数574
小结577
自测题答案578
编程练习581
编程项目581
第15章 继承585
15.1继承基础586
派生类588
派生类中的构造函数593
陷阱:使用来自基类的私有成员变量595
陷阱:私有成员函数不会继承596
protected限定符596
重定义成员函数598
重定义与重载的比较600
访问重定义的基函数601
15.2继承细节602
不继承的函数602
派生类中的赋值操作符和拷贝构造函数602
派生类中的析构函数603
15.3多态性604
晚期绑定604
C+++虚函数605
虚函数和扩展类型兼容性609
陷阱:不使用虚成员函数612
陷阱:试图对虚成员函数定义不齐全的类进行编译612
编程提示:使析构函数成为虚函数613
小结615
自测题答案616
编程练习619
编程项目620
第16章 异常处理627
16.1异常处理基础628
异常处理的简单例子629
定义自己的异常类635
多个throw块和catch块636
陷阱:首先捕捉较具体的异常638
编程提示:异常类可能很简单638
在函数中抛出异常639
异常规范640
陷阱:派生类中的异常规范641
16.2用于异常处理的编程技术642
抛出异常的时机642
陷阱:未捕捉的异常643
陷阱:嵌套try-catch块643
陷阱:滥用异常644
异常类层次结构644
测试可用内存644
重新抛出异常645
小结646
自测题答案647
编程练习647
编程项目649
第17章 模板651
17.1用于算法抽象的模板652
函数模板653
陷阱:编译器的复杂性656
编程实例:泛型排序函数657
编程提示:如何定义模板660
陷阱:为不恰当的类型使用模板660
17.2用于数据抽象的模板660
类模板的语法660
编程实例:数组类663
小结668
自测题答案669
编程练习671
编程项目671
第18章 标准模板库675
18.1迭代器676
using声明677
迭代器基础677
编程提示:使用auto简化变量声明681
陷阱:编译器问题681
迭代器的种类682
常量和可变迭代器684
逆向迭代器685
其他种类的迭代器687
18.2容器687
顺序容器687
陷阱:迭代器和删除元素690
编程提示:容器中的类型定义691
容器配接器stack和queue691
关联容器set和map693
编程提示:为容器使用初始化、基于范围的for和auto698
效率问题699
18.3泛型算法699
运行时间和大O表示法700
容器访问运行时间703
不修改容器的算法703
会修改容器的算法706
set算法707
排序算法708
18.4不断进化的C+++708
std::array709
正则表达式710
线程713
智能指针717
小结722
自测题答案723
编程练习724
编程项目724
附录A C+++关键字729
附录B 操作符的优先级730
附录C ASCII字符集731
附录D部分库函数732
附录E内联函数736
附录F重载数组索引方括号737
附录G this指针738
附录H 将操作符重载为成员操作符740
热门推荐
- 221592.html
- 2332258.html
- 3611342.html
- 2576724.html
- 1610233.html
- 2131398.html
- 1360731.html
- 1504664.html
- 2273481.html
- 1237679.html
- http://www.ickdjs.cc/book_3429971.html
- http://www.ickdjs.cc/book_3633466.html
- http://www.ickdjs.cc/book_3782360.html
- http://www.ickdjs.cc/book_3374103.html
- http://www.ickdjs.cc/book_314288.html
- http://www.ickdjs.cc/book_2583190.html
- http://www.ickdjs.cc/book_1058138.html
- http://www.ickdjs.cc/book_351936.html
- http://www.ickdjs.cc/book_2669834.html
- http://www.ickdjs.cc/book_896908.html