图书介绍
现代C++程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![现代C++程序设计](https://www.shukui.net/cover/2/33177330.jpg)
- (美)Barbara Johnston著;曾葆青,丁晓非等译 著
- 出版社: 清华大学出版社
- ISBN:7302108056
- 出版时间:2005
- 标注页数:569页
- 文件大小:25MB
- 文件页数:596页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
现代C++程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C++与软件开发1
欢迎来到C++的世界2
1.1 什么是C,什么是C++4
1.1.1 C和C++发展简史5
1.1.2 C/C++是编译语言5
1.1.3 为什么程序员们喜欢C++6
1.2 什么是面向对象7
1.2.1 C++程序不是自动面向对象的7
1.2.2 一个简单的面向对象程序案例7
1.2.3 面向对象的软件更受欢迎8
1.3 结构化设计与面向对象设计9
1.3.1 ATM的结构化方法9
1.3.2 ATM的面向对象方法9
1.4.1 如何不编程11
1.4 软件开发技术简介11
1.5 找错12
1.5.1 我的程序哪儿出了错12
作业13
简答题13
目录13
复习题与作业13
致谢13
第2章 C++入门:数据类型、变量、操作符、算术、简单输入输出14
软件开发简介15
2.1 编程基础15
2.1.1 算法设计15
2.1.3 练习:如何给猫洗澡17
2.1.2 走成功编程之路17
2.1.4 三分原则18
2.1.5 如何编程19
2.2 术语及项目的建立19
2.2.1 项目的建立步骤20
2.3 C++程序的一般格式21
2.3.1 Hello World!程序21
2.3.2 注释21
2.3.3 预处理指令22
2.3.4 main函数22
2.3.5 函数首行22
2.3.6 C++语句23
2.3.7 气象信息23
2.3.8 空白字符与C++灵活的编程风格24
2.3.9 语法与编译错误25
2.3.10 C++关键字26
2.3.11 大小写敏感27
2.3.12 好的编程风格27
2.3.13 坚持好的风格27
2.3.14 关于程序中的注释28
2.4 程序与数据:球与球拍28
2.5 C++中的数据类型29
2.5.1 物品架=内存,容器=数据类型,标签=变量名30
2.5.2 数据类型修饰符31
2.5.3 找错:整数有多大31
2.6 C++中的变量声明32
2.6.2 在哪里声明变量33
2.6.1 C++中的命名规则33
2.7.1 操作的优先级34
2.7 C++中的操作符34
2.7.2 赋值操作符35
2.7.3 算术操作符36
2.7.4 自增量和自减量操作符41
2.7.5 累计操作符42
2.7.6 C++中的其他操作符43
2.8 其他话题:#define、const和数据类型转换43
2.8.1 #define43
2.8.2 const修饰符44
2.8.3 const优于#define吗45
2.8.4 数据类型转换46
2.10.1 找错:赋值操作的摆放位置48
2.9 键盘输入和屏幕输出48
2.10 练习48
2.10.2 计算圆柱体的体积49
2.10.3 求余和距离换算50
2.10.4 将字符数据表示为十进制、十六进制、八进制数,流格式化51
复习题与作业51
简答题51
程序改错题52
代码阅读53
编程题54
第3章 控制语句和循环55
判断,还是判断56
3.1 关系操作符和逻辑操作符56
3.1.1 表达式求值和操作符优先级57
3.2 if语句59
3.2.1 if else语句60
3.2.2 if语句中的括号错误61
3.2.3 if—else if—else语句62
3.2.4 低效率编程方法64
3.2.5 if else:This Old Man编程举例65
3.2.6 嵌套if else语句66
3.2.7 “?”操作符67
3.3 switch语句68
3.3.1 找错:不要忘了break69
3.4 循环语句概述70
3.4.1 加括号还是不加括号70
3.5 for循环71
3.4.2 无法跳出无穷循环71
3.5.1 不要更改循环指标72
3.5.2 for循环举例73
3.6 while循环74
3.6.1 while循环举例75
3.7 do while循环76
3.7.1 do while举例77
3.8 排除错误79
3.8.1 4种常见错误79
3.8.2 找错:循环无法中止80
3.8.3 找错:分号和括号82
3.8.4 找错:放错位置的else、非法else、文件不完整错误83
3.9 总结84
3.8.5 调试程序84
3.10 练习86
3.9.1 缩进原则86
3.10.1 时间转换87
3.10.2 数89
3.10.3 输出图案90
复习题与作业92
简答题92
找错题:编译错误93
找错题:运行期错误93
代码阅读95
编程题95
第4章 指针、地址、间接寻址操作符97
4.2 变量与内存98
泊车与指针98
4.1 指针的重要性98
4.2.1 sizeof操作符99
4.2.2 分配内存100
4.2.3 计算机内存与十六进制数101
4.3 取地址操作符&102
4.4 指针104
4.4.1 指针与取地址操作符104
4.4.2 小红帽与白宫106
4.4.3 指针与间接寻址操作符106
4.4.4 指针类型混用109
4.5 指针有什么用110
4.5.1 C++中的函数只返回一个值110
4.5.2 高效处理大数据结构、数组、类111
4.6 总结112
4.6.1 指针:早学,勤练113
4.7 练习113
4.7.1 问候与指针113
4.7.2 “This Old Man”与指针114
4.7.3 金字塔的体积与指针115
复习题与作116
简答题116
代码阅读116
找错题117
编程题118
第5章 函数第Ⅰ部分:基本概念119
5.1.1 使用函数之前120
盖房子与开发软件120
5.1 C++中的函数120
5.1.2 有了函数以后121
5.1.3 使用函数有很多优点122
5.2 函数的基本格式122
5.2.1 4个简单函数例子123
5.2.2 调用函数与被调函数124
5.3 写函数的要求125
5.3.1 计算年龄125
5.3.2 函数原型126
5.3.3 函数调用127
5.3.4 函数首行与函数体127
5.3.5 传值调用129
5.3.6 再看一个例子130
5.3.7 回顾函数的一般形式132
5.3.8 找错:类型失配133
5.3.9 找错:调用语句中的数据类型134
5.3.10 函数使用要求与C++库135
5.4 局部变量、静态变量、全局变量135
5.4.1 局部变量136
5.4.2 找错:忘记声明变量136
5.4.3 静态变量137
5.4.4 全局变量138
5.4.5 全局变量是危险的139
5.4.6 找错:全局变量y1和math.h139
5.5.1 传值调用复习141
5.5 指针与函数141
5.5.2 函数返回两个值142
5.5.3 指针复习142
5.5.4 传引用调用:将变量地址传给函数143
5.6 总结145
5.7 练习146
5.7.1 素数146
5.7.2 随机数150
5.7.3 时间转换151
5.7.4 猫和狗152
复习题与作业155
简答题155
代码阅读156
编程题157
程序找错题157
第6章 数组159
跑得更快,跳得更高160
6.1 使用单数据变量160
6.2 数组基础161
6.2.1 C++中的数组下标从零开始162
6.2.2 数组不被自动初始化162
6.2.3 初始化一维数组162
6.2.4 for循环与数组163
6.3 数组的伴随指针165
6.3.1 数组指针165
6.4 一维数组和函数166
6.4.2 向函数传递一维数组167
6.4.1 数组与数组指针167
6.4.3 求数组元素的平均值168
6.4.4 找错:不能从函数中“返回”数组169
6.5 字符数组172
6.5.1 字符数组的初始化173
6.5.2 空字符173
6.5.3 输入字符串175
6.5.4 读取数值和字符数据181
6.5.5 C++中的字符串函数183
6.6 多维数组184
6.6.1 二维数组的初始化185
6.6.2 嵌套for循环和二维数组186
6.6.3 二维数组的应用:水电杂费计算程序186
6.7.1 重新设计水电杂费计算程序188
6.7 多维数组与函数188
6.7.2 白雪公主:用二维数组存储姓名190
6.8 数组下标越界190
6.8.1 数组下标越界等于灾难192
6.9 从文件中读数据192
6.10 总结192
6.11 练习194
6.11.1 常用单词194
6.11.2 气象信息195
复习题与作业199
简答题199
找错题:编译错误199
找错题:运行期错误200
编程题201
第7章 用户定义的数据类型、结构与枚举204
建城堡205
7.1 用户定义的数据类型205
7.1.1 将数据分组205
7.1.2 结构与枚举206
7.2 结构206
7.2.1 数据类型基本概念回顾206
7.2.2 创建并声明结构207
7.2.3 结构说明208
7.2.4 无名结构209
7.3 访问结构成员210
7.3.1 方框图210
7.3.2 访问结构成员210
7.4.1 结构数组举例213
7.4 结构数组213
7.5 结构中的结构216
7.5.1 使用了时间结构的竞赛程序216
7.5.2 嵌套了两个结构的结构217
7.6 复制结构219
7.7 结构与函数220
7.7.1 时间结构举例221
7.7.2 求线段的中点222
7.8 传引用调用:将结构地址传递给函数223
7.8.1 函数与指针:简要回顾223
7.8.2 结构变量的赋值与返回225
7.8.3 右箭操作符与点操作符226
7.8.4 程序员的捷径227
7.8.5 编程案例:观鸟228
7.9 结构数组与函数230
7.9.1 底线230
7.9.2 举例:Student结构数组231
7.10 枚举数据类型232
7.10.1 通过枚举变量创建编号序列233
7.10.2 枚举变量:赋值与比较235
7.10.3 枚举变量找错:选择枚举值要谨慎238
7.10.4 举例:数硬币239
7.10.5 枚举变量的输入与输出240
7.11 枚举类型与函数242
7.11.1 举例:光学器件与错误代码243
7.13.1 计算时间245
7.12 多文件程序245
7.13 练习245
7.13.2 扑克牌247
7.13.3 趣味狗秀248
复习题与作业251
简答题251
找错:编译错误252
找错:运行期错误253
编程题254
第8章 函数第Ⅱ部分:高级概念256
8.1.1 基本要求257
8.1.2 传值调用257
8.1 函数复习257
走进新世界257
8.1.3 调用函数与被调函数259
8.1.4 传引用调用:向函数传递变量地址259
8.1.5 全局变量与函数260
8.1.6 函数传递数据的4种方法261
8.2 利用引用参数的传引用调用262
8.2.1 通过引用参数进行函数的传引用调用262
8.2.2 引用变量数组269
8.3 函数重载270
8.3.1 在过去的C时代270
8.3.2 函数重载271
8.4 可变长参数表函数273
8.4.1 画线程序274
8.4.2 参数顺序275
8.4.3 找错:函数重载278
8.4.4 不同类型的重载函数280
8.5 内联函数281
8.6 总结282
复习题与作业282
简答题282
找错题:编译错误283
找错题:运行期错误285
编程题287
第9章 类与对象290
9.1 面向对象的原则和定义291
9.1.1 简介291
打蜡291
9.1.2 面向对象语言的基本原则293
9.1.3 对象存在于生活中294
9.1.4 对象定义295
9.2 类与对象296
9.2.1 面向对象分析:特征、行为和功能296
9.2.2 面向对象设计297
9.2.3 结构化网球程序298
9.2.4 类的声明299
9.2.5 网球类300
9.2.6 如何给数据成员赋值302
9.3 定义成员函数305
9.3.1 两种不同格式305
9.3.2 举例:球体类305
9.4.1 数据成员的初始化308
9.4 类的构造函数308
9.4.2 构造函数309
9.4.3 举例:构造函数与时钟310
9.4.4 构造函数注意事项312
9.4.5 举例:两个日期312
9.5 析构函数315
9.6 一个简单例子316
9.6.1 学习难点316
9.6.2 举例:Gadgets程序316
9.6.3 找错:与类相关的常见错误320
9.7 对象数组325
9.7.1 PhoneList对象数组325
9.7.2 对象数组和扑克牌328
9.8 操作符重载与对象330
9.8.1 一元操作符重载331
9.8.2 增量/减量操作符的前缀形式与后缀形式332
9.8.3 二元操作符重载333
9.9 指针与类339
9.9.1 举例340
9.10 总结346
9.10.1 结构与类的比较347
9.11 练习348
9.11.1 足球运动员348
复习题与作业353
简答题353
找错题:编译错误353
找错题:运行期错误356
编程题358
第10章 类之间的关系360
开心时刻361
10.1 对象模型和类关系361
10.2 使用C++的类362
10.2.1 输入输出流类iostream362
10.2.2 C++字符串类362
10.2.3 C++数值类362
10.2.4 使用名字空间std363
10.2.5 名字空间举例363
10.3 “有”关系和“使用”关系365
10.3.1 例1:顾客与收银员365
10.3.2 例2:掷色子372
10.3.3 例3:教练的秒表376
10.3.4 例4:可乐零售机379
10.4 总结387
作业387
第11章 继承与虚函数392
家长与孩子393
11.1 为什么继承如此重要393
11.1.1 举例:计数器类393
11.1.2 答案是继承395
11.2 继承基础395
11.2.1 举例:Counter与NewCounter395
11.2.2 受保护的成员399
11.2.3 雇员、经理、执行总裁401
11.3 存取说明符的特殊用法408
11.5 继承、构造函数和析构函数410
11.5.1 复习构造函数和析构函数410
11.4 多重继承410
11.5.2 基类和派生类的构造函数411
11.5.3 基类和派生类的析构函数411
11.5.4 基类和派生类构造函数的参数传递412
11.5.5 找错:继承419
11.6 继承举例420
11.6.1 动物园421
11.6.2 洗牌与发牌424
11.6.3 面向对象程序设计425
11.6.4 类声明427
11.7.1 多态:一个界面,多种形式434
11.7 多态与虚函数434
11.7.2 什么是虚函数435
11.7.3 纯虚函数437
11.7.4 虚函数的应用438
11.8 总结443
复习题与作业443
简答题443
编程题444
第12章 高级C++编程446
冰山的启示447
12.1 动态内存分配447
12.1.1 概述447
12.1.2 new和delete操作符448
12.1.3 如果new操作失败,会出什么事451
12.2 星球大战452
12.2.1 为二维和三维数组分配内存452
12.2.2 在函数之间多次传递地址457
12.3 异常处理458
12.3.1 举例459
12.3.2 new操作符的异常处理461
12.4 微软基础类库(MFC)462
12.4.1 简述462
12.4.2 快速构建一个会发声的Windows应用程序463
12.5 JavaTM程序设计语言465
12.5.1 JavaTM是没有指针的C++465
12.5.2 Java版“Hello World”466
12.6 总结:模板、标准模板库、友元466
12.6.1 cout<<″\n再见!″;467
附录A Visual C++使用入门468
附录B C++关键字480
附录C C++中的操作符492
附录D ASCII码493
附录E 位、字节、内存及十六进制表示法497
附录F 文件输入输出502
附录G C++的string类515
附录H 多文件程序524
附录I 键盘输入和屏幕输出532
附录J Microsoft Visual C++调试工具544
附录K 例子程序索引552
参考文献559
词汇表560