第1章 Hello World! 1
1.1 神奇宝贝小C 1
1.2 神奇宝贝小C的基因——二进制 2
1.2.1 进位计数制 2
1.2.2 二进制 3
1.3 如何与神奇宝贝小C进行交流 5
1.3.1 基本交流方式——人机交互式接口 5
1.3.2 程序交流方式——程序式接口 6
1.4 baby程序的诞生 12
1.5 进一步认识Dev-Cpp的能力 14
1.5.1 语法错误调试 14
1.5.2 语义错误调试 15
本章小结 17
习题 18
第2章 “2+3”的游戏 20
2.1 程序如何看世界:数据与数据类型 20
2.2 程序如何存放一个数据:常量和变量 22
2.3 程序如何存放一组数据:数据之间的关系 24
2.3.1 堆叠 24
2.3.2 关联 26
2.3.3 绑定 27
2.4 构建数据组织的基本方法 28
2.5 程序设计中常用的数据组织形态 28
2.5.1 数据组织形态及其描述 28
2.5.2 实战应用 34
2.5.3 STL中预定义的常用数据组织结构 39
本章小结 43
习题 43
第3章 “5+2”的游戏 46
3.1 程序中如何表达运算:表达式 46
3.1.1 概述 46
3.1.2 表达式的神奇魔力——蕴含的计算思维 47
3.2 程序如何描述基本处理:基本语句 47
3.2.1 计算赋值语句 47
3.2.2 输入输出语句 47
3.2.3 注释语句与空语句 52
3.2.4 逻辑控制语句 52
3.3 程序如何描述复杂处理:基本语句之间的堆叠与嵌套 54
3.4 程序如何建立数据处理的基本方法 61
3.5 程序中常用的数据处理方法及其描述 61
3.6 实战应用 72
本章小结 75
习题 75
第4章 “积木块”的构造与搭建 81
4.1 编写程序的基本方法 81
4.2 如何构造程序“积木块” 81
4.3 如何搭建程序“积木块” 83
4.4 程序“积木块”的一种特殊搭建方法——递归 88
本章小结 92
习题 92
第5章 “积木块”的进化及搭建 97
5.1 如何让程序“积木块”更加完美 97
5.2 如何构造新的程序“积木块” 97
5.3 如何搭建新的程序“积木块” 99
5.3.1 继承 99
5.3.2 多态 100
5.3.3 嵌入 101
5.4 程序构造的宝库——STL 102
5.5 C++ STL中的常用新程序“积木块” 102
5.6 新程序“积木块”对程序设计的影响 106
5.6.1 类机制的元驱动力 106
5.6.2 第二代程序设计方法的诞生 107
本章小结 107
习题 108
第6章 让“数据世界”变得有序 112
6.1 如何让数据有序化 112
6.2 有序化方法的世界 112
6.2.1 常用有序化方法的基本图谱 112
6.2.2 基于求最值并放到指定位置基本小方法的排序方法 113
6.2.3 基于数据分组基本小方法的排序方法 119
6.2.4 排序方法的维度拓展 123
6.2.5 常用有序化方法的高级问题 127
6.3 实战应用 131
本章小结 134
习题 134
第7章 寻找心仪的“她” 138
7.1 认识“她” 138
7.2 如何寻找“她” 139
7.3 寻找“她”的常用方法 140
7.3.1 面向线性数据组织结构的基本查找方法 140
7.3.2 面向层次型/网状型数据组织结构的基本搜索方法 141
7.3.3 基于映射的查找方法 147
7.3.4 穷举所有可能的查找方法 150
7.3.5 搜索方法的基本优化 154
7.4 实战应用 160
本章小结 166
习题 166
第8章 “m+n”的游戏 178
8.1 什么是“m+n” 178
8.2 构建自己的“m” 178
8.3 学会“n” 179
8.4 如何运用“m+n” 183
8.4.1 学习的思维桥梁 183
8.4.2 难题的奥秘 183
8.4.3 从问题中映射“m”和“n” 187
8.5 实战应用 191
本章小结 197
习题 197
附录A C++语言定义的运算符 199
附录B ASCII字符集 201
附录C 标准库常用字符串处理函数(cstring库) 202
附录D 标准库字符串类型string(C++ string类定义) 204
附录E C++ STL常用算法简介 207
参考文献 212