第一篇 C/C++语言基础 3
第1章 C/C++语言概述 3
1.1 C/C++语言发展概况 3
1.1.1 C/C++语言产生的历史背景 3
1.1.2 C++语言的发展 5
1.2 面向对象的程序设计方法概述 5
1.2.1 传统的结构化程序设计方法 6
1.2.2 面向对象的程序设计方法 6
1.2.3 面向对象的程序设计思想 9
1.3.1 抽象性 10
1.3 C++语言的编程特征 10
1.3.2 封装性 11
1.3.3 继承性 11
1.3.4 多态性 14
1.4 C/C++语言的语法规则与书写格式 15
1.4.1 C/C++标识符与关键字 15
1.4.2 C/C++语言的应用程序组成 16
1.4.3 C/C++的语法规则与书写格式 17
1.4.4 简单的C/C++语言程序范例 18
小结 19
第2章 数据类型、运算符与表达式 22
2.1 C/C++的基本数据类型 22
2.1.1 整数类型 23
2.1.2 浮点类型 24
2.2 常量 25
2.2.1 常量定义 25
2.2.2 整型常量 25
2.2.3 字符与字符串常量 26
2.3 C/C++存储类型与变量作用域 27
2.3.1 C/C++的存储类型 27
2.3.2 变量定义 28
2.3.3 量的作用域 29
2.3.4 内部变量和外部变量 30
2.4.1 自动数据类型转换 31
2.4 数据类型转换 31
2.4.2 强制数据类型转换 32
2.5 C/C++运算符 32
2.5.1 算术运算符 32
2.5.2 关系运算符 33
2.5.3 逻辑运算符 33
2.5.4 位操作运算符 33
2.5.5 自增(减)操作运算符 34
2.5.6 赋值与复合运算符 34
2.5.7 其他操作符与运算符优先级 34
2.6.1 C/C++表达式的种类 37
2.6.2 处理表达式时应注意的问题 37
2.6 C/C++表达式 37
2.7 C/C++的自定义类型 38
小结 38
第3章 C/C++程序的结构 42
3.1 编译预处理功能 42
3.1.1 文件包含 42
3.1.2 条件编译 43
3.1.3 宏定义 44
3.1.4 带参数的宏定义 44
3.2.2 表达式语句与空语句 45
3.2.3 程序的三种基本结构 45
3.2.1 复合语句 45
3.2 语句与程序结构概述 45
3.3 数据的输入与输出简介 46
3.3.1 C语言的输入与输出 47
3.3.2 C++语言的输入与输出 50
3.3.3 C++输出格式控制 52
小结 53
第4章 程序流程控制结构 56
4.1 选择控制结构 56
4.1.1 二分支控制结构 56
4.1.2 多分支控制结构 62
4.2.1 while语句 67
4.2 循环控制结构 67
4.2.2 for语句 71
4.2.3 do~while语句 74
4.2.4 三种循环语句的比较 76
4.2.5 多重循环 78
4.3 转向控制 82
4.3.1 break语句 83
4.3.2 continue语句 83
4.3.3 break语句与continue语句的比较 84
4.3.4 return语句 85
4.3.5 goto语句 85
4.4 流程控制应用示例 87
小结 91
第5章 高级数据类型 94
5.1 枚举类型 94
5.1.1 枚举类型的定义与枚举变量 94
5.1.2 枚举类型变量的赋值与应用 95
5.2 联合 96
5.2.1 联合及联合变量定义的一般形式 96
5.2.2 联合的特点与应用 97
5.3 结构 98
5.3.1 结构定义的一般形式 98
5.3.2 结构变量的定义与应用 99
5.4 数组与字符串 101
5.4.1 一维数组 102
5.4.2 二维数组 106
5.4.3 字符型数组 112
5.4.4 数组的存储 114
5.4.5 字符数组与字符函数 115
5.5 数组与结构 117
5.6 指针 119
5.6.1 指针的基本概念 119
5.6.2 指针变量 121
5.6.3 无类型指针 124
5.6.4 指针与数组 125
5.6.5 指针的指针 128
小结 129
第6章 函数 133
6.1 函数定义的一般方式 133
6.1.1 函数定义的方式 133
6.1.2 函数的声明与定义方式 134
6.1.3 形参与实参 135
6.2 函数的调用 136
6.2.1 函数调用方式 136
6.2.2 函数的传值调用 138
6.2.3 函数的传指针调用 139
6.2.4 函数的传址调用 140
6.3 函数的缺省参数 141
6.4.1 局部变量 142
6.4 局部变量与全局变量 142
6.4.2 全局变量 143
6.4.3 静态变量 145
6.5 内部函数与外部函数 146
6.5.1 内部函数 146
6.5.2 外部函数 146
6.6 标识符的作用域 148
6.6.1 作用域的种类 148
6.6.2 标识符作用域的规定 148
6.7 函数的返回值 149
6.7.1 利用return语句返回函数的值 149
6.7.3 利用全局变量返回函数运算结果 150
6.7.2 利用参数返回函数运算的结果 150
6.8 内联函数 151
6.8.1 内联函数的定义与使用方法 151
6.8.2 内联函数与带参宏的区别 152
6.9 函数重载 153
6.10 函数的嵌套与递归调用 154
6.10.1 函数的嵌套调用 154
6.10.2 函数的递归调用 156
6.11 函数与数组 159
6.11.1 数组作函数的参数 159
6.11.3 形参与实参都使用数组的指针 160
6.11.2 形参与实参都使用数组 160
6.12 函数与指针 161
6.12.1 指针作函数的参数 161
6.12.2 指针函数 162
6.12.3 函数指针 163
6.12.4 函数指针数组 165
6.13 复杂数据类型的识别方法 166
6.14 函数应用 169
小结 171
7.1.1 类的意义 177
7.1 类 177
第7章 类与对象 177
第二篇 面向对象的程序设计方案 177
7.1.2 类定义的形式 178
7.1.3 类函数成员的定义方式 180
7.1.4 类成员的访问控制 181
7.1.5 类的作用域 182
7.2 对象 183
7.2.1 对象定义 184
7.2.2 对象成员的表示方法 186
7.3 构造函数和析构函数 187
7.3.1 构造函数 187
7.3.2 拷贝构造函数 188
7.3.3 缺省构造函数与带参构造函数 189
7.3.4 重载构造函数 191
7.3.5 析构函数 192
7.3.6 构造函数与析构函数的调用时间差 193
7.4 类的内联与友元成员 193
7.4.1 内联函数成员 193
7.4.2 友元函数与友元类 194
7.5 局部类和嵌套类 197
7.5.1 局部类 197
7.5.2 嵌套类 198
7.6.1 对象的指针 199
7.6 对象与指针、数组 199
7.6.2 对象的数组 203
7.7 动态内存分配 204
7.7.1 new运算 204
7.7.2 delete运算 205
7.8 静态成员 206
7.8.1 静态数据成员 206
7.8.2 静态函数成员的性质 206
7.9 常对象与常成员 208
7.9.1 常对象 208
7.9.2 常数据成员 209
7.9.3 常函数成员 209
小结 210
8.1 基类与派生类 213
8.1.1 派生类的定义 213
第8章 类的继承与派生 213
8.1.2 派生类的继承方式 214
8.1.3 基类与派生类的关系 215
8.1.4 派生类的对象 219
8.2 派生类的构造函数、析构函数和友元 220
8.2.1 派生类的构造函数 220
8.2.2 派生类的析构函数 221
8.3 多重派生与多层派生 222
8.3.1 多重派生 222
8.2.3 派生类的友元 222
8.3.2 多层派生 224
8.4 类的多继承 226
8.4.1 多继承 226
8.4.2 多继承派生类的构造函数 229
8.4.3 多继承的注意事项 229
8.5 虚基类 231
8.5.1 虚基类 231
8.5.2 虚基类的构造函数 231
8.6 赋值兼容规则 233
小结 234
9.1.1 多态性概述 237
第9章 类的多态与抽象 237
9.1 多态性 237
9.1.2 多态的类型 238
9.1.3 多态的实现方式 238
9.2 运算符重载 238
9.2.1 运算符重载的规则 239
9.2.2 运算符重载的形式 240
9.2.3 运算符重载为类的成员函数 240
9.2.4 运算符重载为类的友元函数 244
9.3 联编 247
9.3.1 静态联编 247
9.3.2 动态联编 248
9.4 虚函数 249
9.4.1 虚函数成员 249
9.4.2 虚析构函数 252
9.5 抽象类 252
9.5.1 纯虚函数 252
9.5.2 抽象类 253
小结 254
第10章 C++的文件与I/O流 257
10.1 流类的概念 257
10.1.1 流类 257
10.1.3 ostream类 258
10.1.2 ios类 258
10.1.5 提取与插入符 259
10.2 输出流 259
10.2.1 数据输出格式 259
10.1.4 istream类 259
10.2.2 数据输出函数 262
10.2.3 文件输出形式 262
10.3 输入流 264
10.3.1 键盘输入 264
10.3.2 数据输入函数 264
10.3.3 文件输入形式 265
10.4.1 检测错误的方法 268
10.4 I/O流错误的处理 268
10.4.2 清除与设置流的状态标志位 269
小结 269
第三篇 上机指导与习题解答 275
第11章 Visual C++ 6.0概述 275
11.1 Visual C++ 6.0的特点 275
11.2 Visual C++ 6.0开发环境 277
11.2.1 Visual C++ 6.0的安装 277
11.2.2 Visual C++ 6.0开发环境 277
11.3.1 应用程序的组成 278
11.3.2 应用程序的维护 278
11.3 Visual C++ 6.0应用程序的基本概念 278
11.3.3 维护应用程序的要点 279
11.3.4 应用程序的设计要点 279
11.3.5 程序的动态链接及多态性 280
11.3.6 开发与维护应用程序应注意的问题 280
小结 280
第12章 Visual C++ 6.0使用简介 282
12.1 Visual C++ 6.0主窗口 283
12.2 Visual C++ 6.0工具栏 283
12.2.1 标准工具栏 283
12.2.4 添加对象工具栏 284
12.2.3 微型编译工具栏 284
12.2.2 编译工具栏 284
12.2.5 资源工具栏 285
12.2.6 编辑工具栏 285
12.2.7 调试工具栏 286
12.2.8 数据库工具栏 287
12.2.9 向导工具栏 287
12.3 Visual C++ 6.0菜单栏 288
12.3.1 文件菜单 288
12.3.2 编辑菜单 291
12.3.3 查看菜单 292
12.3.4 插入菜单 293
12.3.6 构件菜单 294
12.3.5 工程菜单 294
12.3.7 调试菜单 296
12.3.8工具菜单 297
12.3.9 窗口菜单 299
12.3.10 帮助菜单 300
12.4 项目与项目工作区 301
12.4.1 类 301
12.4.2 资源 301
12.4.3 文件 301
12.5 资源 302
12.5.1 资源编辑器 302
12.5.3 菜单编辑器 303
12.5.2 对话框编辑器 303
12.5.4 加速键编辑器 305
12.5.5 串表编辑器 305
12.5.6 版本编辑器 305
12.5.7 图形编辑器 305
12.5.8工具栏编辑器 306
小结 306
第13章 上机实验指导 307
13.1 实验一 C/C++语言程序认识初步 307
13.1.1 实验目的与要求 307
13.1.2 使用Visual C++建立C/C++程序的步骤 307
13.1.3 实验内容 308
13.2 实验二 运算符与表达式的使用 310
13.2.1 实验目的与要求 310
13.2.2 实验内容 310
13.3 实验三 简单的程序开发步骤 313
13.3.1 实验目的与要求 313
13.3.2 实验内容 313
13.3.3 实验结果分析 315
13.4 实验四C/C++简单的输出格式与程序结构 315
13.4.1 实验目的与要求 315
13.4.2 实验内容 315
13.5.2 实验内容 319
13.5.1 实验目的与要求 319
13.5 实验五 程序流程控制结构 319
13.6 实验六 数组 323
13.6.1 实验目的与要求 323
13.6.2 实验内容 323
13.7 实验七 指针 330
13.7.1 实验目的与要求 330
13.7.2 实验内容 330
13.8 实验八 结构与联合 332
13.8.1 实验目的与要求 332
13.8.2 实验内容 332
13.9.2 实验内容 335
13.9.1 实验目的与要求 335
13.9 实验九 函数 335
13.10 实验十 类与对象 339
13.10.1 实验目的与要求 339
13.10.2 实验内容 339
13.11 实验十一 类的继承与派生 342
13.11.1 实验目的与要求 342
13.11.2 实验内容 343
13.12 实验十二 类的多态与抽象 349
13.12.1 实验目的与要求 349
13.12.2 实验内容 349
13.13.2 实验内容 354
13.13.1 实验目的与要求 354
13.13 实验十三 流与文件 354
附录 习题解答 359
第1章习题解答 359
一、思考题参考答案 359
二、练习题参考答案 360
第2章习题解答 360
一、思考题参考答案 360
二、练习题参考答案 360
第3章习题解答 361
一、思考题参考答案 361
一、思考题参考答案 362
第4章习题解答 362
二、练习题参考答案 362
二、练习题参考答案 363
第5章习题解答 365
一、思考题参考答案 365
二、练习题参考答案 366
第6章习题解答 369
一、思考题参考答案 369
二、练习题参考答案 369
第7章习题解答 374
一、思考题参考答案 374
二、练习题参考答案 375
一、思考题参考答案 376
第8章习题解答 376
二、练习题参考答案 377
第9章习题解答 378
一、思考题参考答案 378
二、练习题参考答案 379
第10章习题解答 379
一、思考题参考答案 379
二、练习题参考答案 380
第11章习题解答 382
一、思考题参考答案 382
参考文献 383