《C++高级程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:田秀霞编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302292845
  • 页数:447 页
图书介绍:本书共分十三章,全面阐述了C++语言使用的相关规范和面向对象的设计思想,包括绪论(C++及其编译环境概述)、数据类型与表达式、控制语句、函数、数组、指针与引用、自定义数据类型、类、静态成员与友元、继承与派生、多态、输入输出流、模板与异常处理、案例——管理系统等。本书各章结合基础知识与程序实际案例,以本章小结归纳要点,以习题与上机练习检验学习效果,并在教授过程中提供注意事项及编程技巧。

第1章 绪论 1

1.1程序设计语言的演变 1

1.2 C+++程序设计语言的发展 2

1.3面向过程程序设计 2

1.4面向对象程序设计 3

1.5计算机信息存储与表示 4

1.5.1数据在计算机中的表示 4

1.5.2不同形式数据的表示方法 5

1.6 C+++程序的编程流程 6

1.7编译一个简单的程序 7

1.8 C+++的词法和规则 10

1.8.1 C+++的字符集 10

1.8.2词与词法规则 10

1.9 C+++编译环境 11

1.9.1 VC+++ 6.0的集成开发环境 11

1.9.2第一个标准C+++程序 12

本章小结 17

习题1 18

第2章 数据类型与基本输入输出 20

2.1数据类型基本概念 20

2.1.1 C+++数据类型种类 21

2.1.2整型和实型 21

2.1.3数值的范围 21

2.1.4有符号数和无符号数 23

2.1.5有符号数和无符号数的范围区别 24

2.1.6本章用到的关键字 24

2.2 C+++基本数据类型 25

2.2.1整型、实型和字符型 26

2.2.2布尔型和无类型 27

2.2.3为数据类型起别名 27

2.2.4 sizeof的使用 27

2.3常量 27

2.3.1整型常量 28

2.3.2字符常量和字符串常量 29

2.3.3逻辑常量 31

2.3.4枚举常量 31

2.3.5实型常量 33

2.3.6地址常量 34

2.4符号常量 34

2.4.1为什么需要符号常量 34

2.4.2 const与#define的比较 34

2.5变量 35

2.5.1变量概述 35

2.5.2变量声明 35

2.5.3赋值语句 36

2.5.4变量的初始化 37

2.6输入和输出 38

2.6.1 cout输出流 39

2.6.2 cin输入流 39

2.7运算符和表达式 41

2.7.1 C+++语言的运算符种类 41

2.7.2算术运算符 43

2.7.3赋值运算符 46

2.7.4关系运算符 48

2.7.5逻辑运算符 49

2.7.6位运算符 51

2.7.7条件运算符 53

2.7.8逗号运算符 54

2.7.9运算符优先级及结合性 56

本章小结 57

习题2 58

第3章 控制语句 61

3.1顺序控制语句 62

3.1.1表达式语句 62

3.1.2函数调用语句 62

3.1.3复合语句 63

3.1.4空语句 63

3.1.5赋值语句 63

3.2选择控制语句 65

3.2.1 if...else语句和if语句 65

3.2.2多路分支 69

3.2.3程序应用举例 78

3.3循环控制语句 81

3.3.1 while语句 81

3.3.2 do...while语句 83

3.3.3 for语句 85

3.3.4三种循环语句的选用 89

3.3.5循环的嵌套 89

3.4跳转语句 92

3.4.1 break语句 92

3.4.2 continue语句 93

3.4.3 goto语句 94

本章小结 95

习题3 95

第4章 函数与预处理 99

4.1自顶向下程序设计 99

4.2预定义函数 100

4.3自定义函数 101

4.3.1函数定义 102

4.3.2函数返回值 104

4.3.3函数参数和传值调用 105

4.3.4函数定义和函数声明的区别 107

4.4函数重载 108

4.5带默认参数的函数 110

4.6内联函数 112

4.7函数的嵌套调用 114

4.8函数的递归调用 116

4.9局部变量与全局变量 118

4.10变量的存储类别 120

4.10.1自动变量 122

4.10.2静态局部变量 123

4.10.3寄存器变量 124

4.10.4外部变量和静态外部变量 124

4.11预处理命令 125

4.11.1文件包含 125

4.11.2条件编译 130

本章小结 131

习题4 132

第5章 数组 135

5.1一维数组 135

5.1.1声明和引用一维数组 135

5.1.2数组的初始化 138

5.1.3数组下标越界 139

5.1.4一维数组和循环 139

5.1.5一维数组的应用 142

5.2多维数组 144

5.2.1声明和引用二维数组 144

5.2.2二维数组的初始化 145

5.2.3二维数组的应用 148

5.2.4多维数组简单介绍 150

5.3字符数组 151

5.3.1声明和引用一维字符数组 151

5.3.2一维字符数组的初始化 152

5.3.3多维字符数组 154

5.3.4字符数组的输入输出 154

5.3.5字符数组处理函数 155

5.4数组在函数中的应用 157

5.4.1数组元素作为函数参数 157

5.4.2整个数组作为函数参数 157

本章小结 159

习题5 160

第6章 指针与引用 165

6.1指针与指针变量 165

6.1.1指针的概念 165

6.1.2定义指针变量 168

