《C++程序设计基础(第4版)(上)》是2012年7月电子工业出版社出版的图书,作者是周霭如、林伟健。
本书的例程以VC 2010为运行环境,全书分为上、下两册。上册在第3版的基础上增加了位运算和利用位运算的集合实现。下册介绍VC++在.Net环境下的Windows应用程序设计。
本书为上册,共分12章:第1章基本数据与表达式,第2章程序控制结构,第3章函数,第4章数组,第5章集合与结构,第6章类与对象,第7章运算符重载,第8章继承,第9章虚函数与多态性,第10章模板,第11章输入/输出流,第12章异常处理。
电子课件由近3000张PPT幻灯片组成,以图形语言为设计理念,充分表达程序设计课程的教学特点。
目录
- 第1章 基本数据与表达式 1
- 1.1 概述 1
- 1.1.1 程序设计与程序设计语言 1
- 1.1.2 一个简单的C++程序 2
- 1.1.3 程序的编译执行 4
- 1.2 C++语言的字符集与词汇 5
- 1.2.1 字符集 5
- 1.2.2 词汇 6
- 1.3 C++语言的基本数据类型与存储形式 7
- 1.3.1 C++语言的数据类型 7
- 1.3.2 数据存储 7
- 1.3.3 基本数据类型 8
- 1.4 数据对象与访问 11
- 1.4.1 变量定义 11
- 1.4.2 访问变量 11
- 1.4.3 常量和约束访问 16
- 1.5 表达式 18
- 1.5.1 运算符 18
- 1.5.2 算术表达式 20
- 1.5.3 逻辑表达式 22
- 1.5.4 赋值表达式 23
- 1.5.5 条件表达式 24
- 1.5.6 逗号表达式 25
- 1.6 数据输入和输出 25
- 1.6.1 键盘输入 25
- 1.6.2 屏幕输出 26
- 1.6.3 表达式语句 27
- 本章小结 27
- 习题1 28
- 第2章 程序控制结构 32
- 2.1 选择控制 32
- 2.1.1 if语句 32
- 2.1.2 switch语句 36
- 2.2 循环控制 40
- 2.2.1 while语句 40
- 2.2.2 do_while语句 43
- 2.2.3 for语句 46
- 2.2.4 循环的嵌套 50
- 2.3 判断表达式的使用 52
- 2.4 转向语句 54
- 本章小结 56
- 习题2 56
- 第3章 函数 60
- 3.1 函数的定义与调用 60
- 3.1.1 函数定义 60
- 3.1.2 函数调用 61
- 3.1.3 函数原型 61
- 3.2 函数参数的传递 63
- 3.2.1 传值参数 63
- 3.2.2 指针参数 66
- 3.2.3 引用参数 68
- 3.2.4 函数的返回类型 70
- 3.3 函数调用机制 72
- 3.3.1 嵌套调用 73
- 3.3.2 递归调用 74
- 3.4 函数地址和函数指针 78
- 3.4.1 函数的地址 78
- 3.4.2 函数指针 79
- 3.5 内联函数和重载函数 82
- 3.5.1 内联函数 82
- 3.5.2 重载函数 83
- 3.6 变量存储特性与标识符作用域 84
- 3.6.1 存储特性 84
- 3.6.2 标识符的作用域与可见性 85
- 3.7 多文件程序结构 88
- 3.7.1 多文件结构 88
- 3.7.2 预处理指令 89
- 3.7.3 多文件程序使用全局变量 92
- 3.8 命名空间 93
- 3.8.1 标准名空间 93
- 3.8.2 定义命名空间 94
- 3.8.3 使用命名空间 96
- 3.9 终止程序执行 97
- 本章小结 98
- 习题3 99
- 第4章 数组 104
- 4.1 一维数组 104
- 4.1.1 一维数组定义与初始化 104
- 4.1.2 一维数组访问 106
- 4.2 指针数组 108
- 4.2.1 指向基本数据类型的指针数组 109
- 4.2.2 指向数组的指针数组 109
- 4.2.3 指向函数的指针数组 110
- 4.3 二维数组 111
- 4.3.1 二维数组的定义与初始化 111
- 4.3.2 二维数组访问 112
- 4.4 数组作为函数参数 115
- 4.4.1 向函数传送数组元素 115
- 4.4.2 数组名作为函数参数 116
- 4.4.3 应用举例 118
- 4.5 动态存储 121
- 4.5.1 new和delete操作符 121
- 4.5.2 动态存储的应用 121
- 4.6 字符数组与字符串 124
- 4.6.1 字符串存储 124
- 4.6.2 字符串的访问 125
- 4.6.3 字符串处理函数 128
- 4.7 string类 131
- 本章小结 135
- 习题4 135
- 第5章 集合与结构 140
- 5.1 位运算 140
- 5.2 集合 144
- 5.2.1 集合的基本运算 144
- 5.2.2 集合运算的实现 145
- 5.3 结构 149
- 5.3.1 定义结构 149
- 5.3.2 访问结构 150
- 5.4 结构数组 152
- 5.5 链表 155
- 本章小结 162
- 习题5 163
- 第6章 类与对象 167
- 6.1 类和对象的定义与访问 167
- 6.1.1 定义类和对象 168
- 6.1.2 访问对象成员 170
- 6.1.3 this指针 170
- 6.2 构造函数和析构函数 171
- 6.2.1 简单构造函数和析构函数 171
- 6.2.2 带参数的构造函数 172
- 6.2.3 重载构造函数 174
- 6.2.4 复制构造函数 174
- 6.3 类的其他成员 179
- 6.3.1 常成员 179
- 6.3.2 静态成员 182
- 6.3.3 友元 185
- 6.4 类的包含 187
- 本章小结 190
- 习题6 190
- 第7章 运算符重载 195
- 7.1 运算符重载规则 195
- 7.1.1 重载运算符的限制 195
- 7.1.2 重载运算符的语法格式 195
- 7.2 用成员或友元函数重载运算符 197
- 7.2.1 用成员函数重载运算符 198
- 7.2.2 用友元函数重载运算符 199
- 7.3 几个典型运算符的重载 201
- 7.3.1 重载++与 201
- 7.3.2 重载赋值运算符 203
- 7.3.3 重载运算符[ ]和() 204
- 7.3.4 重载流插入和流提取运算符 205
- 7.4 类类型转换 212
- 7.4.1 构造函数进行类类型转换 212
- 7.4.2 类型转换函数 213
- 本章小结 216
- 习题7 217
- 第8章 继承 219
- 8.1 类之间的关系 219
- 8.2 基类和派生类 220
- 8.2.1 访问控制 220
- 8.2.2 重名成员 226
- 8.2.3 派生类中访问静态成员 229
- 8.3 基类的初始化 229
- 8.4 继承的应用实例 231
- 8.5 多继承 236
- 8.5.1 多继承的派生类构造和访问 236
- 8.5.2 虚继承 239
- 本章小结 242
- 习题8 242
- 第9章 虚函数与多态性 248
- 9.1 静态联编 248
- 9.2 类指针的关系 249
- 9.2.1 用基类指针引用派生类对象 249
- 9.2.2 用派生类指针引用基类对象 250
- 9.3 虚函数和动态联编 252
- 9.3.1 虚函数和基类指针 252
- 9.3.2 虚函数的重载特性 255
- 9.3.3 虚析构函数 256
- 9.4 纯虚函数和抽象类 258
- 9.4.1 纯虚函数 258
- 9.4.2 抽象类 259
- 9.5 虚函数和多态性的应用 261
- 9.5.1 一个实例 261
- 9.5.2 异质链表 265
- 本章小结 267
- 习题9 268
- 第10章 模板 270
- 10.1 什么是模板 270
- 10.2 函数模板 270
- 10.2.1 模板说明 270
- 10.2.2 函数模板与模板函数 271
- 10.2.3 重载函数模板 273
- 10.3 类模板 274
- 10.3.1 类模板与模板类 274
- 10.3.2 类模板作为函数参数 276
- 10.3.3 在类层次中的类模板 277
- 10.3.4 类模板与友元 279
- 10.3.5 类模板与静态成员 281
- 10.4 标准模板 282
- 10.4.1 容器 283
- 10.4.2 迭代器 286
- 10.4.3 算法 288
- 本章小结 291
- 习题10 292
- 第11章 输入/输出流 294
- 11.1 流类和流对象 294
- 11.1.1 流类库 294
- 11.1.2 头文件 295
- 11.2 标准流和流操作 295
- 11.2.1 标准流 296
- 11.2.2 输入流操作 296
- 11.2.3 输出流操作 298
- 11.2.4 流错误状态 299
- 11.3 格式控制 300
- 11.3.1 设置标志字 300
- 11.3.2 格式控制符 303
- 11.4 串流 305
- 11.5 文件处理 306
- 11.5.1 文件和流 306
- 11.5.2 打开和关闭文件 307
- 11.5.3 文本文件 309
- 11.5.4 二进制数据文件 312
- 本章小结 321
- 习题11 321
- 第12章 异常处理 325
- 12.1 C++的异常处理机制 325
- 12.2 异常处理的实现 326
- 12.2.1 异常处理程序 326
- 12.2.2 带异常说明的函数原型 329
- 12.2.3 再抛出异常传递 330
- 12.2.4 创建对象的异常处理 330
- 本章小结 331
- 习题12 331
- 附录A 控制台程序设计 333
- A.1 Visual Studio 2010集成开发环境 333
- A.1.1 主窗口 333
- A.1.2 菜单栏 334
- A.1.3 工具栏 335
- A.1.4 项目、解决方案和项目工作区 335
- A.1.5 Visual C++ 2010帮助系统的使用 337
- A.2 建立控制台应用程序 337
- A.2.1 创建简单应用程序 337
- A.2.2 程序调试 342
- A.2.3 建立多文件应用程序 345
- A.2.4 命令行方式执行程序 349
- 实践题 351
- 附录B 常用库函数 354
- 附录C C++关键字表 365
- 附录D ASCII码字符集 366