C++编程实战宝典PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:郝军等编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2014
- ISBN:9787302347910
- 页数:550 页
第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++的编译工具CodeBlocks 6
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 整型int 24
2.3.2 浮点型float 25
2.3.3 字符型char 27
2.3.4 布尔型Boolean 28
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 取字节数操作sizeof 46
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 格式化输入函数scanf 56
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 字符串类容器——string 360
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 使用断言assert 396
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 标准命名空间std 428
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 文件包含指令#include 450
22.2.1 头文件的基础介绍 450
22.2.2 文件包含指令#include 451
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 宏定义的结束指令#undef 466
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 外部链接修饰符extern 498
23.3.5 常量限制符号const 499
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
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《教育学考研应试宝典》徐影主编 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《半小时漫画股票实战法》财经杂质著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《2017国家执业药师资格考试 全考点实战通关必备 中药学综合知识与技能 第3版》国家执业药师资格考试命题研究专家组 2017
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019