图书介绍

C++编程实战宝典【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

C++编程实战宝典
  • 郝军等编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302347910
  • 出版时间:2014
  • 标注页数:550页
  • 文件大小:84MB
  • 文件页数:570页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++编程实战宝典PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 C++基础知识2

第1章 走进C++(教学视频:14分钟)2

1.1 C++的经历2

1.1.1 编程语言的发展历史2

1.1.2 C++的发展经历4

1.2 C++的特点5

1.3 C++的编译工具CodeBlocks6

1.3.1 “解释”和“编译”6

1.3.2 工具的选择6

1.3.3 Codeblocks的基本使用6

1.3.4 关于英语学习的建议9

1.4 C++程序的开发过程10

1.4.1 最简单的C++程序——Hello World程序11

1.4.2 程序结构的分析12

1.4.3 Hello World的编译与运行13

1.4.4 Hello World的运行结果14

1.5 如何学好C++14

1.6 小结15

1.7 练习题15

第2章 变量和基本数据类型(教学视频:30分钟)16

2.1 变量和常量16

2.1.1 如何使用变量16

2.1.2 变量的声明17

2.1.3 变量的赋值18

2.1.4 如何使用常量20

2.1.5 使用宏定义表示常量21

2.2 局部变量和全局变量22

2.3 无须费心的基本数据类型24

2.3.1 整型int24

2.3.2 浮点型float25

2.3.3 字符型char27

2.3.4 布尔型Boolean28

2.4 特殊的数据类型——空类型28

2.5 数据类型的绿叶——类型修饰符29

2.5.1 分辨正负号的有符号类型——signed修饰符29

2.5.2 全是正数的无符号类型——unsigned修饰符29

2.5.3 比正常数据短点的short修饰符30

2.5.4 比正常数据长点的long修饰符31

2.5.5 数据类型的转换32

2.6 小结33

2.7 练习题33

第3章 运算符和表达式(教学视频:21分钟)35

3.1 运算符和表达式35

3.2 赋值运算符和赋值表达式36

3.2.1 赋值运算的基本使用36

3.2.2 赋值运算过程中的类型转换37

3.3 算术运算符和表达式38

3.4 比较大小的关系运算符和关系表达式40

3.5 “真真假假”的逻辑运算符和逻辑表达式41

3.6 特殊的逗号运算符和逗号表达式43

3.7 “特色的”加1和减1运算44

3.8 唯一需要三个表达式的条件运算符和表达式45

3.9 取字节数操作sizeof和括号运算符46

3.9.1 取字节数操作sizeof46

3.9.2 括号运算符47

3.10 运算符的结合顺序和优先级47

3.11 小结49

3.12 练习题50

第4章 简单的输入输出函数(教学视频:20分钟)51

4.1 转义序列和格式化控制符51

4.2 格式化输出函数printf()53

4.2.1 printf()的简单应用53

4.2.2 printf()函数中表达式的计算顺序54

4.2.3 printf()函数的复杂应用55

4.3 单一字符输出函数putchar()55

4.4 格式化输入函数scanf56

4.4.1 scanf()函数的基本使用56

4.4.2 scanf()函数的使用注意事项57

4.5 单一字符输入函数getchar()59

4.6 小结60

4.7 练习题61

第5章 程序运行流程控制结构(教学视频:26分钟)62

5.1 程序流程控制结构概述62

5.1.1 顺序结构简介62

5.1.2 循环结构简介63

5.1.3 分支结构简介63

5.2 循环结构64

5.2.1 for循环结构64

5.2.2 先判断条件再去执行的while结构67

5.2.3 先执行再去判断条件的do while结构68

5.2.4 循环变量的确定70

5.2.5 示例程序——显示乘法口诀71

5.3 分支结构73

5.3.1 只能多选一的if else结构73

5.3.2 多条腿走路的switch结构77

5.3.3 分支判断条件的确定79

5.3.4 示例程序——奖金分配80

5.4 转移语句82

5.4.1 break语句及其用法82

