第1章 概述 1
1.1 计算机语言和计算机程序设计 1
1.1.1 计算机语言 1
第1篇 结构化程序设计 1
1.1.2 计算机程序设计 2
1.2 程序设计方法 2
1.2.1 结构化程序设计基本思想 3
1.2.2 3种基本结构 3
1.2.3 结构化程序设计的过程 4
1.2.4 用自顶向下、逐步细化的方法构造算法实例 8
1.3 程序的实现环境 10
1.3.1 硬件环境 10
1.3.2 软件环境 11
1.4 C语言与C++的发展 12
习题 13
1.5 本章小结 13
思考题 13
第2章 程序设计初步 14
2.1 程序的基本结构 14
2.1.1 简单程序:输出一行文本 14
2.1.2 简单程序:计算两个整数的和 15
2.1.3 简单程序:用多函数方法计算两个整数的和 16
2.1.4 C/C++语言结构化程序的基本结构 17
2.2 数据类型 19
2.2.1 基本数据类型 19
2.2.2 常量 20
2.2.3 变量和内存的概念 23
2.2.4 变量定义和赋初值 24
2.3 算术运算符和算术表达式 25
2.4 赋值运算符和赋值表达式 26
2.5 数据类型的转换 27
2.6 数据的输出和输入 28
2.6.1 格式输出函数 28
2.6.2 格式输入函数 30
2.7 数学函数 32
2.8 简单程序设计 32
2.9 本章小结 35
思考题 35
习题 35
第3章 程序控制结构 37
3.1 选择结构程序设计 37
3.1.1 引例 37
3.1.2 关系运算和逻辑运算 38
3.1.3 if选择结构 40
3.1.4 switch多分支选择结构 46
3.1.5 程序设计举例 48
3.2 循环结构程序设计 49
3.2.1 引例 49
3.2.2 自增和自减运算符 51
3.2.3 while循环和do-while循环 52
3.2.4 for循环 54
3.2.5 循环嵌套 56
3.2.6 break和continue语句 57
3.2.7 循环应用举例 59
3.3 本章小结 62
思考题 62
习题 63
第4章 模块化程序设计 64
4.1 模块化程序设计概述 64
4.2 函数的声明、定义和调用 65
4.2.2 函数定义 66
4.2.1 函数说明 66
4.2.3 函数调用及参数的传递 67
4.2.4 带自定义函数的程序设计 70
4.3 函数的多级调用 73
4.3.1 嵌套调用 73
4.3.2 递归调用 75
4.3.3 递归与递推 83
4.4 变量的作用域和存储类别 84
4.4.1 局部变量及存储类别 85
4.4.2 全局变量及存储类别 87
4.5 计算机随机模拟方法 91
4.5.1 伪随机数的产生 92
4.5.2 蒙特卡罗方法 94
4.6 编译预处理 95
习题 99
4.7 本章小结 99
思考题 99
第5章 构造数据类型 102
5.1 数组概述 102
5.2 一维数组 102
5.2.1 引例 102
5.2.2 一维数组的定义 103
5.2.3 数组的初始化 104
5.2.4 数组的引用 104
5.3 数组做函数的参数 105
5.4 一维数组的应用 106
5.4.1 排序 106
5.4.2 数据查找 111
5.4.3 数据统计分析 114
5.5.1 二维数组的定义 116
5.5.2 二维数组的初始化 116
5.5 多维数组 116
5.5.3 二维数组的引用 117
5.5.4 二维数组元素在内存中的排列顺序 118
5.5.5 多维数组举例 118
5.6 字符数组与字符串 119
5.6.1 字符数组的定义及初始化 119
5.6.2 用字符数组存放字符串 120
5.6.3 字符数组的输入输出 120
5.6.4 用于字符串处理的函数 123
5.6.5 应用举例 126
5.7 结构体类型 127
5.7.1 结构体类型的定义 128
5.7.2 结构体变量的定义和引用 129
5.7.3 结构体变量的初始化 131
5.7.4 结构体应用举例 131
5.8.1 共用体类型的定义 133
5.8 共用体类型 133
5.8.2 共用体类型变量的定义和引用 134
5.8.3 共用体应用举例 134
5.9 本章小结 135
思考题 135
习题 136
第6章 指针 137
6.1 变量的地址和指针 137
6.1.1 数据在内存中的存储 137
6.1.2 访问变量的方式 137
6.1.3 指针变量 137
6.2 指针变量的定义及引用 138
6.2.1 指针变量的定义 138
6.2.2 指针变量的引用 138
6.3 指针与函数 141
6.3.1 指针作为函数参数 141
6.3.2 函数返回指针 142
6.3.3 函数指针 143
6.4 指针与数组 145
6.4.1 指向数组的指针 145
6.4.2 引用数组元素的方法 145
6.5 字符指针 147
6.5.1 字符串的表示形式 147
6.5.2 程序设计举例 148
6.6 指针数组 152
6.6.1 指针数组的概念 152
6.6.2 指针数组的初始化 153
6.7 本章小结 155
思考题 156
习题 156
7.2.1 ANSI C中用于动态操作的标准函数 158
7.2 动态内存分配 158
7.1 从静态数据结构到动态数据结构 158
第7章 动态数据结构 158
7.2.2 C++中用于动态操作的运算符——new和delete 162
7.3 链表 164
7.3.1 链表的定义 164
7.3.2 链表的建立 165
7.3.3 链表结点的插入 167
7.3.4 链表结点的删除 171
7.3.5 循环链表 173
7.4 本章小结 173
思考题 174
习题 174
第8章 文件 176
8.1 文件概述 176
8.1.1 文件的概念和分类 176
8.1.3 缓冲区和文件指针 177
8.1.2 文件的操作过程 177
8.2.1 文件的打开 178
8.2 文件的打开和关闭 178
8.2.2 文件的关闭 179
8.3 文件的顺序操作 179
8.3.1 文件的字符读写函数 179
8.3.2 文件的字符串读写函数 182
8.3.3 文件的数据块读写函数 184
8.3.4 文件的格式化读写函数 186
8.4 文件的随机操作 187
8.4.1 文件定位 187
8.4.2 文件的随机读写 188
8.5 文件的检测 189
思考题 190
习题 190
8.6 本章小结 190
第2篇 面向对象程序设计 191
第9章 从结构化程序设计到面向对象程序设计 191
9.1 C++对C的改进和扩充 191
9.1.1 输入输出流 191
9.1.2 函数的重载 193
9.1.3 带默认参数的函数 195
9.1.4 内联函数 196
9.1.5 一元作用域运算符 197
9.1.6 引用与函数 197
9.2 面向对象的程序设计方法 200
9.2.1 面向对象的概念 200
9.2.2 类和对象 201
9.2.3 面向对象程序设计的特性——封装性、继承性和多态性 204
9.3 本章小结 205
习题 206
思考题 206
第10章 类和对象 207
10.1 从结构到类 207
10.2 类和成员函数的定义 209
10.2.1 类的定义 209
10.2.2 在类外定义成员函数 210
10.2.3 接口与实现方法的分离 210
10.3 对象的定义与成员的访问 212
10.3.1 对象的定义 212
10.3.2 对象成员的访问 212
10.3.3 this指针 213
10.4 构造函数和析构函数 214
10.4.1 构造函数 214
10.4.2 析构函数 216
10.4.3 默认构造函数和默认析构函数 217
10.4.4 拷贝构造函数 218
10.5 静态成员 220
10.5.1 静态数据成员 220
10.5.2 静态成员函数 223
10.6 友元 224
10.6.1 友元函数 224
10.6.2 友元类 225
10.7 对象数组 226
10.8 复合类 227
10.9 本章小结 229
思考题 230
习题 230
第11章 继承与派生类 231
11.1 继承与派生类概述 231
11.2 单一继承 232
11.2.1 派生类的定义与实现 232
11.2.2 单一继承与访问控制 235
11.2.3 继承类别及派生类对基类成员的访问权 237
11.3 多重继承 239
11.3.1 派生类的定义与实现 239
11.3.2 多重继承与访问控制 240
11.3.3 虚基类 244
11.4 综合实例 251
11.5 本章小结 254
思考题 254
习题 254
第12章 多态性 255
12.1 多态性概述 255
12.2 函数重载与歧义性 255
12.3.1 运算符重载意义及要领 256
12.3.2 运算符重载实现方式 256
12.3 运算符重载 256
12.3.3 特殊运算符重载 259
12.3.4 类类型转换 268
12.4 虚函数 269
12.4.1 赋值兼容原则及虚函数的引入 269
12.4.2 虚函数的定义及使用 274
12.4.3 在基类构造函数与析构函数中调用虚函数 276
12.4.4 多重继承与虚函数 278
12.5 纯虚函数与抽象类 280
12.6 本章小结 282
思考题 282
习题 282
附录A 运算符的优先级和结合性 284
附录B ASCII字符集 286
附录C 常用库函数 287
参考文献 290
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《看视频零基础学英语口语》宋德伟 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018