第1章 C++程序设计基础 1
1.1 开始 1
1.2 一些简单的程序 2
1.3 输出操作符 4
1.4 字符与文字 5
1.5 变量及其声明 6
1.6 程序标记 7
1.7 初始化变量 8
1.8 对象、变量与常量 9
1.9 输入操作符 10
1.10 使用集成开发环境 10
复习题 13
编程题 15
复习题答案 15
编程题答案 16
第2章 基本数据类型 20
2.1 数字数据类型 20
2.2 布尔类型 20
2.3 枚举类型 21
2.4 字符类型 23
2.5 整数类型 24
2.6 算术操作符 26
2.7 递增与递减操作符 26
2.8 复合赋值操作符 27
2.9 浮点类型 28
2.10 类型转换 31
2.11 数值溢出 33
2.12 圆整错误 34
2.13 浮点值的指数格式 38
2.14 作用域 39
复习题 40
编程题 41
复习题答案 42
编程题答案 42
第3章 选择语句 48
3.1 if语句 48
3.2 if…else语句 49
3.3 关键字 49
3.4 比较操作符 50
3.5 语句块 52
3.6 复合条件 54
3.7 短路问题 56
3.8 布尔表达式 56
3.9 嵌套选择语句 58
3.10 else if结构 61
3.11 switch语句 62
3.12 条件表达式操作符 64
复习题 65
编程题 67
复习题答案 68
编程题答案 72
第4章 迭代 80
4.1 while语句 80
4.2 终止一个循环 82
4.3 do…while语句 85
4.4 for语句 87
4.5 break语句 94
4.6 continue语句 96
4.7 goto语句 97
4.8 生成一个伪随机数 99
复习题 105
编程题 106
复习题答案 107
编程题答案 108
第5章 函数 114
5.1 概述 114
5.2 标准C++库函数 114
5.3 自定义函数 117
5.4 测试程序 118
5.5 函数的声明与定义 121
5.6 局部变量与函数 123
5.7 void函数 126
5.8 布尔函数 127
5.9 I/O函数 131
5.10 按引用传递 132
5.11 按常量引用传递 136
5.12 内联函数 137
5.13 作用域 138
5.14 重载 140
5.15 main()函数 141
5.16 默认自变量 142
复习题 143
编程题 144
复习题答案 147
编程题答案 147
第6章 数组 164
6.1 概述 164
6.2 处理数组 164
6.3 初始化数组 166
6.4 数组索引超界 168
6.5 给函数传递数组 170
6.6 线性搜索算法 173
6.7 冒泡排序算法 174
6.8 二叉搜索算法 175
6.9 使用含枚举类型的数组 178
6.10 类型定义 179
6.11 多维数组 181
复习题 184
编程题 185
复习题答案 190
编程题答案 191
第7章 指针与引用 204
7.1 引用操作符 204
7.2 引用 205
7.3 指针 207
7.4 反引用操作符 208
7.5 派生类型 211
7.6 对象与lvalue 212
7.7 返回一个引用 213
7.8 数组与指针 214
7.9 动态数组 219
7.10 为指针使用const 221
7.11 指针数组与数组指针 222
7.12 指向指针的指针 223
7.13 指向函数的指针 223
7.14 NUL、NULL与void 224
复习题 225
编程题 229
附加题 229
复习题答案 231
编程题答案 234
第8章 字符串 240
8.1 概述 240
8.2 再谈指针 240
8.3 字符串 243
8.4 字符串输入输出 244
8.5 cin的成员函数 245
8.6 标准字符串函数 249
8.7 字符串数组 250
8.8 标准字符串函数 253
复习题 263
编程题 265
复习题答案 267
编程题答案 268
第9章 标准C++字符串 280
9.1 概述 280
9.2 格式化输入 280
9.3 无格式输入 282
9.4 标准C++的string类型 284
9.5 文件 286
9.6 字符串流 288
复习题 290
编程题 291
复习题答案 296
编程题答案 297
第10章 类 306
10.1 概述 306
10.2 类声明 306
10.3 构造函数 309
10.4 构造函数初始化列表 311
10.5 访问函数 312
10.6 私有成员函数 313
10.7 复制构造函数 315
10.8 类的析构函数 317
10.9 常量对象 318
10.10 结构体 319
10.11 指向对象的指针 319
10.12 静态数据成员 321
10.13 静态函数成员 324
复习题 325
编程题 326
复习题答案 327
编程题答案 328
第11章 重载操作符 334
11.1 概述 334
11.2 重载赋值操作符 334
11.3 this指针 335
11.4 重载算术操作符 336
11.5 重载算术赋值操作符 338
11.6 重载关系运算操作符 339
11.7 重载数据流操作符 340
11.8 转换操作符 342
11.9 重载递增和递减操作符 344
11.10 重载下标操作符 346
复习题 347
编程题 347
复习题答案 348
编程题答案 349
第12章 合成与继承 355
12.1 概述 355
12.2 合成 355
12.3 继承 358
12.4 protected类成员 359
12.5 覆盖与支配继承成员 361
12.6 private访问与protected访问 365
12.7 虚拟函数与多态性 365
12.8 虚拟析构函数 369
12.9 抽象基类 371
12.10 面向对象程序设计 374
复习题 376
编程题 377
复习题答案 377
编程题答案 378
第13章 模板与迭代器 387
13.1 概述 387
13.2 函数模板 387
13.3 类模板 389
13.4 容器类 392
13.5 子类模板 394
13.6 把模板类传递给模板参数 396
13.7 链表的类模板 398
13.8 迭代器类 402
复习题 409
编程题 409
复习题答案 409
编程题答案 410
第14章 标准C++向量类 416
14.1 概述 416
14.2 向量的迭代器 418
14.3 向量赋值 419
14.4 erase()和insert()函数 421
14.5 find()函数 423
14.6 C++标准的vector类模板 425
14.7 范围检查 427
复习题 427
编程题 427
复习题答案 428
编程题答案 429
第15章 容器类 435
15.1 ANSI/ISO标准C++ 435
15.2 标准模板库 435
15.3 标准的C++容器类模板 435
15.4 标准C++常用算法 436
15.5 头文件 437
附录A 字符编码 439
A.1 ASCII码 439
A.2 Unicode码 444
附录B 标准C++关键字 445
附录C 标准C++操作符 448
附录D 标准C++容器类 451
D.1 vector类模板 451
D.2 deque类模板 457
D.3 stack类模板 457
D.4 queue类模板 458
D.5 priority_queue类模板 458
D.6 list类模板 460
D.7 map类模板 462
D.8 set类模板 464
附录E 标准C++常用算法 467
附录F 标准C函数库 505
附录G 十六进制数 510
附录H 参考文献 515