图书介绍
C++程序设计教程PDF|Epub|txt|kindle电子书版本网盘下载
- 皮德常编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111262473
- 出版时间:2009
- 标注页数:313页
- 文件大小:14MB
- 文件页数:323页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
C++程序设计教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C++程序设计基础1
1.1 为什么要学习C++程序设计1
1.2 简单的C++程序举例2
1.3 注释方法2
1.4 编程风格3
1.5 C++程序的词法单位3
1.5.1 C++程序中的字符3
1.5.2 标识符3
1.5.3 关键字4
1.6 C++的基本数据类型4
1.7 变量与常量5
1.7.1 变量5
1.7.2 文字常量6
1.7.3 符号常量8
1.7.4 常变量8
1.8 运算符和表达式8
1.8.1 算术运算符和算术表达式8
1.8.2 运算符的优先级和结合性9
1.8.3 赋值运算符和赋值表达式9
1.8.4 自增、自减运算10
1.8.5 关系运算符和关系表达式10
1.8.6 逻辑运算符和逻辑表达式11
1.8.7 位运算和算术表达式12
1.8.8 逗号运算符与逗号表达式14
1.8.9 sizeof运算符14
1.8.10 C++的运算符、优先级和结合性14
1.9 语句15
1.10 类型转换15
1.10.1 赋值时的类型转换15
1.10.2 混合运算时的类型转换17
1.10.3 强制类型转换17
1.11 简单的输出和输入方法18
1.11.1 cout对象和cin对象18
1.11.2 格式化输出20
1.11.3 采用函数成员实现格式化输出23
1.11.4 对函数成员的初步讨论24
1.11.5 指定输入域宽24
1.11.6 读取一行25
1.11.7 读取一个字符25
1.11.8 读取字符时易出错的地方26
1.12 枚举类型26
1.12.1 枚举类型的定义26
1.12.2 枚举类型的变量27
1.12.3 枚举类型的应用27
思考与练习28
第2章 C++的流程控制30
2.1 算法的基本概念和表示方法30
2.1.1 算法的基本概念30
2.1.2 算法的表示30
2.1.3 算法的三种基本结构31
2.2 选择结构程序设计32
2.2.1 基本的if句32
2.2.2 嵌套的if句34
2.2.3 条件运算符36
2.3 switch语句36
2.4 循环结构程序设计38
2.4.1 while循环38
2.4.2 do-while循环39
2.4.3 for循环40
2.4.4 循环嵌套42
2.4.5 break语句43
2.4.6 continue语句44
2.4.7 应该少用的goto语句44
2.5 程序设计应用举例44
思考与练习48
第3章 函数51
3.1 函数的定义和调用51
3.1.1 概述51
3.1.2 定义函数51
3.1.3 调用函数52
3.2 函数的声明53
3.3 函数的参数传递和返回值55
3.3.1 函数参数的传递方式55
3.3.2 函数的返回值56
3.4 局部变量和全局变量57
3.4.1 内存存储区的布局57
3.4.2 局部变量58
3.4.3 全局变量58
3.4.4 局部变量与栈59
3.5 变量的存储类别60
3.5.1 auto修饰的变量60
3.5.2 register修饰的变量60
3.5.3 static修饰的变量61
3.5.4 extern修饰的变量61
3.6 默认参数62
3.7 引用作参数64
3.8 函数重载66
3.9 函数模板68
3.9.1 从函数重载到函数模板68
3.9.2 定义函数模板的方法71
3.9.3 在函数模板中使用多种类型71
3.9.4 函数模板重载71
3.10 内联函数72
3.11 函数的递归调用73
3.12 函数的调试方法78
3.13 编译预处理79
3.13.1 宏定义79
3.13.2 文件包含80
3.13.3 条件编译81
思考与练习82
第4章 数组85
4.1 一维数组85
4.1.1 一维数组的定义和应用85
4.1.2 引用一维数组元素86
4.1.3 数组无越界检查86
4.1.4 数组初始化86
4.2 多维数组87
4.2.1 二维数组的定义88
4.2.2 二维数组的初始化88
4.2.3 引用二维数组元素89
4.3 数组作函数参数90
4.3.1 数组元素作函数参数90
4.3.2 数组名作函数参数90
4.4 常用算法举例91
4.5 字符数组与字符串102
4.5.1 字符数组的定义102
4.5.2 字符数组的初始化102
4.5.3 字符串103
4.5.4 字符数组的输入和输出103
4.6 处理字符和字符串104
4.6.1 处理字符的宏104
4.6.2 处理C风格字符串的函数106
4.6.3 自定义字符串处理的函数108
4.7 标准C++的string110
4.7.1 如何使用string类型110
4.7.2 string对象的比较110
4.7.3 string对象的初始化111
4.7.4 string的函数成员111
4.7.5 string对象应用举例113
思考与练习114
第5章 指针115
5.1 指针的概念115
5.2 指针变量115
5.2.1 定义指针变量115
5.2.2 运算符&和*116
5.2.3 引用指针变量117
5.3 指针与数组118
5.3.1 指向数组元素的指针119
5.3.2 指针的运算119
5.3.3 二维数组与指针121
5.4 指针与函数125
5.4.1 基本类型的变量作函数形参125
5.4.2 引用作函数形参126
5.4.3 指针变量作函数形参127
5.4.4 返回指针的函数129
5.4.5 指向函数的指针130
5.5 指针数组与指向指针的指针131
5.5.1 指针数组131
5.5.2 main函数的参数133
5.5.3 指向指针的指针134
5.5.4 再次讨论main函数的参数134
5.6 内存的动态分配和释放135
5.7 void和const修饰指针变量137
5.7.1 void修饰指针137
5.7.2 const修饰指针138
5.8 对容易混淆概念的总结139
思考与练习141
第6章 结构体与链表145
6.1 抽象数据类型145
6.2 结构体的定义及应用145
6.2.1 定义结构体类型145
6.2.2 定义结构体类型的变量146
6.2.3 初始化结构体类型的变量147
6.2.4 结构体类型变量及其成员的引用148
6.2.5 结构体数组与指针150
6.3 用typedef定义类型153
6.4 单向链表154
6.4.1 链表的概念154
6.4.2 带头结点的单向链表常用算法155
思考与练习159
第7章 文件操作161
7.1 文件的基本概念161
7.1.1 文件命名的原则161
7.1.2 使用文件的基本过程161
7.1.3 文件流类型161
7.2 打开文件和关闭文件162
7.2.1 打开文件162
7.2.2 文件的打开模式163
7.2.3 定义流对象时打开文件164
7.2.4 测试文件打开是否成功164
7.2.5 关闭文件165
7.3 采用流操作符读写文件165
7.3.1 采用“〈〈”写文件165
7.3.2 格式化输出在写文件中的应用167
7.3.3 采用“〉〉”从文件读数据168
7.3.4 检测文件结束169
7.4 流对象作参数170
7.5 出错检测171
7.6 采用函数成员读/写文件173
7.6.1 采用“〉〉”读文件的缺陷173
7.6.2 采用函数getline读文件174
7.6.3 采用函数get读文件175
7.6.4 采用函数put写文件176
7.7 多文件操作176
7.8 二进制文件177
7.8.1 二进制文件的操作177
7.8.2 读/写结构体记录179
7.9 随机访问文件181
7.9.1 顺序访问文件的缺陷181
7.9.2 定位函数seekp和seekg182
7.9.3 返回位置函数tellp和tellg184
7.10 输入/输出二进制文件综合举例185
思考与练习189
第8章 类的基础部分190
8.1 面向过程的程序设计与面向对象程序设计的区别190
8.1.1 面向过程的程序设计的缺陷190
8.1.2 面向对象程序设计的基本思想190
8.2 类的基本概念191
8.3 定义函数成员194
8.4 定义对象194
8.4.1 访问对象的成员194
8.4.2 指向对象的指针195
8.4.3 引入私有成员的原因196
8.5 类的多文件组织197
8.6 私有函数成员的作用199
8.7 内联函数200
8.8 构造函数和析构函数201
8.8.1 构造函数201
8.8.2 析构函数203
8.8.3 带参构造函数204
8.8.4 构造函数应用举例——输入有效的对象206
8.8.5 重载构造函数208
8.8.6 缺省构造函数的表现形式209
8.9 对象数组210
8.10 类的应用举例212
8.11 抽象数组类型216
8.11.1 创建抽象数组类型216
8.11.2 扩充抽象数组类型218
思考与练习222
第9章 类的高级部分224
9.1 静态成员224
9.1.1 静态数据成员224
9.1.2 静态函数成员226
9.2 友元函数228
9.2.1 外部函数作为类的友元229
9.2.2 类的成员函数作为另外一个类的友元229
9.2.3 一个类作为另外一个类的友元233
9.3 对象赋值问题233
9.4 拷贝构造函数235
9.4.1 缺省的拷贝构造函数236
9.4.2 调用拷贝构造函数的情况237
9.4.3 拷贝构造函数中的常参数238
9.5 运算符重载239
9.5.1 重载赋值运算符239
9.5.2 this指针241
9.5.3 重载双目算术运算符243
9.5.4 重载单目算术运算符245
9.5.5 重载关系运算符246
9.5.6 重载流操作符“〈〈”和“〉〉”247
9.5.7 重载类型转换运算符248
9.5.8 重载“[]”操作符253
9.5.9 重载运算符时要注意的问题257
9.5.10 运算符重载综合举例——自定义string类257
9.6 对象组合264
思考与练习265
第10章 继承、多态和虚函数267
10.1 继承267
10.2 保护成员和类的访问271
10.3 构造函数和析构函数274
10.3.1 缺省构造函数和析构函数的调用274
10.3.2 向基类的构造函数传参数275
10.3.3 初始化列表的作用277
10.4 覆盖基类的函数成员278
10.5 虚函数280
10.6 纯虚函数和抽象类283
10.6.1 纯虚函数283
10.6.2 抽象类284
10.6.3 指向基类的指针286
10.7 多重继承287
10.8 多继承288
10.9 类模板291
10.9.1 定义类模板的方法291
10.9.2 定义类模板的对象293
10.9.3 类模板与继承294
思考与练习296
第11章 异常处理299
11.1 异常299
11.1.1 抛出异常299
11.1.2 处理异常300
11.2 基于对象的异常处理301
11.3 捕捉多种类型的异常303
11.4 通过异常对象获取异常信息304
11.5 再次抛出异常306
思考与练习307
课程设计308
参考文献313