教学篇 2
第1章 C++基础知识 2
1.1 C++语言与C++程序 2
1.1.1 程序设计语言的语法要素 2
1.1.2 C++的字符集组成 3
1.1.3 C++的单词及其构词规则 3
1.1.4 C++程序的基本结构 5
1.1.5 C++程序的书写格式 6
1.2 应用程序的开发过程 7
1.2.1 开发过程概述 7
1.2.2 开发过程示例 7
1.3 C++基本数据类型 13
1.4 常量与变量 14
1.4.1 常量 14
1.4.2 变量 16
1.5 运算符与表达式 18
1.5.1 运算符的优先级和结合性 18
1.5.2 算术运算符与算术表达式 19
1.5.3 赋值运算符与赋值表达式 21
1.5.4 类型转换 22
1.5.5 关系运算符与关系表达式 23
1.5.6 逻辑运算符与逻辑表达式 25
1.5.7 位运算符与位运算表达式 26
1.5.8 复合赋值运算符与复合赋值表达式 29
1.5.9 条件运算符与条件表达式 29
1.5.10 逗号运算符与逗号表达式 31
1.5.11 其他运算符 31
1.5.12 运算符的规律与表达式的副作用 32
习题1 32
第2章 程序控制结构 35
2.1 顺序结构 35
2.1.1 定义语句 35
2.1.2 表达式语句 36
2.1.3 复合语句 36
2.1.4 空语句 36
2.1.5 基本输入/输出 37
2.2 选择结构 39
2.2.1 if语句 39
2.2.2 switch语句 45
2.3 循环结构 47
2.3.1 while语句 47
2.3.2 do…while语句 49
2.3.3 for语句 51
2.3.4 多重循环 54
2.4 控制转向语句 56
2.4.1 break语句 56
2.4.2 continue语句 57
2.5 常用算法Ⅰ 59
习题2 63
第3章 函数与编译预处理 67
3.1 函数的概念 67
3.2 函数的定义与调用 69
3.2.1 函数的定义 69
3.2.2 函数的声明 70
3.2.3 函数的返回值 72
3.2.4 函数的调用 73
3.3 函数的参数传递 75
3.3.1 参数的值传递 76
3.3.2 参数的地址传递 77
3.3.3 带默认形参值的函数 77
3.4 函数的嵌套调用与递归调用 78
3.4.1 函数的嵌套调用 78
3.4.2 函数的递归调用 80
3.5 内置函数 86
3.6 变量和函数的属性 87
3.6.1 变量的作用域 87
3.6.2 变量的生存期 93
3.6.3 内部函数和外部函数 96
3.7 编译预处理 98
3.7.1 宏定义 98
3.7.2 文件包含 101
3.7.3 条件编译 102
习题3 103
第4章 数组与指针 107
4.1 数组及其应用 107
4.1.1 数组的概念 107
4.1.2 一维数组的定义与使用 108
4.1.3 二维数组的定义与使用 110
4.1.4 数组与函数 112
4.1.5 常用算法Ⅱ 113
4.2 指针的定义与使用 119
4.2.1 指针的概念 119
4.2.2 指针变量的定义及赋值 119
4.2.3 指针的运算 121
4.3 指针与函数 122
4.3.1 指针作函数参数 123
4.3.2 返回指针值的函数 123
4.3.3 指向函数的指针 124
4.4 指针与数组 125
4.4.1 指针与一维数组 125
4.4.2 指针与二维数组 127
4.5 指针数组与多级指针 129
4.5.1 指针数组 129
4.5.2 多级指针 130
4.6 指针与字符串 131
4.6.1 字符串的概念 131
4.6.2 字符串的存储表示法 131
4.6.3 字符串的输入与输出 132
4.6.4 字符串处理函数 134
4.6.5 字符串的简单应用举例 136
4.7 引用 137
4.7.1 变量的引用 137
4.7.2 引用作函数参数 137
4.7.3 引用作为函数的返回值 138
习题4 140
第5章 自定义数据类型 144
5.1 结构体类型 144
5.1.1 结构体类型的定义 145
5.1.2 结构体变量的定义 146
5.1.3 结构体变量的引用和初始化 148
5.1.4 结构体数组 152
5.1.5 结构体指针 155
5.1.6 结构体与函数 157
5.2 共用体类型 160
5.2.1 共用体类型与变量的定义 160
5.2.2 共用体变量的引用 161
5.2.3 共用体与结构体的联合使用 162
5.3 枚举类型 163
5.4 类型定义 165
习题5 167
第6章 类与对象 172
6.1 面向对象程序设计的基本概念 172
6.2 类与对象的定义 175
6.2.1 C++面向对象程序的结构 175
6.2.2 类的定义 176
6.2.3 对象的定义与使用 179
6.2.4 类与结构体的区别 180
6.3 对象的初始化 181
6.3.1 构造函数 182
6.3.2 析构函数 185
6.3.3 复制构造函数 187
6.4 对象数组与对象指针 190
6.4.1 对象数组 190
6.4.2 对象指针 192
6.4.3 指向类成员的指针 193
6.4.4 this指针 195
6.5 友元 196
6.5.1 友元函数 197
6.5.2 友元类 198
6.6 类成员的共享与保护 199
6.6.1 静态成员 199
6.6.2 常对象和常成员 202
6.7 程序实例 205
习题6 212
第7章 C++的几种高级特性 216
7.1 重载与模板 216
7.1.1 重载 216
7.1.2 模板 222
7.2 继承与派生 225
7.2.1 继承和派生的概念 225
7.2.2 派生类成员的访问控制 227
7.2.3 派生类的构造函数和析构函数 231
7.3 多态性和虚函数 234
7.3.1 多态性的概念 234
7.3.2 虚函数 236
习题7 246
第8章 输入输出流 248
8.1 C++的输入输出 248
8.1.1 C++流的概念 248
8.1.2 C++流类库 249
8.1.3 与iostream类库有关的头文件 251
8.1.4 插入与提取运算符的重载 252
8.2 格式化输入输出 253
8.2.1 用ios类的成员函数实现格式控制 253
8.2.2 用I/O操纵符实现格式化输入输出 258
8.2.3 数据输入输出其他成员函数 261
8.3 文件操作与文件流 263
8.3.1 文件的操作 263
8.3.2 文本文件的读写 265
8.3.3 二进制文件的读写 268
8.3.4 文件的随机读写 272
8.4 字符串流 275
8.4.1 字符串流的概念 276
8.4.2 字符串流的输出操作 276
8.4.3 字符串流的输入操作 278
习题8 279
实验篇 284
实验1 开发环境与基础训练 284
实验2 选择结构程序设计 288
实验3 循环结构程序设计 291
实验4 函数的使用 294
实验5 数组的使用 298
实验6 指针的使用 302
实验7 自定义数据类型的使用 306
实验8 类与对象(一) 310
实验9 类与对象(二) 313
实验10 C++高级特性的使用 317
实验11 输入输出流 324
实验12 综合程序设计 328
参考篇 340
附录A 字符ASCⅡ码表 340
附录B 运算符的优先级和结合性一览表 342
附录C C++常用库函数 344
参考文献 348