第1章 C++语言概述 1
1.1引言 1
1.2 C++语言背景 1
1.3第一个程序 2
1.4第二个程序 3
1.5第三个程序 4
1.6 算法 5
1.6.1算法概述 5
1.6.2算法的表示 6
1.7 C++程序开发流程 7
1.8 Visual C++6.0的简介 7
1.8.1 Visual C+++ 6.0的界面 7
1.8.2 C++程序的开发过程 9
本章小结 11
习题一 11
第2章 数据类型、运算符和表达式 12
2.1标识符和关键字 12
2.2数据类型概述 13
2.3基本数据类型 13
2.4常量和变量 15
2.4.1常量 15
2.4.2变量 17
2.5运算符、表达式与语句 18
2.5.1运算符和表达式 18
2.5.2语句 23
2.6类型转换 24
2.6.1类型转换概述 24
2.6.2自动类型转换 25
2.6.3赋值类型转换 26
2.6.4强制类型转换 26
2.7编译预处理 27
2.7.1宏定义 27
2.7.2文件包含 27
2.7.3条件编译 28
2.8其他运算符和语句 29
2.8.1 new和delete运算符 29
2.8.2作用域运算符 30
2.8.3逗号运算符 30
2.8.4条件运算符 30
2.8.5 sizeof运算符 31
2.9 C+++语言的输入和输出 31
2.9.1 cout 31
2.9.2 cin 32
2.10程序示例 34
本章小结 40
习题二 41
第3章 程序的流程控制 44
3.1程序基本结构 44
3.2顺序结构 45
3.3选择结构 45
3.3.1 if语句 45
3.3.2 switch语句 47
3.4循环结构 48
3.4.1 while语句 48
3.4.2 do...while语句 50
3.4.3 for语句 50
3.4.4循环的嵌套 52
3.5其他控制语句 53
3.6程序示例 55
本章小结 64
习题三 65
第4章 数组 73
4.1数组的基本概念 73
4.2一维数组 73
4.3二维数组和多维数组 75
4.4字符数组与字符串 77
4.4.1字符数组的定义、初始化和引用 77
4.4.2字符串函数 79
4.5程序示例 80
本章小结 89
习题四 90
第5章 函数 94
5.1函数的定义和调用 94
5.1.1函数定义 94
5.1.2函数调用 95
5.1.3参数传递 97
5.1.4函数声明 99
5.2内联函数 99
5.3函数重载 100
5.4标识符作用域 100
5.5存储类型 103
5.5.1自动(auto)类型 103
5.5.2寄存器(register)类型 104
5.5.3静态(static)类型 104
5.5.4外部(extern)类型 106
5.6递归函数 106
5.7程序示例 108
本章小结 115
习题五 115
第6章 指针 120
6.1指针的概念 120
6.2指针变量的定义和初始化 120
6.3指针运算 121
6.3.1*运算符和取地址运算符& 121
6.3.2指针变量的引用 122
6.3.3指针的算术运算和关系运算 124
6.4指针与常量 126
6.5指针与数组 126
6.5.1指针与字符数组 126
6.5.2指针与其他类型数组 127
6.5.3指针与二维数组 128
6.6指针与函数 130
6.6.1指针作为函数的参数 130
6.6.2函数指针 131
6.6.3 main()函数 132
6.7 void类型指针 135
6.8 const类型指针 135
6.9程序示例 135
本章小结 141
习题六 141
第7章 结构体、共用体与枚举 144
7.1结构体(struct) 144
7.1.1结构体和结构变量的定义 144
7.1.2结构体成员的表示和结构体变量的赋值 145
7.2共用体(union) 146
7.3枚举(enum) 148
7.3.1枚举类型的定义 148
7.3.2枚举类型变量的定义 148
7.3.3枚举类型变量的使用 148
7.4结构体与指针 149
7.5结构体与函数 151
7.5.1结构体变量作为函数参数和返回值 151
7.5.2结构体类型指针作为函数参数和返回值 152
7.6用户定义类型 155
7.7程序示例 156
本章小结 162
习题七 163
第8章 类和对象 166
8.1面向对象的基本概念 166
8.1.1传统开发方法存在的问题 166
8.1.2面向对象的基本概念 166
8.1.3面向对象的基本特征 167
8.1.4面向对象的要素 168
8.2类与对象的声明和定义 169
8.3成员函数 170
8.4对象的访问与存储 170
8.4.1对象的访问 171
8.4.2对象的存储 172
8.5构造函数与析构函数 172
8.5.1构造函数 172
8.5.2构造函数的重载 174
8.5.3析构函数 176
8.6对象与指针 177
8.6.1指向对象的指针 177
8.6.2指向对象成员的指针 178
8.6.3 this指针 179
8.7友元函数与友元类 180
8.7.1友元函数 180
8.7.2友元类 180
8.8 string类 181
8.9类的继承 182
8.9.1派生类 183
8.9.2派生类的构成 184
8.9.3派生类对基类的公有(public)继承 184
8.9.4派生类对基类的私有(private)继承 185
8.9.5派生类对基类的保护(protected)继承 186
8.9.6派生类的构造函数和析构函数 186
8.10多态性 188
8.11虚函数 190
8.12抽象类 191
8.13运算符重载 192
8.14静态数据成员 194
8.15 类模板 196
8.16程序示例 198
本章小结 212
习题八 213
第9章流 216
9.1标准库 216
9.2流 216
9.2.1什么是流 216
9.2.2流类库体系 217
9.2.3预定义的标准流与提取和插入运算符 218
9.3输入与输出流 219
9.3.1输入流istrearn 219
9.3.2输出流ostrearn 221
9.4文件处理 223
9.4.1文件的基本概念 223
9.4.2文件的打开与关闭 223
9.4.3文件的读写 225
9.5名字空间 228
9.6程序示例 229
本章小结 235
习题九 235
第10章 链表 237
10.1链表概述 237
10.1.1固定内存分配和动态内存分配 237
10.1.2链表的概念 237
10.2链表类 238
10.3顺序表 242
10.4程序示例 243
本章小结 251
习题十 251
第11章 软件开发技术 252
11.1软件开发概述 252
11.2软件开发技术 252
11.2.1程序设计方法 252
11.2.2代码复用 253
11.2.3高质量的代码 253
11.2.4软件的技术性与艺术性 255
11.2.5 STL 255
11.2.6异常处理 257
11.3学生档案管理系统 259
11.4简单的银行自动取款机 273
附录1 C++模拟考试试卷 283
附录2 ASCII码表 289
参考文献 290