第1章 绪论 1
1.1 知识点回顾 1
1.1.1 计算机的组成 1
1.1.2 算法与程序设计 2
1.2 习题解答 2
1.3 进一步拓展 5
1.3.1 计算机为什么采用二进制 5
1.3.2 算法的描述 5
第2章 通过例子学习 8
2.1 知识点回顾 8
2.1.1 C++程序的结构 8
2.1.2 变量定义 8
2.1.3 常量、符号常量 9
2.1.4 标识符命名规范 10
2.1.5 算术表达式 10
2.1.6 赋值表达式 11
2.1.7 数据的输入输出 12
2.2 习题解答 12
2.2.1 简答题 12
2.2.2 程序设计题 18
2.3 进一步拓展 24
第3章 逻辑思维——分支程序设计 28
3.1 知识点回顾 28
3.1.1 关系表达式和逻辑表达式 28
3.1.2 分支语句 29
3.2 习题解答 30
3.2.1 简答题 30
3.2.2 程序设计题 32
第4章 重复控制——循环程序设计 42
4.1 知识点回顾 42
4.1.1 重复n次操作 42
4.1.2 while循环 42
4.1.3 do-while循环 43
4.2 习题解答 43
4.2.1 简答题 43
4.2.2 程序设计题 44
4.3 进一步拓展 61
4.3.1 goto语句 61
4.3.2 结构化程序设计 62
4.3.3 位运算的进一步讨论 62
第5章 批量数据处理——数组 64
5.1 知识点回顾 64
5.1.1 一维数组 64
5.1.2 二维数组 65
5.1.3 字符串 66
5.2 习题解答 67
5.2.1 简答题 67
5.2.2 程序设计题 69
5.3 进一步拓展 82
5.3.1 特殊矩阵 82
5.3.2 对称矩阵 82
5.3.3 三角矩阵 83
5.3.4 稀疏矩阵 83
第6章 过程封装——函数 85
6.1 知识点回顾 85
6.1.1 函数的概念 85
6.1.2 函数的定义 85
6.1.3 函数的参数和返回值 85
6.1.4 数组作为函数的参数 86
6.1.5 重载函数 86
6.1.6 函数模板 87
6.1.7 变量的作用域与存储类别 87
6.1.8 递归程序设计 89
6.2 习题解答 89
6.2.1 简答题 89
6.2.2 程序设计题 92
6.3 进一步拓展 110
6.3.1 模拟计算机程序的运行 110
6.3.2 模拟器的设计 111
第7章 间接访问——指针 116
7.1 知识点回顾 116
7.1.1 指针的概念 116
7.1.2 指针运算与数组 116
7.1.3 指针与动态内存分配 117
7.1.4 字符串的指针表示 118
7.1.5 指针、数组和字符串传递 118
7.1.6 引用与引用传递 119
7.1.7 多级指针与指向函数的指针 119
7.1.8 main函数的参数 120
7.2 习题解答 121
7.2.1 简答题 121
7.2.2 程序设计题 122
第8章 数据封装——结构体 131
8.1 知识点回顾 131
8.1.1 记录的概念 131
8.1.2 结构体类型的变量的使用 132
8.1.3 结构体作为函数的参数 132
8.1.4 链表 133
8.2 习题解答 133
8.2.1 简答题 133
8.2.2 程序设计题 134
8.3 进一步拓展 141
第9章 模块化开发 144
9.1 知识点回顾 144
9.1.1 自顶向下分解 144
9.1.2 模块划分 144
9.1.3 设计自己的库 144
9.2 习题解答 145
9.2.1 简答题 145
9.2.2 程序设计题 146
第10章 创建工具——类的定义与使用 162
10.1 知识点回顾 162
10.1.1 面向对象的思想 162
10.1.2 面向对象程序设计的特点 162
10.1.3 类的定义 163
10.1.4 对象的使用 163
10.1.5 对象的构造与析构 164
10.1.6 常量对象和常量成员函数 165
10.1.7 常量数据成员 165
10.1.8 静态数据成员与静态成员函数 165
10.1.9 友元 166
10.2 习题解答 167
10.2.1 简答题 167
10.2.2 程序设计题 171
10.3 进一步拓展 200
10.3.1 不要随便改变复制构造的意义 200
10.3.2 计算机模拟程序 200
第11章 运算符重载 205
11.1 知识点回顾 205
11.1.1 什么是运算符重载 205
11.1.2 运算符重载的方法 205
11.1.3 自定义类型转换函数 206
11.2 习题解答 207
11.2.1 简答题 207
11.2.2 程序设计题 208
11.3 进一步拓展 226
第12章 组合与继承 227
12.1 知识点回顾 227
12.1.1 组合 227
12.1.2 继承 227
12.1.3 虚函数与运行时的多态性 228
12.1.4 虚析构函数 229
12.1.5 纯虚函数和抽象类 229
12.1.6 多继承 229
12.2 习题解答 230
12.2.1 简答题 230
12.2.2 程序设计题 233
12.3 进一步拓展 258
12.3.1 避免随意地继承 258
12.3.2 多态性与switch语句 258
第13章 泛型机制——模板 259
13.1 知识点回顾 259
13.1.1 类模板的定义 259
13.1.2 类模板的实例化 259
13.1.3 类模板的友元 260
13.2 习题解答 261
13.2.1 简答题 261
13.2.2 程序设计题 261
第14章 输入输出与文件 268
14.1 知识点回顾 268
14.1.1 基于控制台的输入输出 269
14.1.2 基于文件的输入输出 271
14.2 习题解答 273
14.2.1 简答题 273
14.2.2 程序设计题 275
第15章 异常处理 297
15.1 知识点回顾 297
15.2 习题解答 298
15.2.1 简答题 298
15.2.2 程序设计题 300
第16章 容器和迭代器 304
16.1 知识点回顾 304
16.2 习题解答 304
16.2.1 简答题 304
16.2.2 程序设计题 305
参考文献 308