第一章 C++语言概述 1
1.1 C++语言简介 1
1.1.1 C++语言的发展 1
1.1.2 C++语言的特点 2
1.2 C++程序简介 2
1.3 C++程序的开发环境 4
1.3.1 Turbo C++介绍 4
1.3.2 Visual C++介绍 7
思考题一 10
实训一 10
第二章 C++语言编程基础 11
2.1 C++语言词法 11
2.1.1 注释 12
2.1.2 关键词 12
2.1.3 标识符 13
2.1.4 常量 13
2.1.5 变量 13
2.1.6 运算符 14
2.1.7 分隔符 14
2.2 基本数据类型 15
2.2.1 整型 16
2.2.2 浮点型 17
2.2.3 字符型 19
2.2.4 布尔型 20
2.2.5 类型转换 20
2.3 运算符与表达式 22
2.3.1 算术运算符及表达式 22
2.3.2 赋值运算符及表达式 23
2.3.3 关系运算符及表达式 24
2.3.4 逻辑运算符及表达式 24
2.3.5 位运算符 25
2.3.6 条件运算符 27
2.3.7 运算符的优先级 27
2.4 流程控制语句 28
2.4.1 C++语言语句 28
2.4.2 if语句与条件选择控制 31
2.4.3 switch语句与多项选择 36
2.4.4 while语句 38
2.4.5 do...while语句 39
2.4.6 for语句 40
2.4.7 break语句和continue语句 41
2.4.8 循环嵌套 43
2.4.9 程序设计综合举例 44
2.4.10 return语句 46
思考题二 46
实训二 48
第三章 函数与程序结构 50
3.1 函数与程序结构概述 50
3.2 函数的定义与声明 52
3.2.1 函数的定义 52
3.2.2 函数声明 54
3.3 函数参数和函数调用 55
3.3.1 函数形式参数和实际参数 55
3.3.2 函数的返回值 56
3.3.3 函数调用 56
3.4 函数的嵌套与递归调用 57
3.4.1 函数的嵌套调用 57
3.4.2 递归调用 58
3.5 变量作用域和存储类型 59
3.5.1 局部变量与全局变量 59
3.5.2 动态存储变量和静态存储变量 60
3.6 内联函数 61
3.7 重载函数与默认参数函数 62
3.7.1 重载函数 62
3.7.2 默认参数函数 63
3.8 编译预处理 64
3.8.1 文件包含 64
3.8.2 宏定义 64
3.8.3 条件编译 65
小结 65
思考题三 65
第四章 数组与字符串 66
4.1 数组的概念 66
4.2 数组的定义 67
4.2.1 一维数组 67
4.2.2 二维数组 74
4.3 数组作为函数的参数 79
4.3.1 用数组元素作函数参数 79
4.3.2 用数组名作函数参数 80
4.3.3 用多维数组名作函数参数 82
4.4 数组应用举例 84
4.5 字符串 93
4.5.1 字符串概念 93
4.5.2 字符串函数 96
4.5.3 字符串应用举例 99
小结 104
思考题四 104
第五章 指针 107
5.1 指针的概念 107
5.2 指针变量 108
5.2.1 指针定义 108
5.2.2 指针运算符(&和*) 109
5.2.3 引用变量 110
5.2.4 多级指针与指针数组 112
5.2.5 指针与常量限定符 115
5.3 指针与数组 116
5.3.1 指针与一维数组 116
5.3.2 指针与二维数组 122
5.3.3 指针与字符数组 125
5.3.4 指针与函数 127
5.4 指针运算 131
5.5 动态存储分配 134
5.5.1 new操作符 134
5.5.2 delete操作符 135
小结 138
思考题五 139
第六章 结构体与共用体 141
6.1 结构体 141
6.1.1 结构体的声明 141
6.1.2 结构体变量的引用及初始化赋值 143
6.2 嵌套结构体 144
6.3 结构体数组 146
6.3.1 结构体数组的定义和初始化 146
6.3.2 结构体数组成员的引用 147
6.4 结构体指针 148
6.4.1 指向结构体变量的指针 148
6.4.2 指向结构体数组的指针 150
6.4.3 用结构体变量和指向结构体变量的指针作为函数参数 151
6.5 链表的基本操作 153
6.5.1 链表基本知识 153
6.5.2 内存动态管理函数 154
6.5.3 建立链表 155
6.5.4 输出链表 158
6.5.5 对链表的删除操作 159
6.5.6 对链表的插入操作 160
6.5.7 对链表的综合操作 162
6.6 共用体 164
6.6.1 共用体的概念 164
6.6.2 共用型变量的定义 165
6.6.3 共用型变量的引用 166
6.6.4 共用体类型数据的特点 167
6.6.5 共用体变量的应用 167
6.7 枚举类型 169
6.8 用typedef定义 172
思考题六 173
第七章 类与对象及封装性 175
7.1 类的抽象 175
7.2 类的定义与对象的生成 175
7.3 构造函数和析构函数 180
7.4 构造函数的重载 184
7.5 对象指针 185
思考题七 187
第八章 类的深入 189
8.1 友元函数 189
8.2 对象传入函数的讨论 193
8.3 函数返回对象的讨论 196
8.4 拷贝构造函数 198
8.5 this关键字 202
思考题八 203
第九章 运算符重载 205
9.1 使用成员函数的运算符重载 205
9.2 友元运算符函数 210
9.3 重载关系运算符 213
9.4 进一步考查赋值运算符 214
9.5 重载new和delete 216
9.6 重载[] 218
9.7 重载其他运算符 221
思考题九 223
第十章 继承性 224
10.1 继承性的理解 224
10.2 类的继承过程 225
10.3 基类访问控制 227
10.4 简单的多重继承 232
10.5 构造函数/析构函数的调用顺序 233
10.6 给基类构造函数传递参数 234
10.7 访问的许可 236
10.8 虚基类 237
思考题十 239
第十一章 多态性 241
11.1 指向派生类型的指针 241
11.2 虚函数 243
11.3 继承虚函数 245
11.4 多态性的优点 245
11.5 纯虚函数和抽象类 247
思考题十一 248