6.1.3引用指针变量 170

6.1.4无名变量 172

6.1.5指针作为函数参数 173

6.2数组与指针 177

6.2.1指向数组元素的指针 177

6.2.2指针变量作函数参数接收数组地址 182

6.3字符串与指针 185

6.4 const修饰指针 187

6.4.1指向常量的指针 187

6.4.2指针常量 188

6.5引用 188

6.5.1引用的基本概念 189

6.5.2引用应用 190

6.6动态数组 195

6.7其他指针 198

6.7.1函数指针 198

6.7.2指向指针的指针 199

6.7.3指针数组 200

本章小结 202

习题6 202

第7章 自定义数据类型 206

7.1结构体类型 206

7.1.1结构体类型的定义 206

7.1.2结构体变量的声明、初始化及使用 208

7.1.3结构体数组的定义、初始化及使用 212

7.1.4结构体作为函数参数 215

7.2共用体 216

7.2.1共用体变量的声明与初始化 217

7.2.2共用体变量的使用 217

7.3枚举类型 218

7.3.1枚举类型变量的声明与初始化 219

7.3.2枚举类型变量的使用 219

7.4 typedef声明 220

本章小结 222

习题7 222

第8章类 226

8.1类的定义 226

8.1.1类类型定义 227

8.1.2对象的声明 228

8.1.3类的访问属性 230

8.1.4取值函数和赋值函数 234

8.1.5内联成员函数 237

8.1.6 this指针 238

8.2构造函数和析构函数 240

8.2.1构造函数 240

8.2.2拷贝构造函数 246

8.2.3析构函数 251

8.3组合对象 253

8.3.1组合对象概述 253

8.3.2构造函数和析构函数在组合对象中的使用 257

8.4对象数组 260

8.4.1对象数组的定义 260

8.4.2对象数组的初始化 260

8.5对象指针 262

8.5.1对象指针的声明与使用 262

8.5.2指向对象成员的指针 262

本章小结 264

习题8 264

第9章 静态成员与友元 271

9.1变量的使用 271

9.1.1作用域 272

9.1.2可见性 273

9.1.3生存期 274

9.2类的静态成员 276

9.2.1静态数据成员 276

9.2.2静态成员函数 278

9.3类的友元 280

9.3.1友元函数 280

9.3.2友元类 284

9.4 const修饰符 286

9.4.1 const修饰变量 286

9.4.2 const修饰引用 287

9.4.3 const修饰对象 287

9.4.4 const修饰类成员 288

本章小结 291

习题9 292

第10章 继承与派生 300

10.1类的继承与派生 300

10.1.1继承与派生的概念 300

10.1.2派生类定义 301

10.1.3继承方式 304

10.1.4派生类中的构造函数 310

10.1.5重定义成员函数 316

10.1.6构造函数和析构函数的调用顺序 317

10.2二义性问题 320

10.3虚基类 323

10.3.1虚基类的声明 323

10.3.2虚基类的构造函数 324

本章小结 326

习题10 327

第11章 多态性 332

11.1多态性概述 332

11.1.1 upcast 332

11.1.2后期绑定与虚函数 335

11.1.3重新定义和超载(覆盖) 340

11.1.4 VPTR和VTABLE 340

11.1.5关于运算效率的考虑 341

11.1.6纯虚函数与抽象类 342

11.1.7纯虚函数的定义 345

11.2运算符重载 348

11.2.1重载运算符 349

11.2.2成员函数实现运算符重载 352

11.2.3友元函数实现运算符重载 353

11.2.4运算符重载的规则 354

11.2.5重载一元运算符 355

11.2.6>>和<<运算符重载 359

11.2.7重载运算符的设计规则 364

本章小结 364

习题11 365

第12章 输入输出流 371

12.1流的概念 371

12.1.1 C+++的I/O流类库 372

12.1.2与I/O流类库有关的头文件 373

12.1.3 iostream头文件中的重载运算符 374

12.2输入输出格式控制 376

12.2.1 ios类中的枚举常量 376

12.2.2 ios类中的成员函数 378

12.2.3 iomainp头文件中的控制符 381

12.3字符I/O 383

12.3.1 get函数 383

12.3.2 put函数 385

12.3.3 getline函数 386

12.4其他成员函数 388

12.4.1 ignore函数 388

12.4.2 eof函数 388

12.4.3 peek函数 389

12.4.4 putback函数 389

12.5文件和文件I/O 390

12.5.1文件的概念 390

12.5.2文件流类与文件流对象 391

12.5.3文件的打开与关闭 392

12.5.4 I/O对象的条件状态 397

12.5.5 ASCII文件的访问 399

12.5.6二进制文件的访问(选读) 401

本章小结 409

习题12 410

第13章 模板 414

13.1函数模板 414

13.2类模板 420

本章小结 424

习题13 424

第14章 异常处理 428

14.1 C+++错误处理 428

14.2 C+++异常处理机制 429

14.2.1异常处理机制的三部分 429

14.2.2异常处理的语法 431

14.2.3自定义异常类 435

14.2.4多个throw和catch 437

14.2.5 catch(…)语句 439

14.2.6异常规范 441

本章小结 443

习题14 443

参考文献 447