书籍详情

深度学习C++

深度学习C++

作者:吴晓梅 编著

出版社:北京航空航天大学出版社

出版时间:2022-07-01

ISBN:9787512432482

定价:¥129.00

购买这本书可以去
内容简介
  全书共分为四部分,第一部分(第1~4章)是基本内容,包括了创建C程序的基本工具和技术、分支和循环等流程控制语句、内置数据类型和它们的基本属性、C的各种运算符及其应用,第二部分(第5~8章)是指针和动态内存的内容,包括了指针和引用、动态变量、动态变量所有权和生命期、类和结构等,第三部分(第9~10章)是面向对象的程序设计内容,包括了类的设计、抽象与封装、继承和多态性等,第四部分(第11~13章)是较深的高级内容,包括了模板、容器和迭代器、异常处理。本书内容丰富,结构清晰,在知识讲解的基础上,提供了大量的例题和习题,使读者通过学习概念以及训练和实践,掌握程序设计的方法和过程,并具备良好的程序设计风格。本书可作为高等院校计算机专业的教材,也可供从事计算机软件开发的科研人员学习参考。
作者简介
  吴晓梅拥有十多年软件开发和教学经验,在数据结构、算法设计等方向具有一定研究,并且热衷于C的培训和教学,已出版多本学术专著和教材。
