第1章 C++概述 1
1.1 C++的起源 1
1.2 C++的特点 1
1.3 C++程序的基本结构 2
1.4 C++上机操作 5
1.4.1 C++程序的开发步骤 5
1.4.2 C++程序上机操作方法 5
本章小结 9
习题1 10
第2章 数据类型和表达式 11
2.1 数据类型 11
2.2 常量和变量 13
2.2.1 常量 13
2.2.2 变量 15
2.3 运算符和表达式 17
2.3.1 算术运算符和算术表达式 17
2.3.2 赋值运算符和赋值表达式 19
2.3.3 自增、自减运算符 20
2.3.4 关系运算符和关系表达式 21
2.3.5 逻辑运算符和逻辑表达式 22
2.3.6 逗号运算符和逗号表达式 24
2.3.7 复合赋值运算符 25
2.3.8 数据类型长度运算符(sizeof运算符) 25
2.4 简单输入和输出 25
2.4.1 数据输出cout 26
2.4.2 数据输入cin 27
2.4.3 简单输入/输出格式控制 28
本章小结 29
习题2 30
实验一 32
第3章 程序结构和流程控制语句 33
3.1 程序的三种基本结构和语句 33
3.1.1 程序的三种基本结构 33
3.1.2 C++程序的组成 34
3.1.3 C++程序的语句 35
3.2 分支语句 36
3.2.1 if语句 36
3.2.2 条件运算符和条件表达式 41
3.2.3 switch语句 42
3.3 循环语句 45
3.3.1 while语句 45
3.3.2 do…while语句 47
3.3.3 for语句 49
3.3.4 三种循环语句的比较 52
3.3.5 循环语句的嵌套 52
3.4 控制执行顺序的语句 53
3.4.1 break语句 53
3.4.2 continue语句 54
3.4.3 语句标号和goto语句 55
3.4.4 exit()和abort()函数 56
3.5 程序设计举例 56
3.5.1 分支语句应用举例 56
3.5.2 循环语句应用举例 60
本章小结 65
习题3 66
实验二 69
实验三 70
第4章 数组 71
4.1 数组的定义和使用 71
4.1.1 一维数组的定义和使用 71
4.1.2 二维数组的定义和使用 77
4.2 字符数组的定义和使用 82
4.2.1 字符数组和字符串 82
4.2.2 字符串处理函数 84
4.3 数组应用举例 87
4.3.1 一维数组应用举例 87
4.3.2 二维数组应用举例 89
4.3.3 字符数组应用举例 92
本章小结 93
习题4 94
实验四 97
实验五 98
第5章 函数 99
5.1 函数的定义和调用 99
5.1.1 函数的概念 99
5.1.2 函数的定义 100
5.1.3 函数的调用 101
5.1.4 实参与形参的数据传送 104
5.2 函数的嵌套调用和递归调用 105
5.2.1 函数的嵌套调用 105
5.2.2 函数的递归调用 106
5.3 数组作为函数参数 109
5.3.1 数组元素作为函数实参 109
5.3.2 数组名作为函数参数 110
5.4 变量的存储类型 114
5.4.1 作用域 114
5.4.2 局部变量与全局变量 116
5.4.3 动态变量与静态变量 117
5.4.4 变量的存储类型 117
5.5 内联函数 123
5.6 具有默认参数值的函数 124
5.7 函数的重载 125
本章小结 126
习题5 128
实验六 132
第6章 编译预处理 134
6.1 文件包含处理 134
6.2 宏定义 137
6.2.1 不带参数的宏定义 137
6.2.2 带参数的宏定义 139
6.3 条件编译 141
本章小结 144
习题6 145
第7章 指针 146
7.1 指针与指针变量 146
7.1.1 指针的概念 146
7.1.2 指针变量的定义与引用 146
7.1.3 指针变量的运算 148
7.2 指针与数组 153
7.2.1 一维数组与指针 153
7.2.2 二维数组与指针 154
7.2.3 字符串与指针 158
7.3 指针变量与数组作为函数参数 160
7.3.1 指针变量作为函数参数 160
7.3.2 数组与指针作为函数参数 162
7.4 指针数组 165
7.5 指向一维数组的指针变量 167
7.6 返回指针值的函数 169
7.7 函数指针变量 171
7.8 new和delete运算符 175
7.8.1 new运算符 175
7.8.2 delete运算符 176
7.8.3 使用new和delete运算符应注意的事项 177
7.9 引用类型变量和const类型的指针 177
7.9.1 引用类型变量的定义及使用 177
7.9.2 const类型变量 179
本章小结 181
习题7 184
实验七 187
实验八 188
第8章 枚举类型和结构体 190
8.1 枚举类型的定义及应用 190
8.1.1 枚举类型的定义 190
8.1.2 枚举类型变量的定义 191
8.1.3 枚举类型变量的引用 192
8.2 结构体的定义及应用 194
8.2.1 结构体的概念 194
8.2.2 结构体类型的定义 195
8.2.3 结构体变量的定义 196
8.2.4 结构体变量的引用 197
8.2.5 结构体变量与数组作为函数参数 199
8.3 链表 202
8.3.1 链表的概念 202
8.3.2 链表的基本操作 204
本章小结 212
习题8 214
实验九 215
实验十 216
第9章 类和对象 218
9.1 概述 218
9.2 类与对象 219
9.2.1 类 219
9.2.2 对象 222
9.3 构造函数 225
9.3.1 构造函数的定义 225
9.3.2 用构造函数初始化对象的过程 227
9.3.3 默认构造函数 228
9.3.4 拷贝的构造函数 229
9.3.5 用new运算符动态定义对象 230
9.4 析构函数 231
9.4.1 定义析构函数 231
9.4.2 析构函数的调用 232
9.4.3 默认的析构函数 235
9.5 构造函数和对象成员 235
9.6 this指针 239
本章小结 239
习题9 241
实验十一 244
第10章 继承和派生类 245
10.1 继承与派生 245
10.1.1 继承与派生的基本概念 245
10.1.2 派生类的定义 247
10.1.3 派生类的构造函数与基类成员的初始化 249
10.2 冲突、支配规则和赋值兼容性 253
10.2.1 冲突 253
10.2.2 支配规则 256
10.2.3 赋值兼容规则 257
10.2.4 基类和对象成员的几点说明 257
10.3 虚基类 258
10.3.1 多重派生的基类拷贝 258
10.3.2 虚基类 259
10.4 静态数据成员 261
本章小结 264
习题10 265
实验十二 267
第11章 友元与运算符重载 269
11.1 友元函数 269
11.1.1 定义普通函数为友元函数 269
11.1.2 友元注意事项 270
11.2 运算符重载 271
11.2.1 运算符重载的概念 271
11.2.2 二元运算符重载 271
11.2.3 一元运算符重载 276
11.2.4 字符串类运算符重载 282
11.3 多态性与虚函数 284
11.3.1 多态性技术 284
11.3.2 虚函数 285
11.3.3 纯虚函数 287
11.4 类与对象的特性 289
本章小结 290
习题11 291
实验十三 293
第12章 流类体系与文件操作 294
12.1 流类体系 294
12.1.1 流 294
12.1.2 基本流类体系 295
12.1.3 标准输入/输出流 296
12.1.4 流的格式控制 297
12.1.5 数据输入/输出成员函数 302
12.2 文件操作 304
12.2.1 C++文件概述 304
12.2.2 C++的文件流类体系 305
12.2.3 文件的使用方法 305
12.2.4 文本文件的使用 309
本章小结 314
习题12 316
实验十四 316
附录A C++中的关键字 318
附录B常用库函数 320
附录C ASCII码表 324
附录D 《C++程序设计》学时分配参考表 325
参考文献 326