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

  • 购买积分:14 如何计算积分?
  • 作  者:朱红,赵琦,王庆宝编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302422833
  • 页数:414 页
图书介绍:

第1章 C++基础知识 1

1.1 C++与Visual C++语言 1

1.2 C++程序简介 2

1.2.1 一个简单的程序 2

1.2.2 C++程序的基本要素 2

1.2.3 C++程序的书写规则 3

1.3 C++程序的开发步骤与上机实践 4

1.3.1 C++程序的开发步骤 4

1.3.2 C++程序的上机实践 4

1.4 信息在计算机中的表示 5

1.4.1 进位记数制 5

1.4.2 带符号数在计算机中的表示 9

1.4.3 字符在计算机中的表示 13

练习题 14

第2章 基本数据类型与表达式 16

2.1 数据类型 16

2.2 常量和变量 17

2.2.1 常量 17

2.2.2 变量 18

2.3 整型数据 20

2.3.1 整型常量 20

2.3.2 整型变量 21

2.4 浮点型数据 23

2.4.1 浮点型常量 23

2.4.2 浮点型变量 23

2.5 字符型数据 24

2.5.1 字符型常量 24

2.5.2 字符型变量 25

2.5.3 字符串常量 27

2.6 类型转换 27

2.6.1 不同类型数据间的混合算术运算 27

2.6.2 赋值时的类型转换 28

2.6.3 强制类型转换符 31

2.7 运算符与表达式 32

2.7.1 算术运算符与算术表达式 32

2.7.2 关系运算符与关系表达式 32

2.7.3 逻辑运算符与逻辑表达式 33

2.7.4 赋值运算符与赋值表达式 35

2.7.5 自增运算符与自减运算符 36

2.7.6 逗号运算符与逗号表达式 38

2.7.7 sizeof()运算符及表达式 38

2.7.8 表达式中运算符的运算顺序 38

2.8 简单的输入/输出语句 39

2.8.1 十进制整数、实数与字符数据的输入 40

2.8.2 十六进制或八进制数据的输入 42

2.8.3 数据的输出 43

练习题 44

第3章 基本流程控制结构 47

3.1 结构化程序设计基础 47

3.1.1 结构化程序设计 47

3.1.2 基本控制结构 48

3.1.3 C++语言中语句的分类 49

3.2 选择结构语句 50

3.2.1 if语句 50

3.2.2 条件运算符“?:” 55

3.2.3 switch语句 57

3.3 循环结构语句 60

3.3.1 while语句 60

3.3.2 do…while语句 62

3.3.3 for语句 64

3.3.4 3种循环的比较及适用场合 66

3.3.5 多重循环 67

3.4 控制执行顺序的语句 68

3.4.1 break语句 68

3.4.2 continue语句 70

3.4.3 goto语句 71

3.4.4 exit()和abort()函数 71

3.5 综合应用举例 72

练习题 75

第4章 函数 84

4.1 函数概述 84

4.2 函数的定义与调用 85

4.2.1 函数的定义 85

4.2.2 函数的调用 88

4.2.3 引用作为函数参数 92

4.3 函数的嵌套调用 93

4.4 函数的递归调用 94

4.5 内联函数 97

4.6 重载函数 98

4.7 带有默认参数的函数 99

4.8 局部变量和全局变量 100

4.8.1 局部变量 101

4.8.2 全局变量 102

4.9 变量的存储类别 105

4.9.1 变量的生存期和存储类别 105

4.9.2 auto型变量 105

4.9.3 static局部变量 106

4.9.4 register型变量 107

4.9.5 extern型变量 108

4.9.6 用static声明全局变量 109

4.10 内部函数和外部函数 110

4.10.1 内部函数 110

4.10.2 外部函数 111

练习题 111

第5章 编译预处理 121

5.1 宏定义 121

5.1.1 不带参数的宏定义 121

5.1.2 带参数的宏定义 123

5.2 文件包含 125

5.3 条件编译 126

练习题 128

第6章 数组 133

6.1 数组的定义和引用 133

6.1.1 一维数组的定义 133

6.1.2 一维数组的引用 134

6.1.3 一维数组的初始化 135

6.1.4 一维数组程序举例 136

6.2 二维数组的定义和引用 139

6.2.1 二维数组的定义 139

6.2.2 二维数组的引用 139

6.2.3 二维数组的初始化 139

6.2.4 二维数组程序举例 140

6.3 数组作为函数的参数 142

6.3.1 数组元素作为函数的实参 142

6.3.2 数组名作为函数的实参 143

6.3.3 二维数组作为函数的参数 147

6.4 字符数组 148

6.4.1 字符数组的定义 148

6.4.2 字符数组的初始化 149

6.4.3 字符串和字符串结束标志 150

6.4.4 字符数组的输入/输出 150

6.4.5 字符串处理函数 152

6.4.6 字符数组的应用举例 156

练习题 161

第7章 指针 172

7.1 指针与地址 172

7.1.1 指针的概念 172