5.4.2 continue语句及其用法83

5.4.3 goto语句及其用法85

5.5 小结85

5.6 练习题86

第6章 需要自己定义的自定义数据类型(教学视频:28分钟)87

6.1 相同数据类型数据的组合——数组87

6.1.1 数组的定义87

6.1.2 数组的初始化88

6.1.3 数组的使用92

6.1.4 数组使用示例——费波纳茨数列93

6.2 二维数组的应用94

6.2.1 二维数组的定义和初始化94

6.2.2 二维数组的使用98

6.2.3 多维数组的使用100

6.2.4 变长数组的使用101

6.2.5 数组的使用示例——杨辉三角的编写102

6.3 数据类型大杂烩——结构体103

6.3.1 结构体类型的定义104

6.3.2 结构体类型变量的使用104

6.3.3 结构体数组107

6.3.4 结构体类型变量的嵌套使用109

6.4 特殊的结构体类型——联合体110

6.4.1 联合体类型的定义111

6.4.2 联合体类型变量的使用112

6.4.3 联合体类型和结构体类型的区别114

6.5 一一列举——枚举类型115

6.6 再论数据类型转换117

6.6.1 显式转换118

6.6.2 隐式转换119

6.7 小结120

6.8 练习题121

第7章 指针和数组(教学视频:19分钟)122

7.1 地址和指针122

7.1.1 地址和指针的关系122

7.1.2 如何使用指针123

7.1.3 指针的算术运算125

7.1.4 变量的引用127

7.2 指针和数组129

7.2.1 指针和数组名的关系129

7.2.2 指针和二维数组的关系130

7.2.3 指针和数组的区别132

7.3 小结133

7.4 练习题133

第8章 指针和字符串(教学视频:15分钟)134

8.1 字符串概述134

8.2 字符数组和字符指针136

8.3 指针和字符串137

8.4 字符串处理函数138

8.4.1 字符串输入函数gets()138

8.4.2 字符串输出函数puts()139

8.4.3 字符串复制函数strcpy()和strncpy()141

8.4.4 字符串连接函数strcat()和strncat()142

8.4.5 取字符串长度函数strlen()142

8.4.6 字符串比较函数strcmp()143

8.4.7 字符大小写转换函数toupper()和tolower()144

8.5 字符串操作示例——自助提款机的密码验证的模拟操作145

8.5.1 密码验证模拟功能概述145

8.5.2 密码验证模拟设计说明145

8.5.3 参考代码147

8.5.4 程序运行结果分析148

8.6 小结149

8.7 练习题150

第9章 函数(教学视频:35分钟)151

9.1 模块化程序设计概述——搭积木式程序设计方法151

9.1.1 模块化设计的基本原理151

9.1.2 模块化设计的原则152

9.1.3 模块化设计的方法152

9.2 函数的使用154

9.2.1 函数的基本结构154

9.2.2 函数的分类157

9.2.3 自定义函数的使用158

9.2.4 形式参数和实际参数——真人和影子的区别159

9.2.5 函数参数之间的数值传递161

9.2.6 函数调用的执行过程165

9.3 函数的复杂应用166

9.3.1 数组作为函数参数166

9.3.2 指针作为函数参数168

9.3.3 可变参数宏170

9.4 函数指针的使用171

9.4.1 函数指针的定义171

9.4.2 函数指针数组的使用173

9.5 不断调用本身的递归调用175

9.6 内联函数的使用177

9.7 示例程序——数组逆序输出179

9.7.1 程序功能概述179

9.7.2 参考代码180

9.7.3 运行结果分析181

9.8 小结182

9.9 练习题182

第2篇 面向对象编程基础184

第10章 面向对象的基本知识(教学视频:11分钟)184

10.1 什么是类?什么是对象?184

10.1.1 类和对象的概念184

10.1.2 万物皆对象186

10.1.3 面向对象方法学187

10.2 面向对象的特点188

10.2.1 封装——“打包”188

