当前位置:首页 > 工业技术
C++高级程序设计
C++高级程序设计

C++高级程序设计PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:田秀霞主编;孙超超,张安勤,王真等副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302429807
  • 页数:575 页
图书介绍:本书的组织上强调编程的思维,不过于强调知识点本身。针对问题,首先分析的是考虑问题的角度和解题的思路,这有助于帮助培养学生分析问题、解决问题的能力。另外,学生在编程中,经常会出现想当然的情况,书中根据作者多年来教学的经验,针对学生容易出现的问题,特别进行了讲解与提醒。通过分析出错的原因、指出本质上的错误,以培养学生其转变思路,从计算机理解程序的角度来考虑问题。
《C++高级程序设计》目录

第1章 绪论 1

1.1 计算机程序设计语言 1

1.1.1 程序设计语言的演变 1

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

1.2 程序设计方法 2

1.2.1 面向过程程序设计 2

1.2.2 面向对象程序设计 3

1.3 计算机信息的存储与表示 4

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

1.3.2 数据单位 5

1.3.3 不同形式数据的表示方法 6

1.4 C++程序结构与开发过程 7

1.4.1 C++程序的开发流程 7

1.4.2 第一个C++程序 8

1.4.3 C++程序设计环境 11

1.4.4 带命令行参数的程序 16

1.5 C++的词和规则 18

1.5.1 C++的字符集 18

1.5.2 词与词法规则 18

1.6 编程实例——程序设计方法比较 19

习题1 23

第2章 数据类型、表达式与基本输入输出 26

2.1 数据类型基本概念 27

2.1.1 C++数据类型的种类 27

2.1.2 整型和实型 28

2.1.3 数值的范围 28

2.1.4 有符号数和无符号数 30

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

2.1.6 本章用到的关键字 31

2.2 C++基本数据类型 31

2.2.1 整型、实型和字符型 32

2.2.2 布尔型和无类型 33

2.2.3 为数据类型起别名 33

2.2.4 sizeof的使用 34

2.3 变量 34

2.3.1 变量概述 34

2.3.2 变量的定义 34

2.3.3 赋值语句 35

2.3.4 变量的初始化 36

2.4 常量 38

2.4.1 整型常量 38

2.4.2 字符常量和字符串常量 39

2.4.3 逻辑常量 41

2.4.4 枚举常量 42

2.4.5 实型常量 44

2.4.6 地址常量 44

2.5 符号常量 45

2.5.1 为什么需要符号常量 45

2.5.2 const与#define的比较 46

2.6 基本输入输出 46

2.6.1 cout输出流 46

2.6.2 cin输入流 47

2.7 运算符和表达式 49

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

2.7.2 算术运算符 50

2.7.3 赋值运算符 53

2.7.4 关系运算符 56

2.7.5 逻辑运算符 57

2.7.6 位运算符 58

2.7.7 条件运算符 61

2.7.8 逗号运算符 62

2.7.9 运算符的优先级及结合性 63

2.8 编程实例——获取IP地址并计算网络号等信息 64

2.8.1 背景 65

2.8.2 源代码及程序解释 66

习题2 69

第3章 语句和控制结构 74

3.1 顺序结构 75

3.1.1 表达式语句 75

3.1.2 函数调用语句 75

3.1.3 复合语句 76

3.1.4 空语句 76

3.1.5 赋值语句 76

3.2 选择结构 78

3.2.1 if…else语句和if语句 78

3.2.2 多路分支 82

3.2.3 程序应用举例 91

3.3 循环结构 93

3.3.1 while语句 93

3.3.2 do…while语句 95

3.3.3 for语句 97

3.3.4 3种循环语句的选用 100

3.3.5 循环的嵌套 100

3.4 控制转移 103

3.4.1 break语句 103

3.4.2 continue语句 104

3.4.3 goto语句 105

3.4.4 return语句 106

3.5 编程实例——凯撒加/解密和维吉尼亚加/解密 106

3.5.1 背景 106

3.5.2 源代码及程序解释 106

习题3 111

第4章 函数 118

4.1 函数概述 118

4.2 预定义函数 119

4.3 自定义函数 121

4.3.1 函数的定义 121

4.3.2 函数的返回值 123

4.3.3 函数参数和传值调用 124

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

4.4 函数的重载 127

4.5 带默认参数的函数 129

4.6 内联函数 131

