第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++程序上机操作方法 6
本章小结 9
习题1 10
第2章 数据类型和表达式 11
2.1 数据类型 11
2.2 常量和变量 13
2.2.1 常量 13
2.2.2 变量 16
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 简单输入和输出 26
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 程序设计举例(习题课) 57
3.5.1 分支语句应用举例 57
3.5.2 循环语句应用举例 61
本章小结 65
习题3 67
实验二 70
实验三 71
第4章 数组 73
4.1 数组的定义和使用 73
4.1.1 一维数组的定义和使用 73
4.1.2 二维数组的定义和使用 80
4.2 字符数组的定义和使用 84
4.2.1 字符数组和字符串 84
4.2.2 字符串处理函数 87
4.3 数组应用举例(习题课) 90
4.3.1 一维数组应用举例 90
4.3.2 二维数组应用举例 92
4.3.3 字符数组应用举例 95
本章小结 97
习题4 98
实验四 100
实验五 101
第5章 函数 103
5.1 函数的定义和调用 103
5.1.1 函数的概念 103
5.1.2 函数的定义 104
5.1.3 函数的调用 105
5.1.4 实参与形参的数据传送 108
5.2 函数的嵌套调用和递归调用 109
5.2.1 函数的嵌套调用 109
5.2.2 函数的递归调用 110
5.3 数组作为函数参数(习题课) 113
5.3.1 数组元素作为函数实参 113
5.3.2 数组名作为函数参数 114
5.4 变量的存储类型 118
5.4.1 作用域 118
5.4.2 局部变量与全局变量 120
5.4.3 动态变量与静态变量 121
5.4.4 变量的存储类型 121
5.5 内联函数 127
5.6 具有默认参数值的函数 128
5.7 函数的重载 129
本章小结 130
习题5 133
实验六 137
第6章 编译预处理 140
6.1 文件包含处理 140
6.2 宏定义 143
6.2.1 不带参数的宏定义 143
6.2.2 带参数的宏定义 145
6.3 条件编译 147
本章小结 150
习题6 151
第7章 指针 153
7.1 指针与指针变量 153
7.1.1 指针的概念 153
7.1.2 指针变量的定义与引用 153
7.1.3 指针变量的运算 155
7.2 指针与数组 160
7.2.1 一维数组与指针 160
7.2.2 二维数组与指针 161
7.2.3 字符串与指针 165
7.3 指针变量与数组作为函数参数(习题课) 167
7.3.1 指针变量作为函数参数 167
7.3.2 数组与指针作为函数参数 169
7.4 指针数组和指向一维数组的指针变量 172
7.4.1 指针数组 172
7.4.2 指向一维数组的指针变量 174
7.5 返回指针值的函数与函数指针变量 176
7.5.1 返回指针值的函数 176
7.5.2 函数指针变量 179
7.6 new和delete运算符 182
7.6.1 new运算符 182
7.6.2 delete运算符 183
7.6.3 使用new和delete运算符应注意的事项 184
7.7 引用类型变量和const类型的指针 185
7.7.1 引用类型变量的定义及使用 185
7.7.2 const类型变量 186
本章小结 188
习题7 192
实验七 194
实验八 195
第8章 枚举类型和结构体 197
8.1 枚举类型的定义及应用 197
8.1.1 枚举类型的定义 197
8.1.2 枚举类型变量的定义 198
8.1.3 枚举类型变量的引用 199
8.2 结构体的定义及应用 202
8.2.1 结构体的概念 202
8.2.2 结构体类型的定义 202
8.2.3 结构体变量的定义 203
8.2.4 结构体变量的引用 204
8.2.5 结构体变量与数组作为函数参数 206
8.3 链表 210
8.3.1 链表的概念 210
8.3.2 链表的基本操作 211
本章小结 220
习题8 221
实验九 224
实验十 225
第9章 类和对象 227
9.1 概述 227
9.2 类与对象 229
9.2.1 类 229
9.2.2 对象 233
9.3 构造函数 236
9.3.1 构造函数的定义 236
9.3.2 用构造函数初始化对象的过程 238
9.3.3 默认构造函数 239
9.3.4 拷贝的构造函数 240
9.3.5 用new运算符动态定义对象 241
9.4 析构函数 243
9.4.1 定义析构函数 243
9.4.2 析构函数的调用 243
9.4.3 默认的析构函数 247
9.5 构造函数和对象成员 247
9.6 this指针 250
本章小结 251
习题9 253
实验十一 256
第10章 继承和派生类 258
10.1 继承与派生 258
10.1.1 继承与派生的基本概念 258
10.1.2 派生类的定义 260
10.1.3 派生类的构造函数与基类成员的初始化 262
10.2 冲突、支配规则和赋值兼容性 267
10.2.1 冲突 267
10.2.2 支配规则 269
10.2.3 赋值兼容规则 271
10.2.4 基类和对象成员的几点说明 271
10.3 虚基类 271
10.3.1 多重派生的基类拷贝 271
10.3.2 虚基类 273
10.4 静态数据成员 274
本章小结 277
习题10 279
实验十二 282
第11章 友元与运算符重载 283
11.1 友元函数 283
11.1.1 定义普通函数为友元函数 283
11.1.2 友元注意事项 284
11.2 运算符重载 285
11.2.1 运算符重载的概念 285
11.2.2 二元运算符重载 285
11.2.3 一元运算符重载 290
11.2.4 字符串类运算符重载 298
11.3 多态性与虚函数 302
11.3.1 多态性技术 302
11.3.2 虚函数 302
11.3.3 纯虚函数 305
11.4 类与对象的特性 306
本章小结 307
习题11 309
实验十三 311
第12章 流类体系与文件操作 313
12.1 流类体系 313
12.1.1 流 313
12.1.2 基本流类体系 314
12.1.3 标准输入/输出流 315
12.1.4 流的格式控制 316
12.1.5 数据输入/输出成员函数 321
12.2 文件操作 324
12.2.1 C++文件概述 324
12.2.2 C++的文件流类体系 324
12.2.3 文件的使用方法 325
12.2.4 文本文件的使用 329
本章小结 335
习题12 337
实验十四 338
第13章 C+4综合编程实训 340
13.1 系统需求分析 340
13.2 系统功能分析和模块设计 340
13.3 系统流程图与数据结构设计 340
13.3.1 系统流程图 340
13.3.2 数据结构设计 341
13.4 各功能模块程序设计 342
13.4.1 结构体 343
13.4.2 链表 347
13.4.3 类 349
13.5 学生成绩管理系统程序运行 350
13.6 其他系统设计要求 352
13.6.1 系统需求分析 353
13.6.2 系统功能分析和模块设计 353
13.6.3 系统流程图与数据结构设计 353
13.6.4 各功能模块程序设计 354
本章小结 355
附录A C++中的关键字 356
附录B 常用库函数 358
附录C ASCII码表 361
附录D 《C++程序设计》学时分配参考表 362
参考文献 363