10.2.2 继承——“子承父业”190

10.2.3 多态——“一母生九子”190

10.3 从面向过程到面向对象编程191

10.3.1 面向过程简介191

10.3.2 从过程到对象的演变194

10.3.3 面向对象注意的问题197

10.4 面向对象的一些流程199

10.4.1 分析(OOA)简介199

10.4.2 设计(OOD)简介200

10.4.3 编程(OOP)简介201

10.5 面向对象设计模式201

10.6 小结202

10.7 练习题202

第11章 类和对象(教学视频:20分钟)203

11.1 类203

11.1.1 如何定义类203

11.1.2 类的属性——数据成员207

11.1.3 类的方法——方法函数207

11.2 对象210

11.2.1 对象的定义210

11.2.2 对象数组和对象参数212

11.2.3 指向自身的this指针214

11.3 类成员的访问控制216

11.3.1 私有财产——私有成员216

11.3.2 亲人可以分享——保护成员218

11.3.3 我是博爱的——公有成员219

11.3.4 类成员的安全性220

11.3.5 static关键字220

11.4 构造函数和析构函数223

11.4.1 构造函数的定义及作用223

11.4.2 默认构造函数224

11.4.3 构造函数重载225

11.4.4 拷贝构造函数227

11.4.5 析构函数的定义及作用230

11.5 “特殊的漏洞”——友元函数231

11.5.1 友元函数的定义231

11.5.2 友元类234

11.6 小结235

11.7 练习题235

第12章 继承(教学视频:22分钟)237

12.1 继承的基本知识237

12.1.1 什么是继承237

12.1.2 继承的方式238

12.1.3 如何继承238

12.2 继承权限——我爸的东西我做主242

12.2.1 私有继承——爸爸自己的你无权拥有242

12.2.2 保护继承——这是你爷爷留给你的243

12.2.3 公有继承——好东西大家分享246

12.3 派生类对象与基类对象247

12.3.1 派生类与基类的转换使用247

12.3.2 类的内存分配249

12.4 继承中的构造函数和析构函数250

12.4.1 派生类的构造函数250

12.4.2 带参数的构造函数252

12.4.3 派生类的析构函数254

12.5 “多父多母”——多继承256

12.5.1 多继承的概念257

12.5.2 多继承的应用257

12.5.3 多继承存在的问题259

12.6 “特殊的父亲”——虚基类260

12.6.1 虚基类是什么260

12.6.2 虚基类的使用261

12.7 小结263

12.8 练习题263

第13章 多态(教学视频:13分钟)264

13.1 多态的基本知识介绍——“字同意不同”264

13.2 静态多态264

13.2.1 普通成员函数重载265

13.2.2 构造函数重载267

13.3 动态多态和虚函数268

13.3.1 使用动态多态的原因269

13.3.2 如何实现动态多态270

13.3.3 虚函数的定义方式271

13.3.4 虚函数调用规则273

13.3.5 虚析构函数274

13.4 特殊的虚函数——纯虚函数276

13.4.1 什么是纯虚函数276

13.4.2 纯虚函数与抽象类277

13.4.3 虚函数和纯虚函数的区别278

13.5 小结279

13.6 练习题279

第14章 运算符重载——定义自己的运算符(教学视频:18分钟)280

14.1 重载运算符基础280

14.1.1 重载运算符概述280

14.1.2 重载运算符注意事项281

14.1.3 重载运算符的实现282

14.2 重载运算符实例282

14.2.1 赋值运算符的重载282

14.2.2 算术运算符的重载285

14.2.3 递增运算符和递减运算符重载287

14.2.4 复合运算符重载289

14.2.5 关系运算符的重载290

14.2.6 下标运算符重载292

14.2.7 逗号运算符的重载293

14.2.8 输入和输出运算符重载295

14.3 小结296

14.4 练习题296

第3篇 C++中的标准库和模板库300

第15章 流操作(教学视频:23分钟)300

15.1 C++中的流300

15.1.1 理解流300