4.7 函数的嵌套调用 133

4.8 函数的递归调用 134

4.9 局部变量与全局变量 136

4.10 变量的存储类别 139

4.10.1 自动变量 140

4.10.2 静态局部变量 141

4.10.3 寄存器变量 142

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

4.11 预处理命令 143

4.11.1 文件包含 143

4.11.2 条件编译 146

4.12 编程实例——Hanoi(汉诺)塔问题 148

习题4 150

第5章 数组 153

5.1 一维数组 154

5.1.1 定义和引用一维数组 154

5.1.2 数组的初始化 156

5.1.3 数组下标越界 157

5.1.4 一维数组和循环 157

5.1.5 一维数组的应用 160

5.2 多维数组 162

5.2.1 定义和引用二维数组 163

5.2.2 二维数组的初始化 164

5.2.3 二维数组的应用 166

5.2.4 多维数组简单介绍 168

5.3 字符数组 169

5.3.1 定义和引用一维字符数组 169

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

5.3.3 多维字符数组 171

5.3.4 字符数组的输入与输出 172

5.3.5 字符数组处理函数 173

5.4 string类型 175

5.4.1 定义和初始化string类型变量 175

5.4.2 string对象的使用 176

5.5 数组在函数中的应用 177

5.5.1 数组元素作为函数参数 177

5.5.2 整个数组作为函数参数 178

5.6 编程实例——大整数加减运算 180

5.6.1 设计思路 180

5.6.2 源代码和程序解释 180

习题5 189

第6章 指针和引用 198

6.1 指针与指针变量 198

6.1.1 指针的概念 198

6.1.2 定义指针变量 201

6.1.3 引用指针变量 203

6.1.4 无名变量 205

6.1.5 指针作为函数参数 206

6.2 数组与指针 210

6.2.1 指向数组元素的指针 210

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

6.3 字符串与指针 217

6.4 const修饰指针 219

6.4.1 指向常量的指针 219

6.4.2 指针常量 220

6.5 引用 221

6.5.1 引用的基本概念 221

6.5.2 引用的应用 223

6.6 动态数组 227

6.7 其他指针 230

6.7.1 函数指针 230

6.7.2 指向指针的指针 231

6.7.3 指针数组 232

6.8 编程实例——选择法排序 234

习题6 235

第7章 自定义数据类型 239

7.1 结构体类型 240

7.1.1 结构体类型的声明 240

7.1.2 结构体变量的定义、初始化及使用 241

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

7.1.4 结构体作为函数参数 248

7.2 共用体 249

7.2.1 共用体变量的定义与初始化 250

7.2.2 共用体变量的使用 251

7.3 枚举类型 252

7.3.1 枚举类型变量的定义与初始化 252

7.3.2 枚举类型变量的使用 253

7.4 typedef声明 254

7.5 编程实例——递归下降语法分析器 255

7.5.1 算法介绍 255

7.5.2 程序源代码 256

习题7 260

第8章 类 265

8.1 类的声明 266

8.1.1 类类型的声明 266

8.1.2 对象的定义 268

8.1.3 类的访问属性 269

8.1.4 取值函数和赋值函数 273

8.1.5 内联成员函数 276

8.1.6 this指针 277

8.2 构造函数和析构函数 278

8.2.1 构造函数 279

8.2.2 拷贝构造函数 284

8.2.3 析构函数 289

8.3 组合对象 291

8.3.1 组合对象概述 291

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

8.4 对象数组 297

8.4.1 对象数组的定义 298

8.4.2 对象数组的初始化 298

8.5 对象指针 299

8.5.1 对象指针的定义与使用 300

8.5.2 指向对象成员的指针 300

8.6 编程实例——学生成绩排名 301

8.6.1 算法介绍 302

8.6.2 程序源代码 303

习题8 309

第9章 静态成员与友元 318

9.1 变量的使用 318

9.1.1 作用域 319

9.1.2 可见性 321

9.1.3 生存期 322

9.2 类的静态成员 323

9.2.1 静态数据成员 324

9.2.2 静态成员函数 325

9.3 类的友元 328

9.3.1 友元函数 328

9.3.2 友元类 331

9.4 const修饰符 333

9.4.1 const修饰变量 333

9.4.2 const修饰引用 334

9.4.3 const修饰对象 335

9.4.4 const修饰类中的成员 335

