目 录 1
第1章 简介 . 1
1.1什么是计算机 1
1.2什么是编程 1
1.3计算机剖析 2
1.4将可读程序转换成机器代码 6
1.5编程语言 7
1.6编程语言的设计和发展 8
1.7熟悉计算机 9
1.8编译一个简单的程序 11
1.9错误 15
1.10编译过程 17
1.11算法 19
本章小结 20
参考文献 21
习题 21
编程习题 22
第2章 基本数据类型 24
2.1数字类型 24
2.2输入和输出 30
2.3赋值 33
2.4常量 39
2.5算术运算 41
2.6字符串 47
本章小结 52
参考文献 52
习题 53
编程习题 55
第3章 对象 60
3.1构造对象 60
3.2使用对象 62
3.3现实世界对象 66
3.4显示图形 68
3.5 图形结构 69
3.6选择坐标系统 74
3.7从图形窗口获得输入 76
3.8比较可视化和数字化信息 77
本章小结 81
参考文献 81
习题 82
编程习题 83
第4章 基本控制流程 86
4.1 if语句 86
4.2 if-else语句 89
4.3关系运算符 90
4.4输入确认 93
4.5简单循环 97
4.6处理一组输入 100
4.7使用布尔变量 102
本章小结 107
参考文献 107
习题 107
编程习题 109
5.1如同黑箱的函数 115
第5章 函数 115
5.2编写函数 116
5.3函数注释 119
5.4返回值 122
5.5参数 124
5.6副作用 127
5.7过程 127
5.8引用参数 128
5.9变量作用域和全局变量 131
5.10逐步求精 133
5.11从伪代码到代码 135
5.12走查 140
5.13前提条件 144
本章小结 147
参考文献 148
习题 148
编程习题 152
第6章 类 157
6.1发现类 157
6.2接口 160
6.3封装 163
6.4成员函数 164
6.5默认构造函数 167
6.6带参数的构造函数 170
6.7访问数据成员 173
6.8成员函数和非成员函数的比较 174
6.9分块编译 176
本章小结 180
参考文献 181
习题 181
编程习题 182
第7章 高级控制流 186
7.1多路分支 186
7.2嵌套分支 192
7.3布尔运算 195
7.4德摩根定律 199
7.5 for循环 200
7.6 do_while循环 205
7.7嵌套循环 209
7.8处理文本输入 211
7.9模拟 215
本章小结 219
参考文献 220
习题 220
编程习题 224
第8章 测试和调试 229
8.1单元测试 229
8.2选择测试用例 233
8.3测试用例评价 234
8.4断言 237
8.5程序跟踪 237
8.6调试器 238
8.7策略 245
8.8调试器的局限性 246
参考文献 249
习题 249
本章小结 249
编程习题 250
第9章 向量和数组 252
9.1使用向量存放数据项 252
9.2向量下标 254
9.3向量参数和返回值 259
9.4平行向量 265
9.5数组 268
本章小结 280
参考文献 280
习题 281
编程习题 282
10.1指针和内存分配 289
第10章指针 289
10.2释放动态内存 292
10.3指针的常见用法 294
10.4数组和指针 299
10.5指向字符串的指针 304
本章小结 306
习题 307
编程习题 309
第11章 继承 311
11.1派生类 311
11.2调用基类构造函数 316
11.3调用基类成员函数 317
11.4多态 322
习题 330
本章小结 330
编程习题 334
第12章 流 337
12.1读写文本文件 337
12.2流类的继承层次 340
12.3字符串流 342
12.4命令行参数 346
12.5随机存取 351
本章小结 356
参考文献 356
习题 356
编程习题 357
13.1软件生命周期 362
第13章 面向对象设计 362
13.2 CRC卡片 366
13.3内聚 368
13.4耦合 369
13.5类之间的关系 371
13.6实现关联 374
13.7实例:打印发票 375
13.8实例:一个学习游戏 386
本章小结 402
参考文献 403
习题 403
编程习题 404
第14章 递归 406
14.1三角形数字 406
14.2排列问题 409
14.3用递归方式思考问题 414
14.4递归辅助函数 417
14.5相互递归 418
14.6递归的效率 421
本章小结 427
习题 427
编程习题 428
第15章 排序和查找 432
15.1选择排序 432
15.2选择排序算法的测量 435
15.3选择排序算法的性能分析 436
15.4归并排序 437
15.5分析归并排序算法 440
15.6查找 444
15.7折半查找 445
15.8排序和查找真实数据 448
本章小结 450
参考文献 450
习题 450
编程习题 453
第16章 数据结构介绍 455
16.1链表 455
16.2实现链表 459
16.3栈和队列 470
16.4其他标准容器 472
16.5标准算法 473
本章小结 474
习题 475
参考文献 475
编程习题 476
第17章 C++高级主题 478
17.1运算符重载 478
17.2自动内存管理 483
17.3模板 493
17.4嵌套类与名字空间 503
17.5异常处理 506
本章小结 514
参考文献 514
习题 514
编程习题 515
第18章 图形用户界面 519
18.1 wxWindows工具包 519
18.2框架 520
18.3在窗口中添加文本控件 523
18.4菜单 526
18.5事件处理 528
18.6布局管理 530
18.7绘图 533
18.8鼠标事件 537
18.9对话框 540
18.10一个完整的例子 543
本章小结 553
习题 553
编程习题 554
附录A C++语言编码指南 555
附录B C++语言和类库摘要 563
术语表 579