15.1.2 流的优点301

15.2 C++流类库303

15.2.1 标准流类库303

15.2.2 流的基本操作304

15.2.3 输入流305

15.2.4 输出流307

15.2.5 输入输出流格式控制307

15.2.6 预定义对象cerr、 clog的使用310

15.3 文件流311

15.3.1 文件流的基本概述311

15.3.2 打开文件流312

15.3.3 文件流读写操作314

15.3.4 关闭文件流317

15.3.5 设置读写位置317

15.4 字符串流318

15.5 小结320

15.6 练习题321

第16章 流的高级操作(教学视频:25分钟)322

16.1 未格式化流操作322

16.1.1 未格式化输入输出操作322

16.1.2 未格式化流的随机操作323

16.2 流和缓冲区325

16.2.1 缓冲区概述325

16.2.2 缓冲区刷新326

16.2.3 缓冲区溢出的危害329

16.3 流错误处理329

16.3.1 流错误状态捕捉329

16.3.2 流错误状态恢复330

16.4 大型程序的编写331

16.4.1 全局共享变量的定义332

16.4.2 头文件和源文件的使用332

16.4.3 自动编译的使用333

16.4.4 断点调试技术的使用334

16.5 小结339

16.6 练习题339

第17章 模板(教学视频:18分钟)341

17.1 模板的引入341

17.1.1 代码复用技术概述341

17.1.2 模板的引入343

17.2 类模板343

17.2.1 定义类模板344

17.2.2 类模板的实例化346

17.2.3 模板与继承347

17.2.4 模板与友元351

17.3 函数模板353

17.3.1 函数模板的定义353

17.3.2 函数模板的使用354

17.3.3 函数模板的重载356

17.4 小结357

17.5 练习题357

第18章 标准模板库(教学视频:23分钟)358

18.1 STL简介358

18.1.1 STL的发展358

18.1.2 STL结构359

18.2 字符串类容器——string360

18.2.1 定义string类的对象360

18.2.2 string类对字符串的操作361

18.2.3 string类对字符的操作364

18.3 vector容器366

18.3.1 vector容器的创建366

18.3.2 vector容器的基本操作366

18.3.3 vector容器的数据访问368

18.4 list容器370

18.4.1 list容器的创建370

18.4.2 list容器的基本操作371

18.4.3 list容器中数据操作372

18.5 map容器374

18.5.1 map容器的定义374

18.5.2 map容器的使用374

18.5.3 map容器的数据操作375

18.5.4 map容器中重载运算符的使用377

18.6 迭代器379

18.6.1 什么是迭代器379

18.6.2 迭代器与容器380

18.7 STL的其他内容382

18.7.1 STL中的算法382

18.7.2 STL中的容器适配器386

18.8 小结390

18.9 练习题390

第4篇 高级主题394

第19章 异常处理(教学视频:20分钟)394

19.1 异常的产生以及简单处理394

19.1.1 异常的产生394

19.1.2 使用函数返回值395

19.1.3 使用断言assert396

19.1.4 使用函数abort()397

19.2 C++异常处理机制398

19.2.1 try throw结构399

19.2.2 catch结构402

19.2.3 异常参数传递406

19.2.4 异常的重新抛出408

19.3 标准异常处理类411

19.3.1 exception类411

19.3.2 exception类的派生类412

19.4 小结413

19.5 练习题414

第20章 命名空间(教学视频:14分钟)415

20.1 命名空间的定义415

20.1.1 命名空间的引出415

20.1.2 命名空间的别名419

20.1.3 命名空间成员的调用421

20.1.4 命名空间的嵌套调用422

20.2 using指令的使用423

20.2.1 创建别名423

20.2.2 调用命名空间成员424

20.3 标准命名空间std428

20.3.1 标准命名空间成员的调用428

20.3.2 iostream和iostream.h的区别429

20.4 小结429

20.5 练习题430

第21章 C++编程的其他内容(教学视频:17分钟)431

21.1 位运算431

21.1.1 位运算基础431