9.5 编程实例——缓冲区溢出 339

9.5.1 背景 339

9.5.2 程序源代码 340

习题9 342

第10章 运算符重载 352

10.1 重载二元运算符 352

10.1.1 成员函数实现运算符重载 355

10.1.2 友元函数实现运算符重载 356

10.2 重载一元运算符 357

10.3 >>和<<运算符重载 361

10.3.1 <<运算符重载 361

10.3.2 >>运算符重载 363

10.4 重载运算符限制与设计规则 365

10.5 编程实例——矩阵及向量间的运算 366

10.5.1 背景 366

10.5.2 程序源代码 367

习题10 380

第11章 继承与派生 384

11.1 类的继承与派生 384

11.1.1 继承与派生的概念 385

11.1.2 派生类的声明 385

11.1.3 继承方式 388

11.1.4 派生类中的构造函数和析构函数 393

11.1.5 重定义成员函数 399

11.1.6 构造函数和析构函数的调用顺序 400

11.2 二义性问题 402

11.3 虚基类 405

11.3.1 虚基类的声明 406

11.3.2 虚基类的构造函数 407

11.4 编程实例——银行账户管理系统 409

11.4.1 需求分析与数据结构设计 409

11.4.2 程序源代码 410

习题11 419

第12章 多态 426

12.1 upcast 426

12.2 后期绑定与虚函数 429

12.3 重新定义和超载 433

12.4 VPTR和VTABLE 434

12.5 关于运算效率的考虑 434

12.6 纯虚函数与抽象类 435

12.7 纯虚函数的定义 437

12.8 编程实例——虚函数实现求不同图形的面积 441

习题12 444

第13章 输入输出流 450

13.1 流的概念 450

13.1.1 与I/O流类库有关的头文件 451

13.1.2 iostream头文件中的重载运算符 452

13.2 输入输出格式控制 453

13.2.1 ios类中的枚举常量 453

13.2.2 ios类中的成员函数 455

13.2.3 iomanip头文件中的控制符 457

13.3 字符I/O 459

13.3.1 get函数 460

13.3.2 put函数 462

13.3.3 getline函数 463

13.4 其他成员函数 465

13.4.1 ignore函数 465

13.4.2 eof函数 465

13.4.3 peek函数 466

13.4.4 putback函数 466

13.5 文件和文件I/O 467

13.5.1 文件的概念 467

13.5.2 文件流类与文件流对象 468

13.5.3 文件的打开与关闭 469

13.5.4 I/O对象的条件状态 473

13.5.5 ASCII文件的访问 475

13.5.6 二进制文件的访问(选读) 476

13.6 编程实例——ini文件的读/写 484

13.6.1 ini文件结构 484

13.6.2 源代码和程序解释 485

习题13 490

第14章 模板 496

14.1 函数模板 496

14.1.1 函数模板的定义 497

14.1.2 函数模板的应用 498

14.2 类模板 502

14.2.1 类模板的定义 502

14.2.2 类模板的应用 504

14.3 编程实例——复数类的定义和实现 506

习题14 509

第15章 链表 512

15.1 链表概述 512

15.2 单链表类的定义 513

15.3 链表结点的访问 514

15.4 链表结点的插入 514

15.5 链表结点的删除 516

15.6 链表实例——简单的链表操作 518

习题15 520

第16章 异常处理 522

16.1 C++错误处理 522

16.2 C++异常处理机制 523

16.2.1 异常处理机制的3个部分 523

16.2.2 异常处理的语法 525

16.2.3 自定义异常类 528

16.2.4 多个throw和catch 530

16.2.5 catch(…) 533

16.2.6 异常规范 533

16.3 编程实例——病毒的自我复制 536

习题16 539

第17章 项目开发指南 544

17.1 项目管理基础 544

17.1.1 项目与项目管理 544

17.1.2 项目流程 547

17.1.3 项目实施管理 550

17.2 项目开发团队 552

17.2.1 项目团队组成 552

17.2.2 项目团队要求 554

17.3 项目的研发 555

17.3.1 软件版本控制 555

17.3.2 程序编写规范 555

17.3.3 功能设计说明书的撰写 562

17.3.4 程序设计与实现 564

17.3.5 单元测试 570

17.3.6 提交代码 571

17.3.7 功能维护 572

习题17 573

参考文献 575

相关图书
作者其它书籍
返回顶部