上篇 程序设计基础 3
项目1 C++程序设计起步 3
1.1 项目情景 3
1.2 相关知识 3
1.2.1 程序设计语言概述 3
1.2.2 C++程序基本结构 4
1.2.3 C++程序实现 5
1.3 项目解决 8
1.4 知识拓展 11
1.4.1 C++的字符集 11
1.4.2 标识符与关键字 11
1.4.3 简单输入与输出 12
1.5 做得更好 15
1.6 你知道吗 15
1.7 更多知识参考 16
想一想1 16
做一做1 16
项目2 简易计算器 17
2.1 项目情景 17
2.2 相关知识 17
2.2.1 数据类型 17
2.2.2 常量和变量 19
2.2.3 运算符和表达式 23
2.3 项目解决 32
2.4 知识拓展 33
2.5 做得更好 35
2.6 你知道吗 35
2.7 更多知识参考 36
想一想2 36
做一做2 36
项目3 模拟ATM机工作流程 37
3.1 项目情景 37
3.2 任务1相关知识 38
3.2.1 程序控制结构概述 38
3.2.2 if语句 39
3.2.3 switch语句 44
3.3 任务1 实现 46
3.4 任务2 相关知识 47
3.4.1 for语句 48
3.4.2 while语句 49
3.4.3 do-while语句 50
3.4.4 break语句与continue语句 53
3.4.5 循环的嵌套 54
3.5 任务2 实现 55
3.6 任务3 相关知识 56
3.6.1 函数的定义 57
3.6.2 函数的调用 59
3.6.3 函数的嵌套调用 62
3.6.4 函数的递归调用 64
3.6.5 内联函数 65
3.6.6 局部变量与全局变量 66
3.6.7 变量的存储类别 68
3.7 任务3 实现 68
3.8 知识拓展 74
3.8.1 宏定义 74
3.8.2 文件包含 75
3.8.3 条件编译 76
3.9 做得更好 77
3.10 你知道吗 78
3.11 更多知识参考 78
想一想3 79
做一做3 79
项目4 学生通讯录管理系统 80
4.1 项目情景 80
4.2 相关知识 81
4.2.1 结构体 81
4.2.2 一维数组 84
4.2.3 输入输出流 87
4.3 项目解决 94
4.4 知识拓展 106
4.4.1 二维数组 106
4.4.2 字符数组 110
4.4.3 共用体 115
4.5 做得更好 117
4.6 你知道吗 118
4.7 更多知识参考 120
想一想4 120
做一做4 122
项目5 指针 123
5.1 项目情景 123
5.2 相关知识 123
5.2.1 指针的概念 124
5.2.2 指针变量的定义和初始化 124
5.2.3 指针运算 125
5.3 项目解决 128
5.4 知识拓展 129
5.4.1 指针与一维数组 129
5.4.2 指针与二维数组 131
5.4.3 指针与字符串 133
5.4.4 指针作为函数参数 135
5.4.5 指针与引用 137
5.5 你知道吗 141
5.6 更多知识参考 142
想一想5 142
做一做5 144
下篇 面向对象程序设计 147
项目6 ATM机 147
6.1 项目情景 147
6.2 相关知识 147
6.2.1 面向对象 147
6.2.2 类 148
6.2.3 对象 151
6.2.4 构造函数和析构函数 152
6.2.5 this指针 158
6.2.6 友元函数 159
6.3 项目解决 162
6.4 知识拓展 170
6.4.1 静态数据成员 170
6.4.2 静态成员函数 172
6.5 做得更好 174
6.6 你知道吗 174
想一想6 175
做一做6 175
项目7 师生通讯录 176
7.1 项目情景 176
7.2 相关知识 177
7.3 项目解决 181
7.4 知识拓展 184
7.4.1 多继承 184
7.4.2 二义性 187
7.4.3 虚基类 190
7.4.4 多态 192
7.5 做得更好 198
7.6 你知道吗 198
7.7 更多知识参考 199
想一想7 200
做一做7 200
项目8 自制多功能计算器 201
8.1 项目情景 201
8.2 相关知识 206
8.3 项目解决 209
8.4 知识拓展 213
8.4.1 运算符重载 213
8.4.2 异常 216
8.5 做得更好 217
8.6 你知道吗 217
8.7 更多知识参考 218
想一想8 218
做一做8 218
参考文献 219