7.1.2 指针变量的定义 173

7.1.3 指针变量作为函数参数 176

7.2 指针与一维数组 177

7.2.1 通过指针引用一维数组中的元素 177

7.2.2 通过指针在函数间传递一维数组 179

7.3 字符指针与字符串 180

7.3.1 字符数组与字符指针 180

7.3.2 字符串操作的特点 181

7.4 指针与函数 183

7.4.1 函数指针变量 183

7.4.2 指针型函数 186

7.5 指针与二维数组 187

7.5.1 二维数组的地址 187

7.5.2 通过指针引用二维数组中的元素 190

7.6 指针数组与指向指针的指针 192

7.6.1 指针数组 192

7.6.2 指针的指针 194

7.6.3 多级指针小结 196

7.7 动态存储分配 197

练习题 199

第8章 结构体和共用体 210

8.1 结构体 210

8.1.1 结构体与结构体类型的声明 210

8.1.2 结构体类型变量 211

8.1.3 结构体数组和指针 214

8.2 链表 218

8.2.1 正向链表 218

8.2.2 建立反向链表 229

8.3 共用体 235

8.3.1 共用体类型与共用体变量 235

8.3.2 共用体变量的引用 236

8.4 枚举 237

8.5 用typedef声明类型 239

练习题 240

第9章 类和对象 247

9.1 面向对象程序设计概述 247

9.1.1 面向对象 247

9.1.2 面向对象中的主要概念 248

9.1.3 面向对象的程序设计 249

9.2 类的声明和对象的定义 250

9.2.1 类的声明 250

9.2.2 对象的定义 252

9.2.3 对象成员的访问 253

9.2.4 用类的指针访问对象成员 255

9.2.5 用对象的引用变量访问对象成员 256

9.3 成员函数 256

9.3.1 重载类的成员函数 256

9.3.2 默认参数的类的成员函数 257

9.4 this指针及在成员函数中访问成员函数 258

9.4.1 this指针 258

9.4.2 在成员函数中访问成员函数 261

9.5 类和对象的应用举例 262

练习题 266

第10章 构造函数和析构函数 271

10.1 构造函数 271

10.1.1 构造函数的作用 271

10.1.2 构造函数的重载 272

10.1.3 默认的构造函数 273

10.2 析构函数 275

10.3 构造对象的顺序 278

10.4 对象的动态建立和释放 279

10.5 复制构造函数 280

10.6 临时对象 285

10.7 面向对象的程序设计应用举例 286

练习题 292

第11章 静态成员与友元 301

11.1 静态成员 301

11.2 静态成员函数 302

11.3 友元函数 303

11.3.1 将普通函数声明为友元函数 303

11.3.2 将另一类的成员函数声明为类的友元函数 304

11.4 友元类 306

练习题 307

第12章 运算符重载 313

12.1 运算符重载的概念 313

12.2 将运算符重载为成员函数 315

12.2.1 将双目运算符重载为成员函数 315

12.2.2 将单目运算符重载为成员函数 317

12.2.3 将赋值运算符重载为成员函数 320

12.3 将运算符重载为友元函数 326

12.3.1 将双目运算符重载为友元函数 326

12.3.2 将单目运算符重载为友元函数 328

12.4 类型转换运算符函数 329

12.5 重载流插入和流提取运算符 331

12.6 综合实例 334

练习题 337

第13章 继承和派生 343

13.1 继承与派生基础 343

13.1.1 继承与派生的概念 343

13.1.2 派生类的定义 344

13.1.3 派生类的3种继承方式 345

13.2 派生类的构造函数和析构函数 349

13.2.1 单继承派生类的构造函数 349

13.2.2 多继承派生类的构造函数 350

13.2.3 有子对象的派生类的构造函数 352

13.3 继承的冲突与支配 354

13.3.1 冲突 354

13.3.2 支配 356

13.3.3 赋值兼容规则 357

13.4 虚基类 358

13.4.1 虚基类的定义 358

13.4.2 虚基类的初始化 359

练习题 361

第14章 虚函数 367

14.1 多态性的概念 367

14.2 虚函数简介 367

14.3 纯虚函数与抽象类 372

练习题 376

第15章 输入输出流 380

15.1 C++的输入输出流 380

15.1.1 ios类的结构 380

15.1.2 输入流 381

15.1.3 输出流 383

15.2 格式化输入与输出 384

15.2.1 输入的格式化 384

15.2.2 输出的格式化 384

15.3 文件流 386

15.3.1 文件的概念 386

15.3.2 文件的打开与关闭 387

15.3.3 对文本文件的操作 389

15.3.4 对二进制文件的操作 391

练习题 394

第16章 C++工具 398

16.1 模板 398

16.1.1 模板的概念 398

16.1.2 函数模板 399

16.1.3 类模板 400

16.2 异常处理 401

16.2.1 异常的概念 401

16.2.2 异常处理的机制 402

练习题 405

附录A ASCⅡ字符集及其代码对照表 407

附录B 库函数 409

参考文献 413