《C++程序设计语言 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:成颖主编
  • 出 版 社:南京:东南大学出版社
  • 出版年份:2008
  • ISBN:9787564110949
  • 页数:401 页
图书介绍:本书是基于第一版的修订。继承了第一版提供完整实例的特点,例子全新并紧贴学生实际,向读者介绍主要支持结构化程序设计的C语言,以及在C语言基础上进行扩展的支持面向对象程序设计的C++语言。在介绍C/C++语言的同时,还介绍了结构化程序设计以及面向对象程序设计的主要内容。

1 程序设计概述 1

1.1 程序设计语言概述 1

1.1.1 机器语言 1

1.1.2 汇编语言 2

1.1.3 高级语言 2

1.2 程序设计方法概述 3

1.2.1 手工艺式方法 3

1.2.2 结构化方法 3

1.2.3 面向对象方法 4

1.3 集成开发环境概述 5

1.4 C++语言概述 5

1.4.1 C语言发展简史 5

1.4.2 C++语言的发展历史 7

1.5 简单程序示例 8

1.6 结构化与面向对象程序比较 9

1.6.1 结构化程序示例 10

1.6.2 面向对象程序示例 12

1.6.3 二者的比较 14

1.6.4 书写程序时应遵循的规则 15

1.7 C++开发环境的基本知识 15

2 基本数据类型、运算符、表达式 20

2.1 C++语言字符集 20

2.2 C++语言词汇 20

2.2.1 标识符 20

2.2.2 关键字 21

2.2.3 运算符 22

2.2.4 分隔符 22

2.2.5 常量 22

2.2.6 注释符 22

2.3 数据类型 22

2.3.1 整型 23

2.3.2 实型 24

2.3.3 字符型 24

2.4 变量 25

2.5 常量 26

2.5.1 整型常量 26

2.5.2 实型常量 27

2.5.3 字符型常量 27

2.5.4 字符串常量 28

2.5.5 符号常量 29

2.5.6 const常量 30

2.5.7 枚举 30

2.6 简单的输入输出 31

2.6.1 字符的输入输出 32

2.6.2 数值型数据的输入输出 33

2.7 运算符 35

2.7.1 算术运算符 36

2.7.2 关系运算符 38

2.7.3 逻辑运算符 40

2.7.4 自增、自减运算符 42

2.7.5 位运算符 43

2.7.6 赋值运算符 45

2.7.7 条件运算符 46

2.7.8 sizeof运算符 48

2.7.9 逗号运算 48

2.7.10 优先级与结合性 48

2.8 基本数据类型混合运算和类型转换 50

2.8.1 自动类型转换 50

2.8.2 强制类型转换 51

3 控制流 55

3.1 语句 55

3.1.1 表达式语句 55

3.1.2 复合语句 56

3.1.3 控制语句 56

3.1.4 空语句 57

3.2 算法和算法的表示 57

3.2.1 算法 57

3.2.2 算法的基本特征 60

3.2.3 算法的表示 61

3.3 顺序结构 63

3.4 选择结构 66

3.4.1 if语句 66

3.4.2 if…else语句 67

3.4.3 if语句的嵌套 69

3.4.4 阶梯形if…else…if语句 71

3.4.5 switch语句 73

3.5 循环语句 75

3.5.1 while语句 75

3.5.2 do…while语句 76

3.5.3 for语句 77

3.5.4 break语句 80

3.5.5 continue语句 81

3.6 结构化程序设计 83

3.6.1 自顶向下,逐步细化,模块化的设计思想 83

3.6.2 规范化的程序设计过程 84

4 函数 91

4.1 引言 91

4.2 函数声明 92

4.3 函数定义 94

4.4 函数调用 95

4.4.1 函数调用的形式及方式 95

4.4.2 函数参数与返回值 96

4.5 作用域规则 100

4.5.1 块作用域——局部变量 100

4.5.2 文件作用域——全局变量 101

4.5.3 函数原型作用域、函数作用域 103

4.6 存储类别 104

4.6.1 动态存储方式与静态存储方式 104

4.6.2 局部变量的存储方式 105

4.6.3 全局变量的存储方式 108

4.6.4 作用域与存储期小结 109

4.6.5 作用域与存储期示例 110

4.7 递归 112

4.8 编译预处理 116

4.8.1 文件包含 116

4.8.2 条件编译 118

4.8.3 带参宏定义与内联函数 119

4.9 默认参数 121

4.10 函数重载 121

4.11 程序模块化 125

5 数组 129

5.1 一维数组的定义与引用 129

5.1.1 一维数组的定义 129

5.1.2 一维数组的引用 130

5.1.3 一维数组的初始化 130

5.1.4 一维数组程序举例 132

5.2 二维数组的定义与引用 135

5.2.1 二维数组的定义 135

5.2.2 二维数组的引用 135

5.2.3 二维数组的初始化 136

5.2.4 二维数组程序举例 137

5.3 字符数组 140

5.3.1 字符数组的定义 140

5.3.2 字符数组的初始化 142

