1 绪论 1
1.1 程序设计概述 1
1.2 计算机的基本功能 1
1.3 算法设计 3
1.4 编码 5
1.5 编译与链接 5
1.6 程序调试和维护 6
1.7 小结 6
1.8 习题 6
2 程序的基本组成 8
2.1 程序的基本结构 8
2.2 常量与变量 11
2.3 数据的输入/输出 16
2.4 算术运算 18
2.5 赋值运算 20
2.6 编程规范及常见错误 22
2.7 小结 23
2.8 习题 24
3 分支程序设计 26
3.1 关系表达式 26
3.2 逻辑表达式 27
3.3 if语句及其应用 28
3.4 switch语句及其应用 33
3.5 编程规范及常见错误 37
3.6 小结 37
3.7 习题 38
4 循环程序设计 40
4.1 计数循环 40
4.2 break和continue语句 47
4.3 基于哨兵的循环 49
4.4 循环的应用 54
4.5 编程规范和常见错误 58
4.6 小结 58
4.7 习题 58
5 批量数据处理——数组 61
5.1 一维数组 61
5.2 查找 65
5.3 排序 69
5.4 二维数组 73
5.5 字符串 79
5.6 程序规范及常见错误 83
5.7 小结 84
5.8 习题 84
6 过程封装——函数 87
6.1 函数的定义 87
6.2 函数的使用 91
6.3 数组作为函数的参数 97
6.4 变量的作用域 103
6.5 变量的存储类别 105
6.6 递归函数 108
6.7 编程规范及常见错误 111
6.8 小结 112
6.9 习题 112
7 间接访问——指针 115
7.1 指针的概念 115
7.2 指针运算与数组 118
7.3 指针与动态变量 119
7.4 字符串再讨论 122
7.5 指针与函数 123
7.6 指针数组与多级指针 132
7.7 指向函数的指针 135
7.8 编程规范与常见错误 135
7.9 小结 136
7.10 习题 136
8 创建新的类型 140
8.1 面向对象程序设计 140
8.2 创建新的类型 141
8.3 对象的使用 148
8.4 对象的构造和析构 153
8.5 const与对象 165
8.6 静态成员 167
8.7 友元 171
8.8 编程规范及常见错误 179
8.9 小结 179
8.10 习题 179
9 运算符重载 183
9.1 运算符重载的方法 183
9.2 几个特殊运算符的重载 189
9.3 自定义类型转换函数 197
9.4 编程规范与常见错误 199
9.5 小结 200
9.6 习题 200
10 组合与继承 203
10.1 组合 203
10.2 继承 210
10.3 运行时的多态性 217
10.4 纯虚函数和抽象类 222
10.5 编程规范和常见错误 223
10.6 小结 223
10.7 习题 223
11 泛型机制——模板 226
11.1 类模板的定义 226
11.2 函数模板 227
11.3 模板的实例化 228
11.4 非类型参数 229
11.5 类模板的友元 230
11.6 类模板的继承 234
11.7 编程规范及常见错误 236
11.8 小结 236
11.9 习题 237
12 异常处理 238
12.1 异常抛出 238
12.2 异常捕获 239
12.3 异常规格说明 243
12.4 编程规范和常见错误 244
12.5 小结 244
12.6 习题 244
13 输入/输出与文件 245
13.1 输入输出概述 245
13.2 基于控制台的输入/输出 247
13.3 基于文件的输入/输出 256
13.4 编程规范及常见错误 262
13.5 小结 263
13.6 习题 263
附录 ASCII代码表 265
参考文献 266