绪论 1
第一节 程序设计在计算机科学和技术中的作用 1
第二节 面向过程程序设计与面向对象程序设计 3
第三节 算法及其表示方法 5
第四节 程序设计是从事创新活动的工具 6
第五节 学习程序设计的一般方法 7
第一章 C++语言概述 9
第一节 C++语言发展简史 9
第二节 C++语言的特点 10
第三节 C++程序的结构 11
第四节 C++语言的基本组成 13
一、C++语言的基本符号 13
二、C语言的词法单位 14
一、C++编程环境与源程序处理过程 15
第五节 C++程序集成开发环境(IDE) 15
二、C++编译基本原理 16
本章小结 18
第二章 基本数据类型、运算符及表达式 19
第一节 C++语言的基本数据类型 19
一、整型数据 20
二、字符型数据 22
三、字符型变量 23
四、字符串型数据 24
五、变量赋初值 25
六、常数类型说明符const 25
第二节 运算符及表达式 26
一、运算符的优先级与结合性 26
二、赋值运算符 27
四、关系运算符 29
三、算术运算符 29
五、逻辑运算符 30
六、自增与自减运算符 31
七、逗号运算符 32
八、强制类型转换运算符 32
第三节 表达式的类型及其运算 33
一、表达式的类型 33
二、类型转换 33
第四节 位运算符及位运算 34
一、按位与运算 35
二、按位或运算 35
三、按位异或运算 36
四、取反运算符 37
五、左移运算符 37
本章小结 38
六、右移运算符 38
第三章 控制结构 39
第一节 顺序结构程序设计 39
一、程序的结构与控制 39
二、C++语言的语句 40
三、数据的输入输出 41
四、程序举例 55
第二节 选择结构程序设计 57
一、条件语句 57
二、条件运算符 63
三、switch语句 63
四、程序举例 65
一、for循环语句 69
第三节 循环结构程序设计 69
二、while循环语句 72
三、do~while语句 72
四、循环的嵌套 74
五、break、continue与goto语句 76
六、程序举例 80
本章小结 85
第四章 数组 86
第一节 数组的定义格式 86
一、一维数组 86
二、二维数组 87
第二节 数组元素 88
第三节 数组的初始化 88
一、一维数组的初始化 88
二、二维数组的初始化 90
第四节 数组的应用 92
第五节 字符数组及字符串 101
一、字符数组的定义和初始化 101
二、字符数组的应用 103
第六节 字符串处理函数 103
一、字符串输入函数gets() 104
二、字符串输出函数puts() 104
三、字符串连接函数strcat() 105
四、字符串比较函数strcmp() 106
五、字符串复制函数strcpy() 107
六、计算字符串长度函数strlen 108
第七节 字符数组的应用 109
本章小结 110
第一节 库函数的调用 111
第五章 函数与编译预处理 111
一、数学函数 112
二、输入输出(I/O)函数 113
三、字符函数和字符串函数 114
第二节 函数的定义 114
第三节 函数值与return语句 118
一、函数的返回值 118
二、return语句的功能与用法 118
第四节 函数的参数 120
一、形式参数与实在参数 120
二、参数值的传递 120
三、数组名作为函数参数 121
第五节 函数的调用 123
二、对被调函数的声明与函数原型 125
三、函数嵌套调用 127
四、函数递归调用 128
第六节 变量的存储种类 132
一、局部变量 133
二、全局变量 136
第七节 内部函数与外部函数 142
第八节 宏定义 144
一、符号常数定义 144
二、带参数的宏定义 149
第九节 文件包含 151
第十节 条件编译 153
第十一节 缺省参数的函数 155
第十三节 函数名重载 156
第十二节 内置函数 156
第十四节 作用域限定运算符 157
第十五节 多文件程序的编译和连接 158
本章小结 158
第六章 指针 160
第一节 指针及指针变量 160
一、指针的概念 160
二、指针操作符 161
三、指针的运算 162
第二节 指针与数组 168
一、一维数组与指针 168
二、用数组名和用指针变量指向数组的区别 171
三、多维数组与指针 174
一、字符串的指针表示 178
第三节 指针与字符串 178
二、用数组名和用指针处理字符串的区别 179
三、指针数组 180
第四节 多级指针 182
第五节 指针与函数 183
一、指针作为函数的参数 183
二、函数的入口地址和函数的指针 187
三、返回指针值的函数 189
第六节 函数main()的参数 191
第七节 new和delete操作符 193
一、new和delete操作符的使用方法 193
二、使用new和delete操作符应注意的事项 195
本章小结 198
第一节 结构体的定义 199
第七章 结构体与共用体 199
第二节 结构体的使用方法 200
第三节 指向结构体的指针 202
第四节 指针在链表中的应用 203
一、单向无序链表的操作 205
二、单向有序链表的操作 209
第五节 结构体与函数 214
第六节 共用体 217
第七节 枚举类型 219
第八节 用typedef自定义类型 221
第九节 位段 222
本章小结 226
一、类 227
二、对象 227
第一节 类和对象的基本概念 227
第八章 类与对象 227
三、方法 228
四、消息 228
五、继承 228
第二节 类的结构 229
一、类的定义 229
二、类与结构体的异同 230
第三节 对象 231
第四节 构造函数与析构函数 238
一、构造函数 238
二、析构函数 243
三、实现复制的构造函数 246
四、构造函数和对象成员 249
第五节 友元函数 252
第六节 类和对象的作用域 256
第七节 引用 257
一、引用的概念 257
二、独立引用 257
三、作为参数的引用 258
四、引用返回值 260
第八节 类自引用及this指针 261
本章小结 265
第九章 继承与派生类 266
第一节 继承的基本概念 266
第二节 继承与数据成员的可视性 266
一、继承基类私有成分 267
第三节 派生类的构造 267
二、继承基类公有成分 269
三、继承基类保护成分 272
第四节 成员访问控制 272
第五节 类属类简介 280
第六节 多重继承 282
本章小结 285
第十章 运算符重载与虚拟函数 286
第一节 多态性的基本概念 286
第二节 早期联编和滞后联编 286
第三节 运算符重载 287
一、运算符重载的意义 287
二、运算符重载的实现 288
三、运算符重载实例 295
一、虚拟函数的实现 296
第四节 虚拟函数 296
二、空虚函数 301
三、纯虚函数与抽象类 304
本章小结 306
第十一章 文件与流类库 307
第一节 文件和流的基本概念 307
一、文件的概念 307
二、流的概念 308
第二节 基本流类体系 308
一、流类体系 309
二、预定义的流与流运算符 309
三、流的格式控制 310
二、文件的打开 316
一、文件流类体系 316
第三节 文件流 316
三、文件的关闭 318
四、文本文件的读写操作 318
五、二进制文件读写操作 319
第四节 RAM流 319
第五节 C语言的文件系统 321
一、C文件系统的概念 321
二、文件的打开与关闭 322
三、文件的输入输出 323
四、文件的定位与状态 330
本章小结 332
附录A C++在非C的增强 333
附录B 常用词汇中英文对照表 335
参考文献 340