PART Ⅰ C++程序语言基础 3
第1章 基本概述 3
1.1 计算机的发明与演进 4
1.2 计算机的基本结构 5
1.3 冯·诺依曼结构 10
1.4 计算机内部的数据表达方式 12
1.5 软件 21
1.6 程序语言(Programming Languages) 22
1.7 C++程序语言 25
1.8 程序语言的演变 27
1.9 本章重点 29
1.10 本章练习 30
第2章 C++的基本语法和使用环境 31
2.1 基本程序开发步骤 32
2.2 第一个完整的C++程序 34
2.3 延迟DOS窗口界面自动关闭的方法 38
2.4 Borland C++编译器的取得和安装使用 39
2.5 Visual C++.NET程序开发步骤 43
2.6 第二个C++程序 49
2.7 C++标识符的命名规则 52
2.8 本章重点 53
2.9 本章练习 54
第3章 基本数据类型 55
3.1 整数和浮点数 56
3.2 变量和常量 59
3.3 算术运算 62
3.4 标准数学函数的运算 68
3.5 逻辑值及其运算 70
3.6 字符与字符串 73
3.7 位处理运算 75
3.8 常犯的错误 79
3.9 本章练习 80
第4章 分支 83
4.1 算法的描述方式 84
4.2 变量的适用范围 86
4.3 if-else语句 86
4.4 嵌套if-else语句 89
4.5 switch语句 94
4.6 条件运算符 97
4.7 goto无条件跳转语句 99
4.8 常犯的错误 101
4.9 本章重点 102
4.10 本章练习 103
第5章 循环 105
5.1 循环指令的种类 106
5.2 while循环 106
5.3 continue和break 107
5.4 do-while循环 108
5.5 for循环 110
5.6 嵌套循环 115
5.7 常犯的错误 116
5.8 本章重点 117
5.9 本章练习 117
第6章 函数 119
6.1 函数的基本概念 120
6.2 以引用的方式调用 127
6.3 inline函数 131
6.4 变量的适用范围和生存期间 132
6.5 常犯的错误 140
6.6 本章重点 140
6.7 本章练习 141
第7章 数组 143
7.1 一维数组 144
7.2 将数组当成函数的参数 146
7.3 二维数组 149
7.4 将二维数组当成函数的参数 150
7.5 常犯的错误 152
7.6 本章重点 153
7.7 本章练习 154
PART Ⅱ 高级C++程序设计语言 159
第8章 指针 159
8.1 内存地址与指针 160
8.2 指针与引用 164
8.3 数组与指针的代数计算 165
8.4 指针参数 169
8.5 函数指针 172
8.6 动态内存分配 174
8.7 常犯的错误 183
8.8 本章重点 185
8.9 本章练习 186
第9章 字符串 189
9.1 字符串的基本概念 190
9.2 字符串的输入与输出 192
9.3 字符串的处理 194
9.4 字符串的指针数组 200
9.5 字符串处理在编码上的应用 201
9.6 常犯的错误 203
9.7 本章重点 203
9.8 本章练习 204
第10章 函数的高级应用 207
10.1 函数的重载 208
10.2 参数的默认值 209
10.3 模板函数 210
10.4 随机数的取得 211
10.5 递归函数 216
10.6 排序与搜索 218
10.7 常犯的错误 225
10.8 本章重点 225
10.9 本章练习 226
第11章 预处理命令 227
11.1 预处理器 228
11.2 使用#define进行文字取代 228
11.3 使用#define设置宏命令 231
11.4 条件编译 234
11.5 其他与编译器有关的预处理命令 238
11.6 常犯的错误 239
11.7 本章重点 239
11.8 本章练习 240
第12章 数据流与文件的存取 241
12.1 数据流 242
12.2 文件的存取 244
12.3 文件的存取模式 247
12.4 数据的读取与写入 250
12.5 文件内容的位置标记 253
12.6 将文件的存取写成函数 256
12.7 常犯的错误 262
12.8 本章重点 263
12.9 本章练习 263
第13章 输出格式 265
13.1 使用格式操作符设置输出格式 266
13.2 输出格式设置间的交互作用 269
13.3 3种格式设置语法的比较 271
13.4 文件存储格式的设置 272
13.5 矩阵和向量间的操作 273
13.6 常犯的错误 276
13.7 本章重点 276
13.8 本章练习 277
第14章 程序计时 279
14.1 程序的基本计时方法 280
14.2 更精确的程序计时方法 281
14.4 本章重点 283
14.3 常犯的错误 283
14.5 本章练习 284
第15章 struct与数据结构 285
15.1 struct的声明和使用 286
15.2 struct构成的数组 288
15.3 struct数据类型与函数参数的传递 290
15.4 struct实例的动态声明 294
15.5 指针成员与数据结构 295
15.6 union数据类型 299
15.7 enum数据类型 300
15.8 常犯的错误 302
15.9 本章重点 302
15.10 本章练习 303
第16章 命名空间 305
16.1 因为名称相同而造成的问题 306
16.2 命名空间的基本语法 307
16.3 命名空间成员的存取 308
16.4 使用“using指令”和“using声明”以存取命名空间的成员 312
16.5 标准命名空间 316
16.6 未命名的命名空间 317
16.7 常犯的错误 318
16.8 本章重点 319
16.9 本章练习 319
第17章 异常处理 321
17.1 异常及其特性 322
17.2 异常处理的基本语法 323
17.3 异常的处理过程 325
17.4 抛出enum实例作为异常对象 327
17.5 抛出类所定义的对象 330
17.6 常犯的错误 333
17.7 本章重点 334
17.8 本章练习 334
第18章 类与对象 337
PART Ⅲ 面向对象程序设计 337
18.1 程序设计方法的演进 338
18.2 抽象化和数据的隐藏 339
18.3 对象与类的关系 340
18.4 以对象为基础的银行账户操作程序范例 345
18.5 以对象为基础的电梯操作仿真范例 351
18.6 友元函数 356
18.7 常犯的错误 360
18.8 本章重点 360
18.9 本章练习 361
第19章 组合与继承 363
19.1 既有类的再利用 364
19.2 组合(Composition) 364
19.3 组合对象的构造函数和析构函数 367
19.4 继承(Inheritance) 369
19.6 派生类所定义的对象的构造和析构次序 374
19.5 protected成员 374
19.7 混合组合和继承以建立新的类 376
19.8 常犯的错误 380
19.9 本章重点 381
19.10 本章练习 381
第20章 多态与虚拟函数 383
20.1 多态的基本概念 384
20.2 后期连接与虚拟函数 389
20.3 VPTR和VTABLE 393
20.4 纯虚拟函数与抽象类 395
20.5 重载虚拟函数 400
20.6 虚拟析构函数 402
20.7 常犯的错误 406
20.8 本章重点 406
20.9 本章练习 407
第21章 运算符重载 409
21.1 运算符使用的基本概念 410
21.2 补充几个类使用上的要点 412
21.3 使用成员函数重载二元运算符 415
21.4 使用friend函数重载二元运算符 419
21.5 重载一元运算符 422
21.6 含有指针数据成员的类 426
21.7 等效阻抗的计算 436
21.8 常犯的错误 439
21.9 本章重点 439
21.10 本章练习 440
第22章 面向对象的字符串处理 443
22.1 C风格的字符串和面向对象的string类 444
22.2 String对象的定义 444
22.3 字符串的更改、清除、剪接与部分复制 445
22.4 字符串之间的查找和比较 448
22.5 字符串对象与C-style字符串的互换 451
22.8 本章练习 455
22.6 常犯的错误 455
22.7 本章重点 455
第23章 模板类——向量和矩阵的定义 457
23.1 向量 458
23.2 Vector模板类 458
23.3 矩阵 468
23.4 Matrix模板类 470
23.5 对象数组的动态创造和删除 478
23.6 常犯的错误 481
23.7 本章重点 481
23.8 本章练习 482
第24章 泛型程序设计简介 483
24.1 C++标准模板连接库(STL) 484
24.2 STL的主要内容 484
24.3 使用STL的vector容器类 487
24.4 使用STL处理字符串数组 491
24.5 使用complex容器类处理复数数据 497
24.6 常犯的错误 500
24.7 本章重点 501
24.8 本章练习 501
PART Ⅳ 数值运算的应用 505
第25章 最优化问题的求解 505
25.1 最优化问题 506
25.2 Simplex最优化求解法 507
25.3 最优化演算的C++程序结构 510
25.4 没有约束条件的最优化问题实例 520
25.5 有约束条件的三维最优化问题 529
25.6 曲线拟合问题 532
25.7 常犯的错误 536
25.8 本章重点 536
25.9 本章练习 537
第26章 常微分方程式的数值解 539
26.1 常微分方程式 540
26.2 使用C++解初始值问题的程序结构 543
26.3 ODE初始值问题的数值解 544
26.4 程序计算结果的输出 549
26.5 van der Pol微分方程式的数值解 555
26.6 三阶ODE动态系统的数值仿真 558
26.7 常犯的错误 562
26.8 本章重点 562
26.9 本章练习 562
附录 565
附录A C++的74个关键字 566
附录B C++的运算符 567
附录C 标准链接库的常用头文件 568
附录D 函数的参数传递格式 571
附录E 重要名词中英对照表 572
附录F 重要参考网址 575
参考文献 576