《C++程式设计(第4版)》是2015年出版的图书,作者是侯正昌、周志德。
基本介绍
- 书名:C++程式设计(第4版)
- 作者:侯正昌,周志德
- 出版社:电子工业出版社
- 出版时间:2015-08
内容简介
本书共12章。前两章为C++概述及数据类型和表达式介绍。第3、4章叙述了三种基本程式结构、流程控制语句和数组。第5、6章讨论函式的定义和调用、函式的嵌套调用和递归调用、变数的存储类型、内联函式、函式的重载、编译预处理中的宏定义、“档案包含”处理与条件编译。第7章讲解了指针变数、指针数组、指向一维数组的指针变数、返回指针值的函式、函式指针变数、new 和 delete 运算符、引用。第8章介绍枚举型、结构体与鍊表。第9、10章讲述了类和对象、构造函式与析构函式、继承与派生、冲突、支配规则和赋值兼容性与静态数据成员。第11、12章叙述了友元函式与运算符重载、多态性与虚函式、流类体系与档案操作。
目录
第1章 C++概述 1
1.1 C++的起源 1
1.2 C++的特点 1
1.3 C++程式的基本结构 2
1.4 C++上机操作 5
1.4.1 C++程式的开发步骤 5
1.4.2 C++程式上机操作方法 5
本章小结 9
习题 1 10
第2章 数据类型和表达式 11
2.1 数据类型 11
2.2 常量和变数 13
2.2.1 常量 13
2.2.2 变数 15
2.3 运算符和表达式 17
2.3.1 算术运算符和算
术表达式 17
2.3.2 赋值运算符和赋值
表达式 19
2.3.3 自增、自减运算符 20
2.3.4 关係运算符和关係
表达式 21
2.3.5 逻辑运算符和逻辑
表达式 22
2.3.6 逗号运算符和逗号
表达式 24
2.3.7 複合赋值运算符 25
2.3.8 数据类型长度运算符
(sizeof运算符) 25
2.4 简单输入和输出 25
2.4.1 数据输出cout 26
2.4.2 数据输入cin 27
2.4.3 简单输入/输出格
式控制 28
本章小结 29
习题2 30
实验一 32
第3章 程式结构和流程控制语句 33
3.1 程式的三种基本结构和语句 33
3.1.1 程式的三种基本结构 33
3.1.2 C++程式的组成 34
3.1.3 C++程式的语句 35
3.2 分支语句 36
3.2.1 if语句 36
3.2.2 条件运算符和条件
表达式 41
3.2.3 switch语句 42
3.3 循环语句 45
3.3.1 while语句 45
3.3.2 do…while语句 47
3.3.3 for语句 49
3.3.4 三种循环语句的比较 52
3.3.5 循环语句的嵌套 52
3.4 控制执行顺序的语句 53
3.4.1 break语句 53
3.4.2 continue语句 54
3.4.3 语句标号和goto语句 55
3.4.4 exit()和abort()函式 56
3.5 程式设计举例 56
3.5.1 分支语句套用举例 56
3.5.2 循环语句套用举例 60
本章小结 65
习题3 66
实验二 69
实验三 70
第4章 数组 71
4.1 数组的定义和使用 71
4.1.1 一维数组的定义和
使用 71
4.1.2 二维数组的定义和
使用 77
4.2 字元数组的定义和使用 82
4.2.1 字元数组和字元串 82
4.2.2 字元串处理函式 84
4.3 数组套用举例 87
4.3.1 一维数组套用举例 87
4.3.2 二维数组套用举例 89
4.3.3 字元数组套用举例 92
本章小结 93
习题4 94
实验四 97
实验五 98
第5章 函式 99
5.1 函式的定义和调用 99
5.1.1 函式的概念 99
5.1.2 函式的定义 100
5.1.3 函式的调用 101
5.1.4 实参与形参的数据
传送 104
5.2 函式的嵌套调用和递归调用 105
5.2.1 函式的嵌套调用 105
5.2.2 函式的递归调用 106
5.3 数组作为函式参数 109
5.3.1 数组元素作为函式
实参 109
5.3.2 数组名作为函式参数 110
5.4 变数的存储类型 114
5.4.1 作用域 114
5.4.2 局部变数与全局变数 116
5.4.3 动态变数与静态变数 117
5.4.4 变数的存储类型 117
5.5 内联函式 123
5.6 具有默认参数值的函式 124
5.7 函式的重载 125
本章小结 126
习题5 128
实验六 132
第6章 编译预处理 134
6.1 档案包含处理 134
6.2 宏定义 137
6.2.1 不带参数的宏定义 137
6.2.2 带参数的宏定义 139
6.3 条件编译 141
本章小结 144
习题6 145
第7章 指针 146
7.1 指针与指针变数 146
7.1.1 指针的概念 146
7.1.2 指针变数的定义
与引用 146
7.1.3 指针变数的运算 148
7.2 指针与数组 153
7.2.1 一维数组与指针 153
7.2.2 二维数组与指针 154
7.2.3 字元串与指针 158
7.3 指针变数与数组作为
函式参数 160
7.3.1 指针变数作为
函式参数 160
7.3.2 数组与指针作为
函式参数 162
7.4 指针数组 165
7.5 指向一维数组的指针
变数 167
7.6 返回指针值的函式 169
7.7 函式指针变数 171
7.8 new 和 delete 运算符 175
7.8.1 new运算符 175
7.8.2 delete运算符 176
7.8.3 使用new和delete运算
符应注意的事项 177
7.9 引用类型变数和const
类型的指针 177
7.9.1 引用类型变数的定义
及使用 177
7.9.2 const类型变数 179
本章小结 181
习题7 184
实验七 187
实验八 188
第8章 枚举类型和结构体 190
8.1 枚举类型的定义及套用 190
8.1.1 枚举类型的定义 190
8.1.2 枚举类型变数的定义 191
8.1.3 枚举类型变数的引用 192
8.2 结构体的定义及套用 194
8.2.1 结构体的概念 194
8.2.2 结构体类型的定义 195
8.2.3 结构体变数的定义 196
8.2.4 结构体变数的引用 197
8.2.5 结构体变数与数组
作为函式参数 199
8.3 鍊表 202
8.3.1 鍊表的概念 202
8.3.2 鍊表的基本操作 204
本章小结 212
习题8 214
实验九 215
实验十 216
第9章 类和对象 218
9.1 概述 218
9.2 类与对象 219
9.2.1 类 219
9.2.2 对象 222
9.3 构造函式 225
9.3.1 构造函式的定义 225
9.3.2 用构造函式初始化
对象的过程 227
9.3.3 默认构造函式 228
9.3.4 拷贝的构造函式 229
9.3.5 用new运算符动态
定义对象 230
9.4 析构函式 231
9.4.1 定义析构函式 231
9.4.2 析构函式的调用 232
9.4.3 默认的析构函式 235
9.5 构造函式和对象成员 235
9.6 this 指针 239
本章小结 239
习题9 241
实验十一 244
第10章 继承和派生类 245
10.1 继承与派生 245
10.1.1 继承与派生的基本
概念 245
10.1.2 派生类的定义 247
10.1.3 派生类的构造函式与基
类成员的初始化 249
10.2 冲突、支配规则和赋值
兼容性 253
10.2.1 冲突 253
10.2.2 支配规则 256
10.2.3 赋值兼容规则 257
10.2.4 基类和对象成员
的几点说明 257
10.3 虚基类 258
10.3.1 多重派生的基类
拷贝 258
10.3.2 虚基类 259
10.4 静态数据成员 261
本章小结 264
习题10 265
实验十二 267
第11章 友元与运算符重载 269
11.1 友元函式 269
11.1.1 定义普通函式为
友元函式 269
11.1.2 友元注意事项 270
11.2 运算符重载 271
11.2.1 运算符重载的概念 271
11.2.2 二元运算符重载 271
11.2.3 一元运算符重载 276
11.2.4 字元串类运算符
重载 282
11.3 多态性与虚函式 284
11.3.1 多态性技术 284
11.3.2 虚函式 285
11.3.3 纯虚函式 287
11.4 类与对象的特性 289
本章小结 290
习题11 291
实验十三 293
第12章 流类体系与档案操作 294
12.1 流类体系 294
12.1.1 流 294
12.1.2 基本流类体系 295
12.1.3 标準输入/输出流 296
12.1.4 流的格式控制 297
12.1.5 数据输入/输出成
员函式 302
12.2 档案操作 304
12.2.1 C++档案概述 304
12.2.2 C++的档案流类
体系 305
12.2.3 档案的使用方法 305
12.2.4 文本档案的使用 309
本章小结 314
习题12 316
实验十四 316
附录A C++中的关键字 318
附录B 常用库函式 320
附录C ASCII码錶 324
附录D 《C++程式设计》学时分配
参考表 325
参考文献 326