零基础学C++ 第2版PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:杨彦强,刘袁红,王浩等编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2012
- ISBN:9787111373964
- 页数:544 页
第一篇 C++基础 1
第1章 C++概述 1
1.1了解计算机 1
1.1.1计算机硬件 2
1.1.2计算机软件 3
1.2程序设计语言 3
1.2.1机器语言 3
1.2.2汇编语言 4
1.2.3高级语言 5
1.2.4数据结构和算法 6
1.2.5面向过程的程序设计(POP) 6
1.2.6面向对象的程序设计(OOP) 6
1.3 C++简介 7
1.3.1 C++语言发展历程 7
1.3.2 C++语言特点 8
1.3.3 C++程序开发基本过程 8
1.4 C++开发环境的搭建 9
1.4.1 Visual C++ 6开发环境简介 9
1.4.2开发步骤 10
1.5第一个C++程序 11
1.6小结 12
1.7上机实践习题 12
第2章 开始C++之旅 13
2.1 C++程序的结构 13
2.1.1注释 14
2.1.2编译预处理与新旧标准 14
2.1.3主函数 14
2.1.4名称空间 16
2.1.5 C++语素 17
2.2变量与基本类型 18
2.2.1变量 18
2.2.2整型 20
2.2.3浮点型 21
2.2.4基本字符型 21
2.2.5宽字符型 22
2.2.6布尔型 22
2.3常量 22
2.3.1整型常量和浮点型常量 23
2.3.2字符型常量 23
2.3.3字符串常量 25
2.3.4符号常量 26
2.3.5枚举常量 27
2.4运算符与表达式 28
2.4.1算术运算 28
2.4.2逻辑运算 30
2.4.3短路表达式 30
2.4.4关系运算 31
2.4.5大有文章:变量是否为“0” 31
2.4.6条件运算 32
2.4.7位运算 32
2.4.8赋值运算 35
2.4.9++和-- 37
2.4.10逗号表达式 38
2.4.11 sizeof运算符与sizeof表达式 38
2.4.12运算符的优先级和结合性 38
2.5类型转换 40
2.5.1赋值转换 40
2.5.2表达式中的转换 43
2.5.3强制类型转换 44
2.5.4函数调用和传递参数时的类型转换 45
2.6流程控制语句 45
2.6.1 if…else…选择结构 45
2.6.2 switch结构 47
2.6.3 if…else…结构和switch结构的比较 51
2.6.4 for循环结构 51
2.6.5 for循环结构嵌套 53
2.6.6 while循环结构 54
2.6.7 do…while循环结构 54
2.6.8循环语句的效率 55
2.6.9流程转向控制语句之break 55
2.6.10流程转向控制语句之continue 56
2.6.11自由转向语句goto 56
2.6.12程序中止函数exit() 57
2.7小结 58
2.8上机实践习题 58
第二篇 C++过程开发 61
第3章 数组和C风格字符串 61
3.1什么是数组 61
3.2一维数组 62
3.2.1一维数组的声明 62
3.2.2初始化一维数组 63
3.2.3一维数组应用举例 64
3.2.4数组操作注意事项 65
3.3 C风格字符串 65
3.3.1 C风格字符串的声明 65
3.3.2字符数组的cin和cout 66
3.3.3 get()函数和getline()函数 67
3.3.4 cin与get()/getline()函数的搭配问题 68
3.3.5访问C风格字符串中的某个元素 69
3.3.6 C风格字符串处理函数 69
3.4多维数组 71
3.4.1声明一个多维数组 71
3.4.2初始化多维数组 72
3.4.3多维数组应用举例 72
3.4.4多维数组在内存中是如何排列元素的 73
3.5小结 74
3.6上机实践习题 74
第4章 指针和引用 76
4.1指针的定义与使用 76
4.1.1声明一个指针变量 76
4.1.2初始化指针变量 79
4.1.3指向指针的指针 80
4.1.4指针赋值 80
4.2指针的运算 81
4.2.1指针与整数的加减 81
4.2.2同类型指针间的比较 82
4.2.3同类型指针相减 82
4.3动态内存分配 83
4.3.1使用new动态分配内存 83
4.3.2使用delete动态释放及动态申请的内存 83
4.3.3使用new申请动态数组 83
4.3.4不要使用或释放已经释放的内存块 85
4.3.5使用malloc和free动态申请内存 85
4.3.6动态内存申请并不一定能成功 87
4.4指针和const 87
4.4.1禁止改写指针(常量指针或常指针) 87
4.4.2禁止改写间接引用 88
4.4.3既禁止改写指针,又禁止改写间接引用 88
4.5指针与数组 88
4.5.1数组名指针 88
4.5.2数组元素的指针形式 90
4.5.3指向数组的指针 90
4.5.4指针数组 92
4.6引用 95
4.6.1引用的声明 95
4.6.2引用的特点 95
4.6.3引用的使用限制 96
4.6.4其他要说明的问题 97
4.7小结 97
4.8上机实践习题 98
第5章 结构、共用体和链表 99
5.1结构 99
5.1.1如何定义一个结构 99
5.1.2结构变量的声明和使用 100
5.1.3结构变量的初始化 102
5.1.4结构变量间是否可以相互赋值 102
5.1.5结构体变量的sizeof 103
5.2共用体 105
5.2.1共用体的定义 105
5.2.2共用体和结构的区别 105
5.2.3共用体变量的声明和初始化 107
5.2.4共用体使用举例 107
5.2.5共用体的sizeof 109
5.3结构数组和共用体数组 109
5.3.1结构数组的声明和初始化 109
5.3.2共用体数组的声明和初始化 110
5.4指向结构的指针 111
5.4.1声明一个结构指针 111
5.4.2结构指针的初始化 112
5.4.3使用指针访问结构成员 114
5.5链表 114
5.5.1链表的结构 115
5.5.2创建链表 115
5.5.3链表与数组的区别 116
5.5.4链表的遍历和查找 116
5.5.5链表的插入和删除 118
5.6小结 121
5.7上机实践习题 122
第6章 用函数合理组织程序 124
6.1模块化带来的好处 124
6.1.1函数的调用过程 124
6.1.2抽象和封装 125
6.1.3实现一个函数 126
6.2函数定义 126
6.2.1函数头 127
6.2.2函数体 127
6.2.3函数定义补充说明 128
6.3函数声明 129
6.3.1为什么要进行函数声明 129
6.3.2如何声明一个函数 130
6.3.3分割程序文件 131
6.4函数调用 132
6.4.1形参和实参 133
6.4.2参数类型转换 133
6.4.3值传递 134
6.4.4指针传递 135
6.4.5引用传递 136
6.4.6对3种传递的补充 137
6.4.7默认参数调用 138
6.4.8 inline函数 140
6.5递归 141
6.6函数的重载 143
6.6.1何时使用函数重载 144
6.6.2如何实现函数重载 144
6.6.3陷阱:隐式转换导致重载函数出现二义性 144
6.7 C++如何使用内存 145
6.7.1自动存储(栈存储) 145
6.7.2静态存储(编译器预分配) 148
6.8作用域与可见域 152
6.8.1作用域 153
6.8.2可见域 153
6.8.3函数的作用域和可见域 156
6.9小结 156
6.10上机实践习题 157
第7章 关于函数的高级专题 158
7.1内存使用错误剖析 158
7.1.1内存泄露 158
7.1.2野指针 159
7.1.3试图修改常量 160
7.1.4用错sizeof 161
7.1.5内存越界访问 161
7.1.6变量的初始化 162
7.2重申:函数参数传递和返回机制 162
7.2.1参数传递时的“副本” 162
7.2.2函数返回时的“副本” 164
7.3函数与指针 165
7.3.1指向函数的指针 165
7.3.2 typedef 167
7.3.3通过函数指针将函数作为另一个函数的参数 168
7.3.4函数指针数组 169
7.3.5返回函数指针的函数 171
7.3.6带参主函数 171
7.4函数与数组 172
7.4.1数组名作为函数参数 172
7.4.2通过指针得到多于1个的回传值 175
7.5函数与结构体、共用体及类对象 176
7.5.1 3种参数调用 176
7.5.2 3种返回机制 177
7.6函数编写的建议 177
7.6.1合理使用const 177
7.6.2检查输入参数的有效性 178
7.6.3函数返回类型的判断 179
7.7小结 179
7.8上机实践习题 179
第三篇 面向对象的C++ 181
第8章 面向对象技术基础 181
8.1面向对象基本概念 181
8.1.1类的概念 182
8.1.2类是分层的 182
8.1.3类和对象的关系 183
8.2 C++类的定义 183
8.2.1类定义的基本形式 183
8.2.2类定义示例 184
8.2.3 class和struct 185
8.3 C++类的实现 185
8.3.1在类定义时定义成员函数 185
8.3.2在类定义的外部定义成员函数 186
8.4 C++类的使用 187
8.4.1声明一个对象 188
8.4.2对象的作用域、可见域和生存期 189
8.5对象的创建和撤销 189
8.5.1构造函数的作用 189
8.5.2构造函数可以有参数 190
8.5.3构造函数支持重载 191
8.5.4构造函数允许按参数默认方式调用 192
8.5.5初始化表达式 192
8.5.6析构函数 194
8.5.7显式调用析构函数 195
8.6复制构造函数 196
8.6.1复制构造函数调用机制 196
8.6.2默认复制构造函数带来的问题 198
8.6.3解决方案——显式定义复制构造函数 199
8.6.4关于构造函数和复制构造函数 201
8.7特殊数据成员 202
8.7.1 const数据成员 202
8.7.2引用成员 204
8.7.3类对象成员 206
8.7.4特别说明 210
8.7.5 static数据成员 210
8.8特殊函数成员 212
8.8.1静态成员函数 212
8.8.2 const与成员函数 214
8.9对象的组织 215
8.9.1 const对象 215
8.9.2指向对象的指针 217
8.9.3对象的大小 218
8.9.4 this指针 219
8.9.5对象数组 220
8.9.6对象链表 221
8.10为对象动态分配内存 221
8.10.1使用new和delete为单个对象分配/释放动态内存 221
8.10.2使用new和delete为对象数组分配/释放动态空间 222
8.10.3 malloc和free能否为对象动态申请内存 224
8.11小结 224
8.12上机实践习题 225
第9章 关于对象的高级专题 227
9.1类的作用域 227
9.2类定义的作用域与可见域 229
9.3对象的生存期、作用域和可见域 232
9.3.1先定义,后实例化 232
9.3.2对象内存的释放与堆内存 232
9.4友元 232
9.4.1友元的非成员函数 233
9.4.2友元的成员函数 234
9.4.3友元函数的重载 236
9.4.4友元类 236
9.4.5友元是否破坏了封装性 237
9.5运算符重载 238
9.5.1运算符重载规则 238
9.5.2以成员函数形式重载运算符 239
9.5.3以友元函数形式重载运算符 242
9.5.4友元函数形式和成员函数形式的比较 245
9.5.5对运算符重载的补充说明 246
9.6运算符重载范例 247
9.6.1赋值运算符 247
9.6.2函数调用运算符 250
9.6.3下标运算符 251
9.7类型转换 253
9.7.1由其他类型向定义类的转换 253
9.7.2由自定义类向其他类型的转换 255
9.7.3隐式转换带来的二义性 257
9.8重载函数选择规则 257
9.8.1重载解析 258
9.8.2什么是完全匹配 258
9.9小结 259
9.10上机实践习题 259
第10章 继承 262
10.1什么是继承 262
10.1.1简单示例 262
10.1.2继承的层次性 264
10.2派生类 264
10.2.1 public派生与private派生 264
10.2.2 protected成员与protected派生 265
10.3多基派生 266
10.3.1多基派生的声明和定义 266
10.3.2二义性问题 267
10.3.3解决方案 268
10.4虚基类 268
10.4.1共同基类带来的二义性 268
10.4.2解决方案 270
10.4.3虚基派生二义性与多基派生二义性不同 271
10.5派生类的构造函数和析构函数 271
10.5.1派生类的构造函数 271
10.5.2派生类的析构函数 273
10.5.3多基派生类的构造函数和析构函数 275
10.5.4虚基派生类的构造函数和析构函数 275
10.6分清继承还是组合 278
10.6.1继承不是万金油 278
10.6.2组合 278
10.7基类与派生类对象间的相互转换 280
10.7.1类型适应 280
10.7.2多基继承时的情况 282
10.7.3公共基类 282
10.7.4虚基类的情况 284
10.8小结 284
10.9上机实践习题 285
第11章 多态 287
11.1多态与虚函数 287
11.1.1静态联编 287
11.1.2动态联编 287
11.1.3为什么需要虚函数 287
11.1.4虚函数的声明和定义 290
11.2虚函数的访问 290
11.2.1对象名访问 291
11.2.2指针访问 292
11.2.3引用访问 292
11.2.4类内访问 293
11.2.5在构造函数或析构函数中进行访问 294
11.3纯虚函数与抽象类 295
11.3.1纯虚函数的声明和定义 295
11.3.2抽象类 296
11.3.3另一种抽象类:类中只定义了protected型的构造函数 299
11.3.4延伸:构造函数能否为private型 301
11.3.5虚析构函数 302
11.4虚函数引入的二义性 305
11.4.1多基派生 305
11.4.2共同基类和虚继承 307
11.5重载、覆盖与隐藏 309
11.5.1重载 309
11.5.2覆盖 309
11.5.3隐藏 310
11.6小结 311
11.7上机实践习题 312
第四篇 泛型编程 315
第12章 模板 315
12.1为什么要定义模板 315
12.1.1类型参数化 315
12.1.2模板的定义 317
12.2函数模板 318
12.2.1函数模板的使用 318
12.2.2隐式实例化 318
12.2.3显式实例化 320
12.2.4特化 321
12.2.5重载 322
12.2.6优先级与执行顺序 322
12.3类模板 324
12.3.1定义类模板 324
12.3.2隐式实例化 326
12.3.3显式实例化 326
12.3.4显式特化 327
12.3.5部分特化 328
12.3.6重载和优先级 328
12.4模板的嵌套 329
12.4.1函数成员模板 329
12.4.2对象成员模板 330
12.5模板参数 331
12.6小结 332
12.7上机实践习题 333
第13章 标准模板库 335
13.1理解STL 335
13.1.1容器 335
13.1.2适配器 336
13.1.3迭代器 336
13.1.4算法 336
13.2使用序列式容器 336
13.2.1序列式容器的创建和元素的访问 336
13.2.2所有容器都支持的特征 338
13.2.3序列式容器中元素的插入和删除 339
13.2.4 vector容器 344
13.2.5 deque容器 344
13.2.6 list容器 344
13.3使用关联式容器 344
13.3.1 set容器 345
13.3.2 multiset容器 346
13.3.3 map容器 346
13.3.4 multimap容器 348
13.4关联式容器支持的成员函数操作 349
13.4.1元素的插入 349
13.4.2元素的删除 352
13.4.3元素的查找与访问 354
13.5迭代器 355
13.5.1理解迭代器本质 355
13.5.2迭代器类型 355
13.5.3为什么要定义这么多迭代器 357
13.5.4容器中定义的迭代器类型与5种类型的对应 358
13.5.5流迭代器 358
13.5.6迭代器失效 360
13.6泛型算法 360
13.6.1什么是函数对象 360
13.6.2算法分类 361
13.7适配器 365
13.7.1容器适配器 366
13.7.2迭代器适配器 367
13.7.3函数适配器 369
13.8小结 371
13.9上机实践习题 371
第五篇 输入输出处理和编程规范 373
第14章 输入输出和文件 373
14.1输入输出概述 373
14.1.1什么是文件 374
14.1.2流 374
14.1.3缓冲区 375
14.1.4重定向 375
14.1.5 3种输入输出机制 376
14.2高层I/O 377
14.2.1标准输出函数printf 377
14.2.2标准输入函数scanf 381
14.2.3扫描集 384
14.2.4 sprintf函数和sscanf函数 385
14.2.5 fprintf函数和fscanf函数 386
14.2.6文件访问机制 386
14.3流类库 390
14.3.1流类库更安全、更高效 390
14.3.2流类库层次 390
14.4输出流 394
14.4.1操作符<< 394
14.4.2其他ostream方法 395
14.4.3格式状态字 397
14.4.4格式控制值的默认值 398
14.4.5 flag函数读取和设定格式状态字 398
14.4.6使用setf函数和unsetf函数设定格式关键字 400
14.4.7设置域宽 402
14.4.8填充字符 404
14.4.9浮点数输出和显示精度 404
14.4.10控制符 406
14.5输入流 408
14.5.1 >>操作符 408
14.5.2输入流与格式状态字 408
14.5.3输入流与域宽 410
14.5.4使用get函数读取单个字符 411
14.5.5使用get函数和getline函数读取C风格字符串 413
14.5.6其他istream方法 415
14.6流状态 417
14.6.1什么是流状态 417
14.6.2读取流状态 417
14.6.3管理流状态 418
14.7重载>>和<< 420
14.7.1插入符的重载 420
14.7.2抽取符的重载 422
14.8文件操作 423
14.8.1文件操作基本过程 423
14.8.2文件的打开 423
14.8.3取消文件和流的关联 425
14.8.4文件的读写 426
14.8.5文本文件的读写 427
14.8.6二进制文件的读写 428
14.8.7文件定位指针和随机读取 429
14.9字符串流 431
14.9.1 strstream类族 431
14.9.2 sstream类族 434
14.10小结 437
14.11上机实践习题 437
第15章 名称空间 439
15.1什么是名称空间 439
15.1.1名称空间范例 439
15.1.2定义名称空间 440
15.2实体的作用域与可见域 441
15.2.1实体可见域 442
15.2.2可见域的扩展 442
15.2.3 using声明机制 443
15.2.4 using声明带来的多重声明问题(二义性) 445
15.2.5空间内的屏蔽 445
15.2.6先声明,后使用 446
15.3名称空间的作用域与可见性 447
15.3.1名称空间的定义策略 447
15.3.2推荐用法 450
15.3.3名称空间嵌套 451
15.3.4 using编译指令 452
15.3.5未命名的名称空间 453
15.4对名称空间的思考 454
15.5小结 454
15.6上机实践习题 454
第16章 异常和错误 456
16.1编码时的防错 456
16.1.1调用abort函数或exit函数 456
16.1.2返回错误标志 457
16.2异常机制 458
16.2.1关键字throw 460
16.2.2异常处理程序 460
16.2.3自定义异常对象 463
16.2.4有继承关系的类异常 464
16.2.5 terminate函数和set_terminate函数 466
16.2.6 unexpected函数与set_unexpected函数 467
16.2.7标准异常 468
16.2.8对unexpected函数的补充 470
16.3异常发生时的内存管理 471
16.3.1堆栈解退 471
16.3.2异常处理机制与函数的不同 472
16.3.3构造函数中抛出异常 473
16.3.4内存泄露 474
16.3.5析构函数中可否抛出异常 475
16.4 auto_ptr类 476
16.4.1使用auto_ptr类模板 477
16.4.2关于auto_ptr的若干问题 477
16.5小结 478
16.6上机实践习题 479
第17章 RTTI和类型转换操作符 481
17.1 RTTI机制 481
17.1.1 dynamic_cast操作符 482
17.1.2 typeinfo类和typeid操作符 483
17.1.3补充说明 484
17.2类型转换操作符 484
17.2.1 const_cast操作符 484
17.2.2 static_cast操作符 485
17.2.3 reinterpret_cast操作符 486
17.3小结 486
17.4上机实践习题 487
第18章 string字符串类 489
18.1为什么要使用string类 489
18.2声明一个字符串 489
18.3字符串的输入输出 491
18.4 string类功能 492
18.4.1 string字符串和C风格字符串的转换 492
18.4.2赋值和清空 492
18.4.3元素删除 493
18.4.4元素追加与相加 493
18.4.5元素插入 494
18.4.6大小和容量 494
18.4.7元素存取 494
18.4.8字符串比较 495
18.4.9提取子串 495
18.4.10搜索与查找 495
18.5小结 496
18.6上机实践习题 496
第19章 编码风格 497
19.1程序的排版 497
19.1.1注释 497
19.1.2空行的用法 498
19.1.3代码行 498
19.1.4空格 498
19.1.5缩进与对齐 499
19.1.6 &和*的位置 499
19.2命名规则 499
19.2.1 Windows风格和Unix风格 500
19.2.2如何对程序实体命名 500
19.3项目文件的组织 500
19.3.1模块划分 500
19.3.2头文件 500
19.3.3定义文件 501
19.3.4目录结构 501
19.4小结 501
19.5上机实践习题 502
第20章 程序编译 503
20.1程序的编译流程 503
20.2预处理 504
20.2.1头文件包含 505
20.2.2宏 505
20.2.3条件编译 506
20.2.4 #ifdef、#ifndef与重复包含 507
20.2.5使用const代替#define定义常量 508
20.2.6 inline与#define的比较 509
20.3 VC6调试入门 509
20.3.1断点的设置与去除 509
20.3.2条件断点 510
20.3.3数据断点 510
20.3.4消息断点 511
20.3.5观察视图 511
20.3.6内存视图 511
20.3.7变量视图 511
20.3.8寄存器视图 511
20.3.9调用堆栈视图 512
20.3.10反汇编视图 512
20.3.11进程控制 512
20.4其他调试手段 512
20.4.1 Debug模式和Release模式 512
20.4.2 assert宏 512
20.4.3输出字符串 513
20.5小结 513
20.6上机实践习题 513
第六篇 面试题精选 517
第21章 常见面试题 517
21.1常见基本知识问答题 517
面试题1:简述面向对象的3个基本特征 517
面试题2:局部变量能否和全局变量重名 517
面试题3:类成员函数的重载、覆盖和隐藏的区别是什么 518
面试题4:用变量a给出下面的定义 518
面试题5:在C++中,下面的结构是合法的吗?如果是,其作用是什么 519
面试题6:在非C++中建类A和B,在哪几种情况下B能隐式转化为A 519
面试题7:C++中的空类,默认产生哪些类成员函数 519
面试题8:C++有哪些性质(面向对象特点) 519
面试题9:子类析构时要调用父类的析构函数吗 520
面试题10:什么是引用?声明和使用“引用”要注意哪些问题 520
面试题11:将引用作为函数返回值类型的格式及优点有哪些 520
面试题12:引用与指针的区别是什么 520
面试题13:重载和重写(覆盖)的区别 520
面试题14:多态的作用是什么 520
面试题15:请指出const与#define相比有何优点 521
面试题16:C语言中static关键字的具体作用有哪些 521
面试题17:如何判断程序是由C编译程序还是由C++编译程序编译的 521
面试题18:关键字const的含义是什么 521
21.2世界500强公司的智力问答题 522
面试题19:工人分金条 522
面试题20:分蛋糕 522
面试题21:过桥问题 522
面试题22:黑白帽子 523
面试题23:电梯与钻石 523
面试题24:手电筒传递 523
面试题25:烧绳问题 524
面试题26:圆的下水道盖子 524
面试题27:选建筑师 524
面试题28:天平分盐 524
面试题29:分不开的钱 524
面试题30:小鸟追火车 525
面试题31:给红色最大的机会 525
面试题32:镜子中的影像 525
面试题33:污染的药丸 525
面试题34:称出不是标准重量的水 525
面试题35:多彩的果冻 526
面试题36:电子游戏机 526
面试题37:监狱里的囚犯 526
面试题38:灯的状态 526
面试题39:时针和分针 527
面试题40:3个奇数 527
面试题41:屋内的灯 527
面试题42:找出最重的球 528
面试题43:盲人分袜子 528
面试题44:烧香计时 528
面试题45:平分蜂蜜 528
面试题46:猜经理女儿的年龄 528
面试题47:两个圆环 529
面试题48:喝啤酒 529
面试题49:算24点 529
面试题50:聪明人 529
面试题51:海盗分金币 529
面试题52:到底是什么牌 530
面试题53:聪明的老板娘 531
面试题54:找出不同重量的球 531
21.3分析题 532
面试题55:分析下面的程序段,显示最后的结果 532
面试题56:分析程序最后的输出结果 532
面试题57:分析最后输出的结果 533
面试题58:求下面函数的返回值 533
面试题59:分析最后输出的结果 534
面试题60:分析最后输出的结果 535
21.4编程题 536
面试题61:结果输出到文件 536
面试题62:String类的具体实现 537
面试题63:链表题,一个链表的节点结构 538
面试题64:写一个函数并找出在一个整数数组中第二大的数 540
面试题65:字符串的逆序输出 541
面试题66:判断操作系统的位数 541
面试题67:实现对数组的降序排序 542
面试题68:斐波那契数列1、1、2、3、5等,编写程序求第10项 543
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《看视频零基础学英语口语》宋德伟 2019
- 《胃癌基础病理》(日)塚本彻哉编者;宫健,刘石译者 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《基础乐理》牛丽君 2019
- 《断陷湖盆比较沉积学与油气储层》赵永胜等著 1996
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019