21.1.2 按位与运算432

21.1.3 按位或运算433

21.1.4 取反运算435

21.1.5 异或运算435

21.1.6 左移运算436

21.1.7 右移运算437

21.2 内存对齐437

21.2.1 大端模式和小端模式概述438

21.2.2 结构体内存字节对齐438

21.3 随机数440

21.3.1 随机数的产生440

21.3.2 特定随机数的产生441

21.4 代码编写规范443

21.4.1 注释的使用443

21.4.2 代码规范的使用444

21.5 小结446

21.6 练习题447

第22章 预处理器(教学视频:21分钟)448

22.1 预处理简介448

22.1.1 预处理中的##运算符448

22.1.2 预处理指令介绍449

22.2 文件包含指令#include450

22.2.1 头文件的基础介绍450

22.2.2 文件包含指令#include451

22.2.3 “”和<>的区别453

22.3 条件编译指令介绍453

22.3.1 带#的if指令和endif指令的简单结构454

22.3.2 带#的if指令和endif指令的复杂结构455

22.3.3 #ifdef和#ifndef指令457

22.4 再论宏定义459

22.4.1 宏定义的基础459

22.4.2 带参数的宏定义463

22.4.3 可变参数宏465

22.4.4 宏定义的结束指令#undef466

22.4.5 typedef的使用467

22.5 其他指令和参数的使用468

22.5.1 #pragma指令的使用468

22.5.2 #error指令和#line指令的使用469

22.5.3 预定义宏的使用470

22.6 小结471

22.7 练习题472

第23章 C++程序的内存管理(教学视频:19分钟)473

23.1 指针的高级应用——动态分配内存473

23.1.1 程序运行时的内存分配情况473

23.1.2 动态分配内存的实现475

23.1.3 动态分配内存的使用479

23.1.4 内存分配注意事项483

23.2 动态分配内存实例——链表的使用484

23.2.1 链表的基本知识485

23.2.2 链表的创建486

23.2.3 链表中节 点的删除486

23.2.4 节 点的插入487

23.3 变量的存储489

23.3.1 自动存储auto类型490

23.3.2 寄存器存储register类型491

23.3.3 静态存储static类型492

23.3.4 外部链接修饰符extern498

23.3.5 常量限制符号const499

23.4 小结500

23.5 练习题501

第5篇 开发实战504

第24章 C++程序开发与测试的艺术(教学视频:17分钟)504

24.1 软件测试概述504

24.1.1 衡量软件质量的标准504

24.1.2 程序测试的基本内容505

24.1.3 测试的基本原则505

24.2 软件开发的过程模型506

24.2.1 瀑布模型506

24.2.2 V模型507

24.3 测试用例设计方法介绍508

24.3.1 白盒测试508

24.3.2 白盒测试用例设计方法分析509

24.3.3 黑盒测试510

24.3.4 黑盒测试用例设计方法分析511

24.4 软件测试分类512

24.4.1 功能测试512

24.4.2 性能测试513

24.5 小结515

24.6 练习题515

第25章 模拟火车售票管理系统的实现(教学视频:12分钟)516

25.1 系统设计概述516

25.1.1 系统概述516

25.1.2 功能模块划分及相互关系517

25.1.3 面向过程编程的数据分析518

25.1.4 面向对象编程的数据分析519

25.2 常用辅助工具介绍520

25.2.1 系统流程图及数据流图520

25.2.2 UML视图522

25.3 面向过程的详细设计523

25.3.1 程序流程523

25.3.2 系统初始化模块523

25.3.3 查询模块解析524

25.3.4 售票和预订车票模块解析528

25.3.5 信息维护模块解析530

25.3.6 主函数的实现533

25.4 面向对象的详细设计535

25.4.1 程序流程535

25.4.2 查询类的实现536

25.4.3 车票相关操作的实现540

25.4.4 系统管理类的实现542

25.4.5 主函数的实现546

25.5 运行结果分析547

25.6 小结550

热门推荐