第1章 C++概述 1
1.1 程序设计语言概述 1
1.1.1 机器语言 1
1.1.2 汇编语言 1
1.1.3 高级语言 2
1.2 程序设计方法 3
1.2.1 结构化程序设计方法 3
1.2.2 面向对象程序设计方法 4
1.2.3 两种程序设计方法的比较 4
1.3 C++语言的发展及特点 5
1.3.1 C++语言的发展 5
1.3.2 C++语言的特点 6
1.4 C++语言程序 6
1.4.1 C++语言程序举例 6
1.4.2 C++语言程序的构成 9
1.5 C++语言集成开发环境 10
1.5.1 C++语言程序的调试步骤 10
1.5.2 在Visual C++6.0环境中开发C++语言程序 10
1.5.3 Visual C++6.0程序调试常见错误 15
习题 16
第2章 算法 20
2.1 什么是算法 20
2.2 简单的算法举例 21
2.3 算法的特点 22
2.4 算法的表示方法 22
2.4.1 自然语言表示法 22
2.4.2 流程图表示法 22
2.4.3 N-S流程图表示法 25
2.4.4 用计算机语言实现算法 26
习题 27
第3章 C++语言基础知识 29
3.1 C++语言的字符集与词汇 29
3.1.1 C++语言的字符集 29
3.1.2 C++语言的词汇 29
3.2 C++语言的数据类型 30
3.3 变量与常量 31
3.3.1 变量 31
3.3.2 常量 33
3.4 运算符与表达式 37
3.4.1 算术运算符与算术表达式 39
3.4.2 关系运算符与关系表达式 41
3.4.3 逻辑运算符与逻辑表达式 41
3.4.4 逗号运算符与逗号表达式 43
3.4.5 条件运算符与条件表达式 44
3.4.6 赋值运算符与赋值表达式 45
3.4.7 其他运算符 45
3.5 数据类型转换 46
3.5.1 隐式类型转换 47
3.5.2 显式类型转换 47
3.5.3 赋值转换 48
习题 48
第4章 顺序结构程序设计 55
4.1 C++语言的语句 55
4.2 数据的输入与输出 55
4.2.1 输入输出流的基本操作 56
4.2.2 输入输出流的格式控制 58
4.3 顺序结构程序举例 61
习题 64
第5章 选择结构程序设计 68
5.1 if语句 68
5.1.1 if语句的省略格式 68
5.1.2 if-else语句格式 69
5.1.3 if-else if-else语句格式 71
5.1.4 if语句的嵌套 75
5.1.5 if语句与条件表达式的关系 78
5.1.6 if语句程序举例 79
5.2 switch语句 81
5.2.1 switch语句格式 81
5.2.2 switch语句程序举例 82
5.2.3 if语句与switch语句的比较 86
习题 86
第6章 循环结构程序设计 95
6.1 while语句 95
6.2 do-while语句 100
6.3 for语句 102
6.3.1 for语句的基本形式 102
6.3.2 for循环程序举例 104
6.3.3 3种循环语句的比较 108
6.3.4 3种循环语句的选择 109
6.4 break语句和continue语句 109
6.4.1 break语句 109
6.4.2 continue语句 111
6.5 循环的嵌套 112
习题 117
第7章 指针 129
7.1 指针和地址 129
7.1.1 指针变量的定义 130
7.1.2 指针变量的初始化 130
7.1.3 指针变量的引用 130
7.1.4 几种特殊的指针 133
7.2 指针的运算 134
7.3 二级指针 135
习题 136
第8章 函数与编译预处理 138
8.1 函数 138
8.1.1 函数的定义 139
8.1.2 函数的调用 140
8.1.3 函数的参数 141
8.1.4 函数的返回值 141
8.1.5 对被调函数的声明 142
8.2 参数传递方式 142
8.2.1 值传递 143
8.2.2 地址传递 143
8.2.3 引用参数 145
8.3 函数程序举例 145
8.4 函数的嵌套调用 146
8.5 函数的递归调用 147
8.6 内联函数 150
8.7 函数的重载 150
8.8 函数模板 152
8.9 带默认参数的函数 153
8.10 指针函数和函数指针 154
8.10.1 指针函数 154
8.10.2 函数指针 155
8.11 变量的作用域和存储类别 156
8.11.1 局部变量 156
8.11.2 全局变量 158
8.11.3 变量的存储类别 159
8.12 编译预处理 163
8.12.1 宏定义 163
8.12.2 文件包含 168
8.12.3 条件编译 169
习题 171
第9章 数组 184
9.1 一维数组 184
9.1.1 一维数组的定义 184
9.1.2 一维数组元素的引用 185
9.1.3 一维数组的初始化 186
9.1.4 一维数组的存储 187
9.1.5 一维数组程序举例 187
9.2 二维数组 192
9.2.1 二维数组的定义 192
9.2.2 二维数组元素的引用 192
9.2.3 二维数组的初始化 193
9.2.4 二维数组程序举例 194
9.3 字符数组 196
9.3.1 字符数组的定义 196
9.3.2 字符数组的初始化 196
9.3.3 字符数组元素的引用 197
9.3.4 字符数组的输入输出 197
9.3.5 字符串处理函数 199
9.4 数组和指针 202
9.4.1 数组和指针变量的运算 202
9.4.2 通过指针变量访问数组元素 203
9.5 利用字符指针处理字符串 207
9.6 指针数组 208
9.7 数组和函数参数 209
习题 213
第10章 自定义数据类型 224
10.1 结构体类型与结构体变量的定义 224
10.1.1 结构体类型的声明 224
10.1.2 结构体变量的定义 225
10.2 结构体变量的初始化与引用 225
10.3 结构体数组 226
10.4 指向结构体变量的指针 227
10.5 链表 228
10.5.1 new、delete运算符 228
10.5.2 链表的概念 229
10.5.3 创建链表 229
10.5.4 插入链表节点 230
10.5.5 删除链表节点 231
10.6 共用体和枚举类型 231
10.6.1 共用体类型 231
10.6.2 枚举类型 232
10.7 类型定义符typedef 233
10.7.1 用typedef定义数据类型 233
10.7.2 用typedef定义函数指针类型 234
习题 235
第11章 面向对象程序设计基础 244
11.1 面向对象程序设计的基本概念 244
11.2 类和对象 245
11.2.1 类的概念 245
11.2.2 类的定义 245
11.2.3 对象的定义 246
11.2.4 成员的引用方式 247
11.3 成员函数的声明方式 248
11.3.1 内置成员函数的声明 248
11.3.2 成员函数的原型与函数体分开定义 248
11.3.3 内置函数在类体外定义 249
11.3.4 函数重载 250
11.4 构造函数与析构函数 250
11.4.1 构造函数 250
11.4.2 析构函数 253
11.5 对象的动态创建与销毁 255
11.6 静态成员 256
11.6.1 静态数据成员 256
11.6.2 静态成员函数 257
11.7 友元 259
11.8 继承与派生 261
11.8.1 派生类的声明 261
11.8.2 派生类的继承方式 262
11.8.3 派生类的构造函数和析构函数 262
11.8.4 虚基类 265
11.9 综合应用 266
习题 271
第12章 C++语言的流类库 285
12.1 输入输出流及流类库 285
12.1.1 输入输出流的概念 285
12.1.2 流类库 285
12.2 文件流 286
12.2.1 文件 286
12.2.2 定义文件流对象 286
12.2.3 文件的打开与关闭 287
12.2.4 输出文件流 288
12.2.5 输入文件流 289
12.2.6 文件流定位 292
12.3 字符串流 293
12.3.1 字符串流对象的定义及初始化 293
12.3.2 字符串流的输入与输出 294
12.3.3 字符串流的赋值 294
12.3.4 字符串流的比较 295
习题 295
附录A ASCII码表 300
附录B C++语言的关键字 302
附录C C++语言的常用库函数 303
参考文献 305