目录
第1章您的第一个C 程序1
1.1C 使用的优势1
1.2Hello World!1
1.3C 的构建流程4
1.4C 关键字5
1.5预处理指令7
1.5.1include7
1.5.2宏指令8
1.5.3条件编译9
1.6输入/输出(I/O)语句12
1.7函数16
1.7.1传递参数17
1.7.2重载和默认参数19
1.8测试:编写个人信息登记应用程序22
1.9总结23
第2章控制流程24
2.1简介24
2.2ifelse语句25
2.3switchcase语句29
2.4循环语句32
2.4.1循环简介32
2.4.2while循环32
2.4.3dowhile循环34
2.4.4for循环37
2.4.5基于范围的for循环38
2.5break/continue语句41
2.5.1break语句41
2.5.2continue语句43
2.6测试:使用循环和条件语句创建数字猜谜游戏46
2.7总结47
第3章内置数据类型48
3.1简介48
3.2数据类型修饰符49
3.3内置数据类型49
3.4数组50
3.4.1数组的初始化51
3.4.2访问数组中的元素53
3.4.3数组的内存54
3.4.4多维数组56
3.5向量58
3.5.1访问向量中的元素58
3.5.2初始化和修改向量中的元素60
3.6类和结构62
3.6.1类62
3.6.2结构63
3.6.3访问修饰符64
3.7构造函数/析构函数66
3.8测试:编写注册应用程序69
3.9总结71
目录深度学习C 第4章C 的运算符72
4.1简介72
4.2算术运算符73
4.3关系运算符76
4.3.1相等运算符77
4.3.2比较运算符78
4.4一元运算符81
4.4.1负号(-)运算符81
4.4.2递增( )和递减(--)运算符82
4.5赋值运算符83
4.6逻辑运算符85
4.7运算符重载87
4.8位运算符89
4.9测试:Fizz Buzz91
4.10小结92
第5章指针和引用94
5.1简介94
5.2内存地址95
5.2.1指针95
5.2.2指向数组的指针98
5.2.3指针的算术运算99
5.2.4指向指针103
5.3引用105
5.4指针和引用作为函数参数107
5.5指向类或结构的指针109
5.6引用作为函数的参数111
5.7测试:使用指针和引用进行字符串数组的操作114
5.8小结114
第6章动态变量115
6.1简介115
6.2动态变量116
6.3动态数组121
6.4动态变量的7个问题123
6.4.1问题1:在创建动态变量之前,使用指向动态变量的指针123
6.4.2问题2:删除一个动态变量之后,再使用动态变量125
6.4.3问题3:创建了一个动态变量,但忘记删除126
6.4.4问题4:覆盖一个指向动态变量的指针126
6.4.5问题5:多次删除一个动态变量128
6.4.6问题6:以delete,而不是delete[]删除一个动态数组129
6.4.7问题7:以delete[],而不是delete删除一个动态变量130
6.5动态容器131
6.5.1链表131
6.5.2二叉搜索树132
6.6递归数据结构133
6.6.1在一个递归数据结构中访问项133
6.6.2查找项134
6.6.3添加项135
6.6.4删除动态项136
6.7测试:创建类实例的二叉搜索树143
6.8小结144
第7章动态变量所有权和生命周期145
7.1简介145
7.2资源获取初始化(RAII)146
7.3管理数据结构中动态变量149
7.4智能指针154
7.4.1unique_ptr﹤﹥154
7.4.2make_unique()157
7.4.3unique_ptr﹤﹥作为一个类成员变量158
7.4.4函数参数和返回值中的unique_ptr﹤﹥160
7.4动态变量的共享所有权161
7.5make_shared()164
7.6测试:使用动态变量存储一本书的单词166
7.7小结167
第8章类与结构168
8.1简介168
8.2类与结构168
8.3联合169
8.4构造函数171
8.4.1默认构造函数171
8.4.2参数化构造函数173
8.4.3复制构造函数175
8.5浅复制或深复制176
8.6赋值运算符183
8.7析构函数186
8.8测试:创建一个视频剪辑(VideoClip)类186
8.9小结187
第9章面向对象的原理188
9.1简介188
9.2类与面向对象的程序设计(OOP)188
9.2.1单一责任原则190
9.2.2封装192
9.2.3Getters和Setters196
9.3返回值或引用202
9.3.1返回值202
9.3.2返回引用202
9.4常量205
9.4.1返回const引用205
9.4.2const函数206
9.5抽象207
9.6测试:一个基本的RPG作战系统211
9.7小结212
第10章面向对象的高级原则213
10.1简介213
10.2继承214
10.2.1单一继承214
10.2.2多重继承217
10.2.3访问修饰符与继承221
10.3虚拟函数223
10.4纯虚拟函数/抽象类225
10.5多态性227
10.6类型转换230
10.6.1静态强制转换231
10.6.2动态强制转换232
10.6.3C类型的强制转换232
10.7测试:编写百科全书应用程序234
10.8小结235
第11章模板237
11.1简介237
11.2创建模板的语法237
11.2.1模板类238
11.2.2多个模板参数240
11.2.3模板函数241
11.2.4模板的专门化245
11.2.5创建模板的注意事项246
11.3队列249
11.3.1队列简介249
11.3.2在队列中实现构造函数和析构函数251
11.3.3动态内存253
11.3.4调整内存大小256
11.3.5压入和弹出256
11.3.6测试257
11.4测试:创建一个通用的堆栈259
11.5小结260
第12章容器和迭代器261
12.1简介261
12.2字符串261
12.2.1字符串构造函数262
12.2.2为字符串赋值263
12.2.3字符串相关操作264
12.3迭代器266
12.4向量269
12.4.1向量构造函数269
12.4.2向量的赋值270
12.4.3向量相关操作273
12.4.4搜索向量273
12.5映射/无序映射278
12.5.1构造映射和无序映射278
12.5.2映射和无序映射的操作279
12.6集合/多集合283
12.6.1构造函数284
12.6.2集合的操作286
12.7队列/堆栈287
12.8测试:将RPG战斗转换为使用标准库容器288
12.9小结289
第13章C 中的异常处理290
13.1简介290
13.2应对突发(或意外)事件291
13.3抛出异常291
13.4未捕获的异常292
13.5捕获异常295
13.6展开堆栈299
13.7资源获取初始化(RAII)和异常处理300
13.8测试:处理异常303
13.9小结304
附录测试参考答案306
第1章您的第一个C 程序306
测试:编写个人信息登记应用程序——参考答案306
第2章控制流程308
测试:使用循环和条件语句创建数字猜谜游戏——参考答案308
第3章内置数据类型310
测试:编写注册应用程序——参考答案310
第4章C 的运算符314
测试:Fizz Buzz——参考答案314
第5章指针和引用316
测试:使用指针和引用进行字符串数组的操作——参考答案316
第6章动态变量319
测试:创建类实例的二叉搜索树——参考答案319
第7章动态变量所有权和生命周期322
测试:使用动态变量存储一本书的单词——参考答案322
第8章类与结构329
测试:创建一个视频剪辑(VideoClip)类——参考答案329
第9章面向对象的原理338
测试:一个基本的RPG作战系统——参考答案338
第10章面向对象的高级原则349
测试:编写百科全书应用程序——参考答案349
第11章模板353
测试:创建一个通用的堆栈——参考答案353
第12章容器和迭代器356
测试:将RPG战斗转换为使用标准库容器——参考答案356
第13章C 中的异常处理363
测试:处理异常——参考答案363 
猜您喜欢

读书导航