第一部分 C++基础第1章 C++程序设计基础 3
1.1 简介 3
1.2 知识点 3
1.3 概念解析 4
1.3.1 标识符 4
1.3.2 数据类型 4
1.3.3 变量 5
1.3.4 常量 5
1.3.5 类型转换 7
1.3.6 语句 8
1.3.7 简单的输入与输出 8
1.3.8 运算符及优先级 9
1.3.9 算术运算符 11
1.3.10 赋值运算符 11
1.3.11 关系运算和逻辑运算 12
1.3.12 字位运算符 12
1.3.13 其他运算符 13
1.3.14 选择语句 14
1.3.15 循环语句 15
1.3.16 控制执行顺序的语句 16
1.4 习题解析 16
1.4.1 选择题 16
1.4.2 填空题 20
1.4.3 完善程序题 23
1.5 经典算法解析 24
1.5.1 两变量的值交换 24
1.5.2 选择结构语句 25
1.5.3 switch语句的应用 26
1.5.4 switch语句中巧用break 27
1.5.5 3种循环语句的互换 28
1.5.6 多重循环 29
1.5.7 枚举法 30
1.5.8 递推法 31
1.5.9 循环控制 32
1.6 同步练习 33
1.6.1 选择题 33
1.6.2 填空题 34
1.6.3 完善程序题 36
1.7 同步练习参考答案 36
第2章 函数和预编译处理 39
2.1 简介 39
2.2 知识点 40
2.3 概念解析 40
2.3.1 函数的基本概念 40
2.3.2 函数的返回 41
2.3.3 函数的调用 41
2.3.4 函数原型声明 42
2.3.5 递归调用 42
2.3.6 值传递 43
2.3.7 引用与引用传递 43
2.3.8 变量的存储机制 43
2.3.9 作用域 44
2.3.10 生命周期 45
2.3.11 内联函数 46
2.3.12 函数重载 47
2.3.13 缺省参数 47
2.3.14 预编译指令 47
2.3.15 文件包含 47
2.3.16 宏定义 48
2.3.17 库函数 49
2.4 习题解析 49
2.4.1 选择题 49
2.4.2 填空题 50
2.4.3 完善程序题 56
2.5 精典算法解析 57
2.5.1 函数和模块化 57
2.5.2 引用传递的应用 57
2.5.3 递归函数的引用 59
2.5.4 函数的重载 60
2.6 同步练习 61
2.6.1 选择题 61
2.6.2 填空题 62
2.6.3 完善程序题 64
2.7 同步练习参考答案 65
第3章 构造数据类型及其应用 67
3.1 简介 67
3.2 知识点 68
3.3 概念解析 68
3.3.1 数组的概念 68
3.3.2 一维数组 69
3.3.3 访问数组元素 69
3.3.4 二维数组 69
3.3.5 字符数组 70
3.3.6 常用字符串函数 70
3.3.7 数组和函数 71
3.3.8 排序和查找 71
3.3.9 结构体类型的定义 71
3.3.10 结构体变量的定义及其初始化 72
3.3.11 结构体数组 72
3.3.12 共同体类型、变量的定义 72
3.3.13 枚举类型和枚举变量的定义 72
3.3.14 位域 73
3.4 习题解析 73
3.4.1 选择题 73
3.4.2 填空题 76
3.4.3 程序分析题 77
3.4.4 完善程序题 81
3.5 经典算法解析 89
3.6 同步练习 96
3.6.1 选择题 96
3.6.2 填空题 97
3.6.3 程序分析题 97
3.6.4 完善程序题 99
3.7 同步练习参考答案 102
第4章 指针和引用 105
4.1 简介 105
4.2 知识点 106
4.3 概念解析 106
4.3.1 内存单元的地址 106
4.3.2 变量的地址 107
4.3.3 指针 107
4.3.4 指针变量的定义 107
4.3.5 指针的运算 107
4.3.6 访问指针变量 108
4.3.7 指向指针的指针 108
4.3.8 指针和数组 108
4.3.9 指针和二维数组 109
4.3.10 指针和字符串 109
4.3.11 字符串指针和字符数组 109
4.3.12 指针数组 110
4.3.13 指向一维数组的指针 110
4.3.14 指向二维数组的指针变量 110
4.3.15 指针和函数参数 111
4.3.16 函数返回值为指针的函数 111
4.3.17 指向函数的指针 111
4.3.18 new和delete运算符 112
4.3.19 常指针 112
4.3.20 引用 113
4.3.21 链表 113
4.4 习题解析 114
4.4.1 选择题 114
4.4.2 阅读程序并填空 117
4.4.3 完善程序题 122
4.5 精典算法解析 126
4.6 同步练习 128
4.6.1 选择题 128
4.6.2 阅读程序题 130
4.6.3 完善程序题 132
4.7 同步练习参考答案 136
第5章 C++语言基础的综合训练 137
5.1 习题解析 137
5.1.1 阅读程序并填空 137
5.1.2 完善程序题 139
5.1.3 改错题 141
5.1.4 算法解析 144
5.2 同步练习 146
5.2.1 阅读程序题 146
5.2.2 完善程序题 147
5.2.3 改错题 148
5.2.4 上机编程题 149
5.3 模拟试卷 151
5.3.1 模拟试卷一 151
5.3.2 模拟试卷二 158
5.4 同步练习和模拟试卷参考答案 165
5.4.1 同步练习参考答案 165
5.4.2 模拟试卷一参考答案 165
5.4.3 模拟试卷二参考答案 166
第二部分 面向对象的程序设计第6章 类和对象 171
6.1 简介 171
6.2 知识点 172
6.3 概念解析 172
6.3.1 对象和类 172
6.3.2 成员数据和成员函数 173
6.3.3 成员属性 174
6.3.4 this指针 174
6.4 习题解析 175
6.4.1 选择题 175
6.4.2 填空题 176
6.4.3 完善程序题 178
6.5 同步练习 178
6.5.1 选择题 178
6.5.2 填空题 180
6.5.3 完善程序题 181
6.6 同步练习参考答案 183
第7章 构造函数与析构函数 185
7.1 简介 185
7.2 知识点 185
7.3 概念解析 185
7.3.1 构造函数 185
7.3.2 缺省参数和默认参数的构造函数 186
7.3.3 析构函数 187
7.3.4 new和delete运算与构造和析构函数 187
7.3.5 完成复制功能的构造函数 187
7.3.6 浅复制与深复制 188
7.3.7 对象成员 189
7.3.8 构造函数和对象成员 189
7.4 习题解析 190
7.4.1 选择题 190
7.4.2 填空题 191
7.4.3 阅读填空题 191
7.4.4 完善程序题 197
7.5 同步练习 199
7.5.1 选择题 199
7.5.2 填空题 200
7.5.3 阅读填空题 200
7.5.4 完善程序题 205
7.5.5 改错题 208
7.6 同步练习参考答案 209
第8章 继承和派生 211
8.1 简介 211
8.2 知识点 212
8.3 概念解析 212
8.3.1 继承与派生 212
8.3.2 派生方式 213
8.3.3 抽象类 213
8.3.4 派生类的构造函数与析构函数 214
8.3.5 单一继承与多重继承 214
8.3.6 冲突、支配规则和赋值兼容规则 214
8.3.7 虚基类 215
8.4 习题解析 215
8.4.1 选择题 215
8.4.2 填空题 217
8.4.3 阅读填空题 217
8.4.4 改错题 221
8.4.5 完善程序题 222
8.5 同步练习 224
8.5.1 选择题 224
8.5.2 填空题 226
8.5.3 阅读填空题 226
8.5.4 完善程序题 232
8.6 同步练习参考答案 233
第9章 类的其他特性 235
9.1 简介 235
9.2 知识点 235
9.3 概念解析 236
9.3.1 友元函数的概念 236
9.3.2 友元函数的定义及使用 236
9.3.3 友元类的概念及使用 236
9.3.4 虚函数的概念和应用 236
9.3.5 纯虚函数 237
9.3.6 静态成员 237
9.3.7 静态数据成员 237
9.3.8 静态函数成员 238
9.4 习题解析 238
9.4.1 选择题 238
9.4.2 填空题 239
9.4.3 阅读程序题 239
9.5 同步练习 245
9.5.1 选择题 245
9.5.2 填空题 246
9.5.3 阅读程序题 246
9.6 同步练习参考答案 249
第10章 运算符重载 251
10.1 简介 251
10.2 知识点 251
10.3 概念解析 252
10.3.1 运算符重载 252
10.3.2 成员函数实现运算符重载 252
10.3.3 友元函数实现运算符重载 253
10.3.4 类型转换函数 254
10.3.5 几个特殊运算符的重载 254
10.3.6 字符串类 254
10.4 习题解析 255
10.4.1 选择题 255
10.4.2 填空题 256
10.4.3 阅读填空题 256
10.4.4 完善程序题 259
10.4.5 几个特殊运算符的重载例子 262
10.5 同步练习 266
10.5.1 选择题 266
10.5.2 填空题 266
10.5.3 阅读程序题 266
10.5.4 完善程序题 269
10.6 同步练习参考答案 271
第11章 模板 273
11.1 简介 273
11.2 知识点 273
11.3 概念解析 273
11.3.1 模板的概念 273
11.3.2 函数模板的定义和使用 273
11.3.3 类模板的定义和使用 274
11.4 习题解析 275
11.4.1 选择题 275
11.4.2 填空题 276
11.4.3 完善程序题 279
11.5 同步练习 284
11.5.1 选择题 284
11.5.2 阅读程序题 285
11.5.3 完善程序题 286
11.6 同步练习参考答案 286
第12章 输入输出流类库 289
12.1 简介 289
12.2 知识点 289
12.3 概念解析 290
12.3.1 基本流类体系 290
12.3.2 输入/输出的格式控制 290
12.3.3 标准设备的输入/输出 291
12.3.4 文件流 293
12.3.5 文件的使用方法 293
12.3.6 文本文件的使用 296
12.3.7 二进制文件的使用 296
12.3.8 文件的随机访问 297
12.4 习题解析 297
12.4.1 选择题 297
12.4.2 填空题 298
12.4.3 完善程序题 300
12.5 同步练习 301
12.5.1 选择题 301
12.5.2 填空题 302
12.5.3 完善程序题 303
12.6 同步练习参考答案 304
第13章 面向对象程序设计的综合训练 307
13.1 类综合习题解析 307
13.1.1 改错题 307
13.1.2 综合应用题 310
13.2 综合练习 314
13.2.1 阅读填空题 314
13.2.2 完善程序题 317
13.2.3 改错题 320
13.2.4 上机编程题 321
13.3 模拟试卷 322
13.3.1 模拟试卷一 322
13.3.2 模拟试卷二 329
13.4 参考答案 335
13.4.1 综合练习参考答案 335
13.4.2 模拟试卷一参考答案 336
13.4.3 模拟试卷二参考答案 337