C++语言探索发现学习教程PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:雷小锋,毛善君,张海荣著
- 出 版 社:徐州:中国矿业大学出版社
- 出版年份:2015
- ISBN:9787564626426
- 页数:361 页
第1章 从人机需求到C++语言 1
1.1 人类如何求解问题? 1
1.1.1 自己动手:过程化思维 1
1.1.2 求助他人:面向对象思维 2
1.1.3 发明炒菜机:泛型思维 3
1.2 计算机如何执行程序? 4
1.2.1 计算机的工作原理 4
1.2.2 存储器的逻辑结构 5
1.3 从人机需求到计算机语言 9
1.3.1 计算机母语:机器语言 9
1.3.2 引入助记符:汇编语言 10
1.3.3 满足人的需求:高级语言 11
1.4 从人机需求到C++语言 11
1.4.1 C++过程化思维篇 11
1.4.2 C++面向对象思维篇 12
1.4.3 C++语言泛型思维篇 14
1.5 章节小结 14
习题 15
第2章 欲善其事 先利其器 16
2.1 编写素数判定程序 16
2.1.1 新建工程和C++源文件 16
2.1.2 C++程序的一般结构 18
2.1.3 编写素数判定程序 19
2.1.4 程序组织和编译链接 27
2.2 C++程序概览 29
2.2.1 C++程序是字符序列 29
2.2.2 C++程序是单词序列 29
2.2.3 C++程序是语句序列 31
2.2.4 C++程序是函数集合 32
2.2.5 C++程序是一组文件 33
2.3 章节小结 34
习题 34
第一篇 过程化思维篇 37
第3章 简单数据的描述和处理 37
3.1 描述简单数据 37
3.1.1 描述数据的人机需求 37
3.1.2 约定数据规格:数据类型 39
3.1.3 描述字面数据:字面量 41
3.1.4 描述可变数据:变量 46
3.2 数据的基本运算处理 49
3.2.1 C++语言的表达式 50
3.2.2 C++运算符及其表达式 52
3.2.3 表达式的类型转换规则 61
3.2.4 运算符和表达式小结 63
3.3 控制数据处理流程 64
3.3.1 选择:“如果-就” 64
3.3.2 循环:“如果-就反复执行” 68
3.3.3 控制流程的跳转 71
3.4 数据输入输出处理 73
3.4.1 输入输出流的概念 73
3.4.2 键盘输入处理:cin 74
3.4.3 屏幕输出处理:cout 74
3.4.4 输入输出格式控制 76
3.4.5 文件输入输出处理 77
3.5 数据处理机器:函数 85
3.5.1 从数据处理机器到函数 85
3.5.2 制造数据处理机器:定义函数 86
3.5.3 使用数据处理机器:调用函数 87
3.5.4 函数调用的形参生成 91
3.5.5 函数嵌套和递归 93
3.5.6 函数内联(inline) 96
3.5.7 函数重载和默认参数值 97
3.6 章节小结 99
习题 100
第4章 结构化编程和程序组织 103
4.1 结构化编程思想实践 103
4.1.1 进制转换演示程序 103
4.1.2 函数就地声明的问题 106
4.1.3 头文件集中声明 108
4.2 程序的多文件组织结构 109
4.2.1 多文件组织程序 109
4.2.2 独立编译和多目标链接 110
4.3 作用域和生存期 111
4.3.1 作用域:程序实体存在的空间范围 111
4.3.2 生存期:程序实体存在的时间范围 114
4.3.3 作用域和生存期小结 116
4.3.4 多文件共享程序实体:链接性 116
4.4 避免全局冲突:名字空间 118
4.4.1 全局程序实体的冲突问题 118
4.4.2 名字空间 119
4.4.3 C++标准名字空间 122
4.5 章节小结 123
习题 123
第5章 复合数据的描述和处理 125
5.1 描述不变的变量:常变量 125
5.1.1 宏定义指令 125
5.1.2 常变量 126
5.2 描述变量集合:数组变量 126
5.2.1 定义数组变量 127
5.2.2 访问数组元素 128
5.2.3 数组的数组:多维数组 129
5.3 存放地址的变量:指针变量 132
5.3.1 定义指针变量 133
5.3.2 指针访问和操作 134
5.3.3 无类型指针:void 137
5.3.4 指针与动态变量 138
5.3.5 指针和动态数组 140
5.4 描述字符串:字符串变量 143
5.4.1 字符数组实现字符串 144
5.4.2 字符指针实现字符串 144
5.4.3 操作字符串 145
5.5 变量的别名:引用变量 145
5.5.1 定义引用 145
5.5.2 引用作为函数形参 146
5.6 嵌套复合的数据类型 147
5.6.1 常量数组与枚举 148
5.6.2 指针数组和数组指针 150
5.6.3 常量指针和指针常量 151
5.6.4 多维数组和多级指针 152
5.6.5 常变量、数组、指针的引用 153
5.6.6 简化嵌套复合:typedef 154
5.7 复合数据类型与函数 155
5.7.1 数组名用作函数参数 155
5.7.2 函数如何返回数组 157
5.7.3 指针与函数 162
5.7.4 引用与函数 166
5.8 结构化编程实践 167
5.8.1 求解约瑟夫问题 167
5.8.2 矩阵转置问题 169
5.9 章节小结 171
习题 171
第二篇 面向对象思维篇 177
第6章 描述和使用对象 177
6.1 描述对象的人机需求 177
6.1.1 人如何描述对象:定义类 177
6.1.2 计算机的需求:定义数据类型 178
6.2 如何定义类 178
6.2.1 定义类的语法 179
6.2.2 类是定制数据类型 182
6.3 产生对象 184
6.3.1 对象和变量 184
6.3.2 访问对象成员 184
6.4 基于对象求解日期问题 187
6.4.1 main函数:对象之间的沟通协作过程 187
6.4.2 描述日期对象:CDate类 188
6.4.3 成员函数input 188
6.4.4 成员函数diff 190
6.4.5 成员函数add 192
6.5 类成员:约定对象的属性和行为 193
6.5.1 类数据成员 193
6.5.2 类成员函数 194
6.6 约定对象生死时刻的行为 195
6.6.1 构造函数:约定对象产生的初始化行为 195
6.6.2 析构函数:约定对象死亡的善后行为 201
6.6.3 构造和析构函数的调用时机 203
6.7 约定对象运算的行为:重载操作符 211
6.7.1 重载操作符 212
6.7.2 成员重载操作符 212
6.7.3 非成员重载操作符 212
6.7.4 友元:我是你的朋友 213
6.7.5 两种操作符重载方式比较 216
6.7.6 重载CDate类的操作符 217
6.7.7 重载赋值操作符 219
6.8 约定类成员的常量性 221
6.8.1 常量数据成员 221
6.8.2 常量成员函数 222
6.8.3 volatile成员 225
6.9 约定类成员的静态性 225
6.9.1 静态数据成员 226
6.9.2 静态成员函数 228
6.9.3 const、static成员小结 230
6.10 基于循环链表求解约瑟夫问题 230
6.10.1 约瑟夫问题求解思路 230
6.10.2 实现CRing的成员函数 232
6.11 基于对象求解矩阵问题 234
6.11.1 设计矩阵类CMatrix 234
6.11.2 CMatrix类的构造和析构函数 234
6.11.3 重载CMatrix类的操作符 237
6.11.4 访问矩阵元素:重载函数调用 239
6.11.5 重载矩阵转置和乘法操作符 240
6.11.6 重载矩阵输入和输出操作符 241
6.11.7 组织CMatrix类求解问题 241
6.12 章节小结 242
习题 244
第7章 对象的组合和继承 246
7.1 基于组合关系定制类:组合类 246
7.1.1 组合类对象的构造和析构 247
7.1.2 子对象的显式初始化 248
7.2 基于类属关系定制类:继承与派生 249
7.2.1 继承的含义和语法 249
7.2.2 选择继承方式 251
7.2.3 改造基类成员 254
7.2.4 重写构造和析构函数 257
7.2.5 派生类定制小结 259
7.3 利用组合/继承求解线性方程组 260
7.3.1 组合出线性方程组类 260
7.3.2 求解线性方程 261
7.4 派生类对象用作基类对象 264
7.4.1 派生类和基类的赋值兼容 264
7.4.2 针对基类引用/指针进行通用编程 268
7.5 对象行为的多态:重载和虚函数 270
7.5.1 通过重载实现编译期多态 270
7.5.2 通过虚函数实现运行期多态 271
7.5.3 虚函数的运行期绑定原理 274
7.6 运行期多态的编程实践 278
7.6.1 定义形状基类CShape 279
7.6.2 定义CShape的派生类 279
7.6.3 定义通用函数display 280
7.6.4 虚析构函数的用处 282
7.7 不产生对象的类:抽象类 284
7.7.1 抽象类是包含纯虚函数的类 285
7.7.2 应用纯虚函数求解定积分 288
7.7.3 只有纯虚函数的接口类 289
7.8 继承多个基类:多重继承和虚基类 291
7.8.1 多重继承的语法及其内涵 291
7.8.2 重复继承基类的问题 293
7.8.3 多重继承的适用场合 301
7.9 运行期类型识别RTTI 304
7.9.1 操作符typeid 304
7.9.2 操作符dynamic_cast 305
7.10 异常处理机制 306
7.10.1 C++异常处理机制 306
7.10.2 抛出异常:throw语句 307
7.10.3 捕获和处理异常:try-catch语句 307
7.11 章节小结 308
习题 309
第三篇 泛型思维篇 313
第8章 泛化数据类型:模板与泛型编程 313
8.1 数据类型泛化:定义模板 313
8.1.1 定义函数模板 314
8.1.2 定义类模板 315
8.1.3 定义通用数组类 316
8.2 应用模板:模板实例化 318
8.2.1 模板实例化的方法 318
8.2.2 模板参数推演 318
8.2.3 模板特化 319
8.3 C++标准模板库 321
8.3.1 标准模板库能干什么 321
8.3.2 利用STL求解问题 322
8.3.3 容器(container) 323
8.3.4 迭代器(iterator) 331
8.3.5 仿函数(function object) 335
8.3.6 算法(algorithms) 337
8.4 泛型编程实践 344
8.4.1 文本单词反转问题 344
8.4.2 多序列最小和问题 345
8.4.3 农夫过河问题 350
8.5 章节小结 359
习题 360
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《名医教你练走颈肩腰腿痛》许学猛 2018
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018