目    录








第1章  绪论	1
1.1  程序设计概述	1
1.1.1  计算机程序设计语言的发展	1
1.1.2  程序设计的发展历程	2
1.1.3  结构化程序设计	3
1.1.4  面向对象程序设计	4
1.2  C++语言发展史简介	6
1.3  C++语言的基本语法成分	7
1.3.1  字符集	7
1.3.2  标识符	8
1.3.3  关键字	8
1.3.4  运算符	9
1.3.5  分隔符	9
1.3.6  空白符	9
1.4  C++程序的开发步骤和结构	10
1.4.1  C++程序开发步骤	10
1.4.2  C++程序的结构	10
习题	14
第2章  基本数据类型、运算符与表达式	15
2.1  数据类型概述	15
2.2  常量与变量	16
2.2.1  常量	16
2.2.2  变量	17
2.3  基本数据类型	18
2.3.1  整型	18
2.3.2  实型	20
2.3.3  字符型	21
2.3.4  布尔类型	23
2.3.5  void类型	24
2.4  运算符和表达式	24
2.4.1  赋值运算符和赋值表达式	24
2.4.2  算术运算符和算术表达式	26
2.4.3  关系运算符和关系表达式	28
2.4.4  逻辑运算符和逻辑表达式	29
2.4.5  条件运算符和条件表达式	30
2.4.6  逗号运算符和逗号表达式	31
2.4.7  位运算符	31
2.5  类型转换	32
2.5.1  自动类型转换	32
2.5.2  强制类型转换	34
习题	34
第3章  结构化程序设计	36
3.1  C++语言输入输出流	36
3.1.1  C++语言无格式输入输出	36
3.1.2  C++语言格式输入输出	38
3.2  结构化程序设计概述	44
3.3  顺序结构程序设计	45
3.3.1  顺序结构	45
3.3.2  程序举例	46
3.4  选择结构程序设计	48
3.4.1  用if语句实现选择结构设计	48
3.4.2  用switch语句实现选择结构设计	52
3.5  循环结构程序设计	56
3.5.1  while语句	57
3.5.2  do-while语句	58
3.5.3  for语句	59
3.5.4  跳转语句break和continue	62
3.5.5  循环的嵌套	64
3.6  程序设计举例	66
习题	69
第4章  数组	72
4.1  一维数组	72
4.1.1  一维数组的定义	72
4.1.2  一维数组元素的引用	73
4.1.3  一维数组的初始化	74
4.1.4  一维数组程序设计举例	75
4.2  二维数组	78
4.2.1  二维数组的定义	78
4.2.2  二维数组元素的引用	79
4.2.3  二维数组的初始化	80
4.2.4  二维数组程序设计举例	82
4.3  字符数组	83
4.3.1  字符数组的定义	83
4.3.2  字符数组的初始化	83
4.3.3  字符数组的使用	85
4.3.4  字符数组程序设计举例	87
4.3.5  字符串处理函数	88
4.3.6  字符串程序设计举例	90
习题	91
第5章  函数	92
5.1  函数的定义	92
5.1.1  定义函数	92
5.1.2  函数原型	94
5.2  函数的调用	96
5.2.1  调用函数	96
5.2.2  参数传递机制	98
5.2.3  函数返回值	102
5.2.4  函数调用中的数据流	103
5.3  函数的嵌套调用	104
5.4  递归函数	108
5.5  作用域与生命期	111
5.5.1  作用域	111
5.5.2  全局变量和局部变量	114
5.5.3  生命期	118
5.6  函数的其他特性	123
5.6.1  内联(inline)函数	123
5.6.2  带默认参数的函数	124
5.6.3  函数重载	125
5.6.4  函数模板	127
习题	130
第6章  指针	133
6.1  指针的基本概念	133
6.1.1  指针的概念	133
6.1.2  指针变量的定义	134
6.1.3  指针变量运算符	135
6.1.4  指针变量的初始化与赋值	137
6.1.5  指针的运算	140
6.2  指针与数组	143
6.2.1  指向数组的指针	143
6.2.2  指针与字符数组	146
6.2.3  多级指针与指针数组	149
6.2.4  指针与多维数组	153
6.2.5  数组指针	156
6.3  指针与函数	157
6.3.1  指针作为函数参数	157
6.3.2  函数调用中数组的传递	160
6.3.3  函数指针	161
习题	164
第7章  编译预处理命令	165
7.1  宏定义	165
7.1.1  不带参数的宏定义	165
7.1.2  带参数的宏定义	167
7.2  文件包含	168
7.3  条件编译	170
习题	172
第8章  结构体、共用体和枚举类型	173
8.1  结构体类型	173
8.2  定义结构体类型变量	174
8.2.1  先定义结构体类型再定义变量	174
8.2.2  定义结构体类型的同时定义变量	175
8.2.3  直接定义结构体类型变量	175
8.2.4  结构体类型变量的初始化	177
8.3  结构体类型变量成员的引用	178
8.4  结构体数组	180
8.4.1  结构体数组的定义	180
8.4.2  结构体数组的初始化	180
8.4.3  结构体数组应用举例	181
8.5  结构体指针	182
8.5.1  指向结构体类型变量的指针	182
8.5.2  指向结构体数组的指针	183
8.5.3  用结构体变量和结构体指针作为函数参数	184
8.6  用指针处理链表	185
8.6.1  链表的概述	185
8.6.2  动态内存分配	185
8.6.3  建立单向动态链表	187
8.6.4  输出链表	189
8.6.5  对链表的删除操作	189
8.6.6  对链表的插入操作	190
8.7  共用体	193
8.7.1  共用体的概念	193
8.7.2  共用体类型和共用体类型变量的定义	193
8.7.3  共用体成员的引用方式	194
8.7.4  共用体类型的特点	194
8.8  枚举类型	195
8.8.1  枚举类型及枚举变量的定义	195
8.8.2  枚举元素的引用	196
8.8.3  用typedef声明类型	197
习题	197
第9章  面向对象程序设计基础	199
9.1  面向对象程序设计概述	199
9.1.1  面向对象方法是软件方法学的返璞归真	199
9.1.2  面向对象程序设计语言的四大家族	199
9.1.3  面向对象程序分析(OOA)与设计(OOD)的基本步骤	200
9.2  类和对象	201
9.2.1  类	201
9.2.2  对象	205
9.2.3  名字解析和this指针	207
9.3  带默认参数的成员函数和重载成员函数	207
9.4  构造函数和析构函数	209
9.4.1  构造函数	209
9.4.2  析构函数	217
9.5  对象成员和静态成员	219
9.5.1  对象成员	219
9.5.2  静态成员	220
9.6  友元	222
9.7  类模板	226
习题	229
第10章  继承与派生	230	
10.1  单一继承	230
10.1.1  继承与派生	230
10.1.2  派生类的定义	230
10.1.3  类的继承方式	232
10.1.4  派生类的构造函数和析构函数	238
10.2  多重继承	241
10.2.1  多重继承的概念和定义	241
10.2.2  二义性和支配规则	241
10.2.3  赋值兼容规则	243
10.3  虚基类	243
10.3.1  虚基类的概念	243
10.3.2  多重继承的构造函数和析构函数	245
习题	247
第11章  多态性与虚函数	249
11.1  运算符重载	249
11.1.1  什么是运算符重载	249
11.1.2  用成员函数重载运算符	250
11.1.3  用友元函数重载运算符	251
11.1.4  几个常用运算符的重载	255
11.2  虚函数	258
11.2.1  为什么要引入虚函数	258
11.2.2  虚函数的定义与使用	260
11.3  纯虚函数和抽象类	263
11.3.1  纯虚函数的概念	263
11.3.2  抽象类的概念	263
11.4  虚析构函数	265
习题	266
第12章  输入输出流	268
12.1  标准输入输出流	268
12.1.1  输入输出流的概念	268
12.1.2  C++语言所有输入输出类的继承关系	268
12.2  文件输入输出流	272
12.2.1  文件的打开与关闭	272
12.2.2  文件的读写操作	275
习题	279
附录A  程序的调试与运行	280
A.1  程序的编辑、编译、连接、运行和调试	280
A.2  Visual C++ 2010学习版集成开发环境	280
A.2.1  Visual C++ 2010学习版的安装	281
A.2.2  Visual Studio 2010的首次使用及选项设置	284
A.2.3  Win32控制台应用程序的创建与执行	288
A.2.4  调试程序	292
附录B  标准字符ASCII表	294
附录C  实验	296
实验1  顺序结构程序设计	296
实验2  选择结构程序设计	296
实验3  循环结构程序设计	297
实验4  结构化程序设计综合实验	297
实验5  数组	298
实验6  函数	298
实验7  指针、指针数组	299
实验8  指针、数组与函数	299
实验9  结构体	300
实验10  面向对象程序设计	300
参考文献	301