第1章 C++程序设计快速入门 1
1.1 初识C++ 2
1.1.1 C++的由来 2
1.1.2 C++的组成 2
1.1.3 C++的特点 3
1.2 搭建C++开发环境 4
1.2.1 C++语言的集成开发环境概述 4
1.2.2 Dev-C++的下载 5
1.2.3 Dev-C++的安装 6
1.2.4 第一次启动的简单设置 8
1.3 编写C++程序 9
1.3.1 新建源代码文件 9
1.3.2 编写代码并保存 10
1.3.3 编译运行 11
1.3.4 实例:9×9乘法表 12
第2章 C++程序设计的初步知识 15
2.1 常量和变量 16
2.1.1 常量 16
2.1.2 变量 18
2.2 基本数据类型 20
2.2.1 整型 20
2.2.2 浮点型 22
2.2.3 字符型 23
2.2.4 布尔型 27
2.3 运算符 27
2.3.1 算术运算符 27
2.3.2 赋值运算符 29
2.3.3 位运算符 30
2.4 自增(++)和自减(--) 33
2.5 C++的代码编写注意事项 35
第3章 C++程序设计的判断结构 37
3.1 if...else语句 38
3.1.1 if...else语句的一般格式 38
3.1.2 实例:任意输入两个数,显示大数 38
3.1.3 实例:任意输入一个正数,判断是奇数,还是偶数 39
3.1.4 实例:登录系统 40
3.2 多个if...else语句 41
3.2.1 实例:奖金发放系统 42
3.2.2 实例:每周工作计划系统 43
3.3 关系运算符 45
3.3.1 关系运算符及意义 45
3.3.2 实例:学生成绩评语系统 45
3.3.3 实例:求一元二次方程的根 48
3.4 逻辑运算符 50
3.4.1 逻辑运算符及意义 50
3.4.2 实例:判断是否是闰年 50
3.4.3 实例:任意输入一个字母,判断是元音字母还是辅音字母 51
3.4.4 实例:输入3个数并显示最小的数 52
3.4.5 实例:剪刀、石头、布游戏 53
3.5 嵌套if语句 54
3.5.1 嵌套if语句的一般格式 54
3.5.2 实例:判断一个数是否是5或7的倍数 55
3.6 条件运算符和条件表达式 56
3.7 switch语句 57
3.7.1 switch语句的一般格式 57
3.7.2 实例:根据输入的数显示相应的星期几 58
第4章 C++程序设计的循环结构 59
4.1 while循环 60
4.1.1 while循环的一般格式 60
4.1.2 实例:利用while循环显示26个大写字母 60
4.1.3 实例:利用while循环显示100内的自然数 61
4.1.4 实例:随机产生15个随机数,并显示最大的数 61
4.1.5 实例:求s=a+aa+aaa+……+aa...a的值 62
4.1.6 实例:猴子吃桃问题 63
4.2 do-while循环 64
4.2.1 do-while循环的一般格式 64
4.2.2 实例:利用do-while循环显示26个小写字母及对应的ASII码 65
4.2.3 实例:计算1+2+3+……+120的和 65
4.2.4 实例:阶乘求和 66
4.2.5 实例:任意输入两个数,求这两个数的最小公倍数 67
4.3 for循环 68
4.3.1 for循环的一般格式 68
4.3.2 实例:显示100之内的偶数 68
4.3.3 实例:分解质因数 69
4.3.4 实例:任意输入两个数,求这两个数的最大公约数 70
4.3.5 实例:小球反弹的高度 71
4.4 无限循环 72
4.5 循环嵌套 73
4.5.1 实例:显示*号直角三角形 73
4.5.2 实例:显示*号等腰三角形 74
4.5.3 实例:绘制?号的菱形 75
4.5.4 实例:斐波那契数列 76
4.5.5 实例:杨辉三角 76
4.5.6 实例:弗洛伊德三角形 78
4.6 break语句 79
4.7 continue语句 81
第5章 C++程序设计的函数及应用 83
5.1 函数概述 84
5.2 内置函数 84
5.2.1 数学函数 84
5.2.2 随机函数 86
5.2.3 三角函数 87
5.2.4 字符函数 88
5.3 自定义函数 90
5.3.1 函数的定义 90
5.3.2 函数调用 91
5.3.3 函数的参数 92
5.3.4 递归函数 95
5.3.5 内联函数(Inline) 96
5.4 实例:计算一个数为两个质数之和 97
5.5 实例:利用递归函数解决年龄问题 99
第6章 C++程序设计的数组及应用 103
6.1 数组概述 104
6.1.1 数组的定义 104
6.1.2 数组的初始化 104
6.2 数组元素的访问 105
6.2.1 实例:利用数组元素的索引显示矩阵内容 105
6.2.2 实例:利用循环语句显示数组中的元素 106
6.2.3 实例:利用随机数为数组赋值并显示 107
6.3 二维数组 108
6.3.1 二维数组的定义 108
6.3.2 二维数组的初始化 109
6.3.3 显示二维数组中的元素值 109
6.4 判断某学生是否是三好学生 111
6.5 函数在数组中的应用 113
6.5.1 把数组作为参数传给函数 113
6.5.2 函数的返回值是数组 115
6.6 排序数组中的元素 116
6.6.1 冒泡排序 116
6.6.2 选择排序 118
6.6.3 插入排序 120
第7章 C++程序设计的字符串及应用 123
7.1 字符串常量 124
7.2 字符数组 124
7.2.1 什么是字符数组 124
7.2.2 字符数组的初始化 124
7.2.3 字符数组的显示 125
7.2.4 字符串的显示 126
7.2.5 动态输入字符串并显示 126
7.3 字符串数组 127
7.3.1 字符串数组的显示 128
7.3.2 动态输入字符串数组并显示 128
7.4 字符串处理的常用函数 129
7.4.1 strlen()函数 129
7.4.2 strcpy()函数和strcat()函数 130
7.4.3 strcmp()函数 131
7.4.4 strchr()函数 132
7.4.5 strstr()函数 133
7.5 字符串的实例应用 134
7.5.1 实例:字符串的截取 135
7.5.2 实例:字符串的排序 135
7.5.3 实例:统计汉字和字母的个数 136
7.5.4 实例:动态输入5个单词并排序 137
7.6 string类 138
第8章 C++程序设计的指针及应用 141
8.1 指针概述 142
8.1.1 C++中的地址 142
8.1.2 C++中的指针 143
8.1.3 指针的赋值与显示 143
8.1.4 引用指针中的变量 145
8.1.5 指向指针的指针 146
8.2 指针的移动操作 147
8.2.1 指针的递增操作 147
8.2.2 指针的递减操作 148
8.2.3 指针的减法运算 149
8.2.4 指针的比较 150
8.3 指针在函数中的应用 151
8.3.1 指针作为函数的形式参数 151
8.3.2 函数的返回值是指针 152
8.4 指针在数组中的应用 153
8.5 指针在字符串中的应用 155
8.6 指针数组 157
第9章 C++程序设计的复合结构及应用 159
9.1 结构体概述 160
9.1.1 什么是结构体 160
9.1.2 定义结构体变量 160
9.1.3 给结构体变量赋初值 161
9.1.4 结构体变量的显示 161
9.2 结构体数组 162
9.2.1 实例:输出结构体数组中的元素 163
9.2.2 实例:输出所有女性职工的信息 164
9.2.3 实例:显示工资大于5600的女性职工信息 165
9.2.4 实例:求所有职工的工资总和及平均工资 166
9.2.5 实例:求所有男性职工的工资总和及其平均工资 167
9.2.6 实例:显示工资大于男性平均工资的职工信息 168
9.3 指针在结构体中的应用 169
9.3.1 实例:利用指针显示结构体元素信息 169
9.3.2 实例:利用指针显示结构体数组元素信息 170
9.3.3 实例:利用指针显示工资小于6000的男性职工信息 171
9.4 函数的形式参数是结构体 172
9.5 枚举类型 173
9.5.1 定义枚举类型 174
9.5.2 定义枚举变量 174
9.5.3 枚举变量的赋初值并显示 175
9.5.4 实例:选择喜欢的颜色 175
9.6 共用体类型 177
9.6.1 定义共用体类型 177
9.6.2 定义共用体变量 178
9.6.3 输出共用体成员变量 178
9.7 用户定义类型 180
第10章 C++程序设计的类和对象 183
10.1 初识面向对象 184
10.2 类的定义和对象的创建 185
10.2.1 类的定义 185
10.2.2 对象的创建 185
10.2.3 对象的初始化与显示 186
10.3 类访问修饰符 187
10.3.1 公有成员public 187
10.3.2 私有成员private 188
10.3.3 保护成员protected 189
10.4 类的构造函数 191
10.4.1 定义构造函数 191
10.4.2 带有参数的构造函数 192
10.4.3 构造函数的参数化列表 193
10.5 类的析构函数 194
10.6 指向对象的指针 195
10.7 友元函数和友元类 197
10.7.1 友元函数 197
10.7.2 友元类 200
10.8 this指针 201
第11章 C++程序设计的继承与派生 203
11.1 初识继承 204
11.1.1 什么是继承 204
11.1.2 继承方式 204
11.2 派生类 205
11.2.1 派生类的定义 205
11.2.2 改变派生类的访问方式 206
11.2.3 派生类的构造函数 208
11.2.4 派生类的析构函数 209
11.2.5 基类的名字被覆盖 210
11.3 多继承 212
第12章 C++程序设计的多态性与重载 215
12.1 多态性 216
12.1.1 什么是多态性 216
12.1.2 多态应用实例 216
12.1.3 定义虚函数的注意事项 218
12.1.4 利用引用实现多态性 218
12.1.5 纯虚函数与接口(抽象类) 220
12.2 重载 223
12.2.1 函数重载 223
12.2.2 运算符重载 224
第13章 C++程序设计的模板、异常处理和命名空间 227
13.1 模板 228
13.1.1 函数模板 228
13.1.2 类模板 230
13.2 异常处理 231
13.2.1 捕获异常 231
13.2.2 抛出异常 232
13.2.3 标准的异常exception类 233
13.3 命名空间 235
13.3.1 命名空间的定义 236
13.3.2 利用using命令声明命名空间 237
13.3.3 嵌套的命名空间 239
第14章 C++程序设计的编译预处理和内存管理 241
14.1 编译预处理概述 242
14.2 宏定义 243
14.2.1 不带参数的宏定义 243
14.2.2 带参数的宏定义 244
14.2.3 预定义宏 246
14.2.4 预处理器的运算符 247
14.3 文件包含 249
14.3.1 文件包含的格式 249
14.3.2 文件包含的运用 250
14.4 条件编译 251
14.4.1 #if命令 252
14.4.2 #ifdef命令 253
14.4.3 #ifndef命令 254
14.5 内存管理 255
14.5.1 new和delete操作符 255
14.5.2 数组的动态内存分配 256
14.5.3 对象的动态内存分配 258
第15章 C++程序设计的vector和deque容器 261
15.1 STL的六大组件 262
15.2 初识vector容器 262
15.2.1 创建vector容器 263
15.2.2 设置vector容器元素值并显示 263
15.2.3 显示vector容器中第一个元素和最后一个元素 265
15.3 vector容器的迭代器 266
15.3.1 容器的iterator类型及begin、end操作 266
15.3.2 使用迭代器显示vector容器中的元素 266
15.4 向vector容器中插入元素 267
15.5 删除vector容器中的元素 268
15.6 deque容器 270
15.6.1 创建deque容器 270
15.6.2 设置deque容器元素值并显示 271
15.6.3 向deque容器中添加元素 272
15.6.4 删除deque容器中的元素 274
第16章 C++程序设计的list容器和string类 279
16.1 list容器 280
16.1.1 创建list容器 280
16.1.2 向list容器中添加元素并显示 281
16.1.3 删除list容器中的元素 282
16.2 string类 283
16.2.1 初识string类 283
16.2.2 string类字符串的长度 285
16.2.3 获取string类字符串的元素 285
16.2.4 string类字符串的比较 286
16.2.5 string类字符串的修改 287
16.2.6 string类字符串的替换 290
16.2.7 string类字符串的查找 291
第17章 C++程序设计的文件操作 293
17.1 文件概述 294
17.1.1 C++的源程序文件和执行文件 294
17.1.2 C++程序中的数据文件 294
17.1.3 输入和输出缓冲区 295
17.1.4 文件流 295
17.2 函数open()和close() 296
17.3 创建文件 297
17.3.1 在当前目录中创建文件 297
17.3.2 在当前目录的子文件夹中创建文件 298
17.3.3 在当前目录的上一级目录中创建文件 299
17.3.4 利用绝对路径创建文件 300
17.4 向文件中写入内容 302
17.5 读出文件中的内容 304
17.6 二进制文件的写入和读取 304
17.6.1 向二进制文件中写入内容 305
17.6.2 读取二进制文件中的内容 306
第18章 职工信息管理系统 309
18.1 职工信息管理系统的控制类 310
18.1.1 创建控制类 310
18.1.2 显示系统信息 310
18.1.3 程序主菜单 311
18.1.4 职工类 311
18.1.5 初始化数据 313
18.1.6 用户登录 313
18.2 编写程序主函数 314
18.3 查看职工信息 316
18.3.1 在控制类中加入查看职工信息函数 316
18.3.2 查看职工信息函数的功能实现 316
18.4 添加职工信息 318
18.4.1 在控制类中加入添加职工信息函数 318
18.4.2 显示单个职工信息函数 318
18.4.3 保存职工信息函数 319
18.4.4 添加职工信息函数 319
18.5 查找职工信息 323
18.5.1 在控制类中加入查找职工信息函数 323
18.5.2 查找职工信息函数的功能实现 324
18.6 修改职工信息 326
18.6.1 在控制类中加入修改职工信息函数 326
18.6.2 重写职工信息函数 326
18.6.3 修改职工信息函数 327
18.7 删除职工信息 331
18.7.1 在控制类中加入删除职工信息函数 331
18.7.2 删除职工信息函数的功能实现 331