5.3.3 字符数组的引用 143

5.3.4 字符串处理函数 144

5.3.5 字符数组应用举例 147

5.4 数组与函数 148

6 指针 158

6.1 指针基础 158

6.1.1 指针、地址的概念 158

6.1.2 指针变量的定义 159

6.1.3 指针变量的引用 159

6.1.4 引用指针变量所指的变量 160

6.2 指针的运算 163

6.2.1 指针的赋值运算 163

6.2.2 指针的算术运算 165

6.2.3 指针的关系运算 166

6.3 指针与函数 167

6.4 指针与数组 170

6.4.1 指向一维数组元素的指针变量 170

6.4.2 指向多维数组的指针和指针变量 172

6.5 指针与字符串 177

6.5.1 字符串的表示形式 177

6.5.2 字符串指针作函数的参数 179

6.5.3 字符指针变量与字符数组 181

6.6 指针数组 182

6.6.1 指针数组的概念 182

6.6.2 指向指针的指针 185

6.6.3 指针数组作main函数的形参 186

6.7 指向函数的指针 187

6.7.1 定义和使用 187

6.7.2 指向函数的指针变量作为函数的参数 189

6.7.3 返回指针值的函数 191

6.8 const指针 192

6.9 引用 195

7 结构体与动态数据类型 200

7.1 结构体基础 200

7.1.1 结构体的定义 200

7.1.2 结构体变量的定义 201

7.1.3 结构体类型变量的引用 203

7.1.4 结构体变量的初始化 203

7.1.5 结构体数组 204

7.1.6 类型定义 208

7.2 结构体与函数 210

7.2.1 结构体变量作函数参数 210

7.2.2 返回结构体的函数 210

7.3 自引用结构体 213

7.3.1 动态数据结构体和动态存储分配 213

7.3.2 用指针处理链表 215

7.4 联合体 221

7.4.1 联合体变量的定义 222

7.4.2 联合体变量的引用 224

7.5 位域(位段) 225

8 封装性 230

8.1 概述 230

8.2 类的定义 231

8.2.1 引子 231

8.2.2 类的定义格式 233

8.2.3 数据成员 236

8.2.4 成员函数的定义 237

8.2.5 创建类的对象 238

8.2.6 类作用域、类成员的访问 239

8.2.7 构造函数 240

8.2.8 析构函数 242

8.2.9 拷贝构造函数 245

8.3 常类型(const)成员 248

8.3.1 const对象 248

8.3.2 const数据成员 248

8.3.3 const成员函数 250

8.4 this指针 252

8.5 静态成员(static) 254

8.5.1 静态数据成员 256

8.5.2 静态成员函数 258

8.6 友元(friend) 261

8.6.1 问题的提出 261

8.6.2 友元函数 261

8.6.3 类成员函数作为友元函数 263

8.6.4 友元类 264

8.7 指向数据成员和成员函数的指针 265

8.8 程序的模块化 266

9 继承性 280

9.1 引言 280

9.1.1 继承机制基础 280

9.1.2 基类与派生类的关系 281

9.2 单继承 282

9.2.1 派生类的定义 282

9.2.2 派生类对基类的访问权 283

9.2.3 派生类的构造函数与析构函数 285

9.3 多继承 291

9.3.1 概述 291

9.3.2 多继承的构造函数与析构函数 293

9.3.3 二义性问题 297

9.4 虚基类 300

9.4.1 虚基类的声明 300

9.4.2 虚基类的构造函数 301

9.5 复合 307

10 多态性——运算符重载 312

10.1 引子 312

10.2 定义 316

10.3 二元运算符重载 317

10.3.1 成员函数重载 317

10.3.2 友元函数重载 322

10.3.3 重载流插入和流提取运算符 326

10.4 单目运算符重载 328

10.5 一些比较特殊的运算符 331

10.5.1 下标运算符重载 332

10.5.2 赋值运算符 335

10.6 类型之间的转换 339

10.6.1 转换构造函数 339

10.6.2 转换运算符 340

11 多态性——虚函数、模板 344

11.1 静态联编与动态联编 344

11.1.1 普通对象的指针 344

11.1.2 静态联编 345

11.1.3 虚函数 348

11.1.4 动态联编 350

11.1.5 虚析构函数 351

11.1.6 纯虚函数和抽象类 355

11.2 模板 361

11.2.1 函数模板 361

11.2.2 类模板 362

12 面向对象的I/O 371

12.1 流类库 371

12.1.1 什么是流 371

12.1.2 类库基本结构 372

12.2 标准设备I/O 374

12.2.1 标准设备输出 374

12.2.2 标准设备输入 375

12.3 格式化I/O 376

12.3.1 流状态控制 376

12.3.2 格式控制成员函数 377

12.3.3 操纵子 383

12.4 文件I/O 385

12.4.1 概述 385

12.4.2 文本文件I/O 387

12.4.3 二进制文件I/O 392

12.4.4 随机文件I/O 393

12.5 字符串流类 395

参考文献 401