欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

C++从零开始学 视频教学版 第2版 王英英编著 2020年版

收藏
  • 大小:195.76 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
C++从零开始学 视频教学版 第2版
作者: 王英英编著
出版时间: 2020年版
内容简介
本书面向C++编程初学者和广大C++编程爱好者。本书循序渐进地介绍C++应用与开发的相关基础知识,提供大量具体操作C++编程的实例供读者实践。每节都清晰地阐述代码如何工作及其作用,使读者能在最短的时间内有效地掌握C++编程。本书配有源码、课件与教学视频。全书共20章,分别介绍:为什么要学习C++、C++程序结构、基本数据类型和数据处理、运算符与表达式、程序流程控制、函数、数组与字符串、指针、struct与其他复合数据类型、类的使用方法、对象的初始化和清除、运算符的重载、类的继承、虚函数和抽象类、C++中的文件处理、异常处理和C++的高级概念等知识。在每章的后面提供自我评估的习题供读者操作练习,从而加深理解。
本书适合C++初学者自学使用,也适合作为高等院校和培训学校计算机相关专业师生的教学参考书 [1]。
目录
第1章 学习C++—认识C++ 1
1.1 C/C++的起源 1
1.2 C++的特色 2
1.3 关于ANSI/ISO C++标准 3
1.4 语言的翻译过程 4
1.5 编写代码前的准备—安装开发环境Visual Studio 2019 5
1.6 小试身手—新建一个C++项目 8
1.7 疑难解惑 11
1.8 经典习题 13
第2章 C++程序结构 14
2.1 简单程序 14
2.2 C++程序分析 15
2.2.1 #include指令及头文件 15
2.2.2 main函数 16
2.2.3 变量声明和定义 17
2.2.4 函数的声明 19
2.2.5 关于注释 20
2.3 输入输出对象 22
2.3.1 cout输出数据 22
2.3.2 cin读取输入数据 25
2.4 标识符 26
2.4.1 保留字 27
2.4.2 标识符命名 27
2.5 预处理 27
2.6 命名空间 30
2.6.1 命名空间的定义 30
2.6.2 using关键字 32
2.6.3 命名空间std 33
2.7 小试身手—入门经典程序 34
2.8 疑难解惑 35
2.9 经典习题 36
第3章基本数据类型 37
3.1变量与常量 37
3.1.1变量 37
3.1.2常量 40
3.2基本变量类型 43
3.2.1整数类型 43
3.2.2字符类型 44
3.2.3浮点数类型 46
3.2.4布尔类型 48
3.3typedef 49
3.4小试身手—测试基本数据类型的字节长度 53
3.5疑难解惑 54
3.6经典习题 55
第4章运算符和表达式 56
4.1运算符概述 56
4.1.1赋值运算符 56
4.1.2算术运算符 57
4.1.3关系运算符 59
4.1.4逻辑运算符 60
4.1.5自增和自减运算符 62
4.1.6位逻辑运算符 63
4.1.7移位运算符 65
4.1.8三元运算符 66
4.1.9逗号运算符 67
4.1.10类型转换运算符 68
4.2运算符优先级和结合性 69
4.2.1运算符优先级 69
4.2.2运算符结合性 70
4.3小试身手—综合运用运算符 72
4.4疑难解惑 73
4.5经典习题 74
第5章程序流程控制 75
5.1顺序语句 75
5.2条件判断语句 76
5.2.1if条件 76
5.2.2if-else条件 78
5.2.3条件运算符 79
5.3循环语句 80
5.3.1for循环 81
5.3.2while循环 82
5.3.3do-while循环 83
5.4跳出循环 84
5.4.1continue 84
5.4.2break 85
5.5多重选择语句 86
5.6小试身手—计算商品总价 88
5.7疑难解惑 90
5.8经典习题 92
第6章函数 93
6.1函数的基本结构 93
6.1.1函数的声明、定义和调用 93
6.1.2参数的传递方式 95
6.1.3函数的默认参数 97
6.1.4函数的返回值 99
6.2变量的作用域 99
6.2.1局部变量 99
6.2.2静态局部变量 100
6.2.3外部变量 101
6.2.4寄存器变量 102
6.3特殊函数调用方式—递归调用 103
6.4内联函数 104
6.5预处理器 106
6.5.1#define预处理器 106
6.5.2#define的作用 107
6.5.3const修饰符 108
6.6函数的重载 108
6.7小试身手—汉诺塔问题函数 110
6.8疑难解惑 111
6.9经典习题 112
第7章数组与字符串 113
7.1一维数组 113
7.1.1一维数组的声明 113
7.1.2数组初始化 114
7.1.3数组的操作 115
7.2二维数组和多维数组 117
7.2.1二维数组的声明 117
7.2.2二维数组的使用和存取 117
7.2.3多维数组 119
7.3数组与函数 121
7.3.1一维数组作为函数的参数 121
7.3.2传送多维数组到函数 122
7.4字符串类 123
7.4.1字符串的声明 123
7.4.2字符串的输入和输出 124
7.4.3字符串处理 125
7.5小试身手—判断字符串回文 129
7.6疑难解惑 131
7.7经典习题 132
第8章指针 133
8.1指针概述 133
8.1.1什么是指针 133
8.1.2为什么要用指针 134
8.1.3指针的地址 134
8.2指针变量 135
8.2.1指针变量的声明 135
8.2.2指针变量的使用 136
8.3指针与函数 137
8.3.1指针传送到函数中 137
8.3.2返回值为指针的函数 138
8.3.3函数指针 140
8.4指针与数组 141
8.4.1指针的算术运算 141
8.4.2利用指针存储一维数组的元素 142
8.4.3利用指针传输一维数组到函数中 143
8.5指针与字符串 144
8.6void指针 145
8.7指向指针的指针 145
8.8动态内存配置 146
8.8.1使用基本数据类型做动态配置 147
8.8.2使用数组做动态配置 148
8.9小试身手—判断字符串中有多少个整数 149
8.10疑难解惑 151
8.11经典习题 152
第9章struct和其他复合类型 153
9.1struct 153
9.1.1struct的声明 153
9.1.2struct变量的初始化与使用 155
9.1.3struct数组初始化 156
9.2将结构体变量作为函数参数 158
9.2.1将整个结构体传送到函数 158
9.2.2传送结构体的地址到函数 159
9.3union 160
9.3.1union的定义和声明 160
9.3.2union类型的初始化和使用 161
9.3.3struct和union的差异 163
9.4enum 163
9.4.1enum的定义和声明 163
9.4.2enum的初始化和使用 164
9.5小试身手—学生信息登记表 166
9.6疑难解惑 168
9.7经典习题 169
第10章类 170
10.1认识类 170
10.1.1类的基本概念 170
10.1.2类的定义 170
10.1.3类对象的生成 172
10.1.4类对象指针 173
10.2成员函数 175
10.3嵌套类 177
10.4const成员函数 177
10.5类成员的访问控制 179
10.5.1私有成员 180
10.5.2公有成员 181
10.6静态成员 182
10.6.1静态数据成员 182
10.6.2静态成员函数 184
10.7友元 186
10.8小试身手—栈类的实现 187
10.9疑难解惑 189
10.10经典习题 190
第11章构造函数和析构函数 191
11.1构造函数初始化类对象 191
11.1.1什么是构造函数 191
11.1.2使用构造函数 192
11.2析构函数清除类对象 193
11.2.1析构函数的概念 193
11.2.2析构函数的调用 194
11.3默认构造函数 195
11.4重载构造函数 197
11.4.1重载构造函数的作用 197
11.4.2重载构造函数的调用 197
11.5类对象数组的初始化 198
11.5.1类对象数组调用 198
11.5.2类对象数组和默认构造函数 200
11.5.3类对象数组和析构函数 201
11.6拷贝构造函数 203
11.6.1拷贝构造函数的概念 203
11.6.2深拷贝和浅拷贝 204
11.7小试身手—构造函数和析构函数的应用 206
11.8疑难解惑 208
11.9经典习题 208
第12章运算符的重载 210
12.1什么是运算符重载 210
12.1.1运算符重载的形式 211
12.1.2可重载的运算符 213
12.2重载前置运算符和后置运算符 213
12.2.1重载前置运算符 214
12.2.2重载后置运算符 215
12.3插入运算符和折取运算符的重载 217
12.3.1插入运算符的重载 217
12.3.2折取运算符的重载 218
12.4常用运算符的重载 220
12.4.1“<”运算符的重载 220
12.4.2“+”运算符的重载 222
12.4.3“=”运算符的重载 223
12.5小试身手—运算符重载实例 225
12.6疑难解惑 227
12.7经典习题 227
第13章类的继承 228
13.1面向对象编程概述 228
13.1.1面向对象编程的几个概念 228
13.1.2面向对象编程与面向过程编程的区别 229
13.2继承的基本概念 229
13.2.1基类和继承类 229
13.2.2简单的基础实例 231
13.2.3调用父类中的构造函数 236
13.3子类存取父类成员 239
13.3.1私有成员的存取 239
13.3.2继承与静态成员 241
13.3.3多继承 242
13.4小试身手—继承的应用 245
13.5疑难解惑 246
13.6经典习题 247
第14章虚函数和抽象类 248
14.1什么是虚函数 248
14.1.1虚函数的作用 248
14.1.2动态绑定和静态绑定 250
14.2抽象类与纯虚函数 252
14.2.1定义纯虚函数 252
14.2.2抽象类的作用 253
14.2.3虚析构函数 254
14.3抽象类的多重继承 256
14.4虚函数表 257
14.4.1什么是虚函数表 257
14.4.2继承关系的虚函数表 259
14.5小试身手—抽象类的应用 261
14.6疑难解惑 263
14.7经典习题 264
第15章C++中的文件处理 265
15.1文件的基本概念 265
15.1.1文件I/O 265
15.1.2文件顺序读写 269
15.1.3随机文件读写 269
15.2文件的打开与关闭 271
15.2.1文件的打开 271
15.2.2文件的关闭 273
15.3文本文件的处理 274
15.3.1将变量写入文件 274
15.3.2将变量写入文件尾部 275
15.3.3从文本文件中读入变量 275
15.3.4使用get、getline和put函数 276
15.4二进制文件的处理 279
15.5小试身手—文件操作 281
15.6疑难解惑 283
15.7经典习题 284
第16章异常处理 285
16.1异常的基本概念 285
16.2异常处理机制 285
16.3抛出异常 287
16.4重新抛出异常 289
16.5捕获所有异常 290
16.6不是错误的异常 291
16.7未捕捉到的异常 292
16.8标准异常 292
16.9异常规范 293
16.10异常与继承 294
16.11异常处理的应用 295
16.11.1自定义异常类 295
16.11.2捕获多个异常 297
16.12小试身手—异常处理 298
16.13疑难解惑 300
16.14经典习题 301
第17章模板与类型转换 302
17.1模板 302
17.1.1函数模板 302
17.1.2类模板 304
17.1.3模板参数 306
17.1.4模板的特殊化 307
17.1.5重载和函数模板 308
17.2类型识别和强制转换运算符 310
17.2.1运行时类型识别 310
17.2.2强制类型转换运算符 314
17.3小试身手—模板应用 316
17.4疑难解惑 318
17.5经典习题 319
第18章容器和迭代器 320
18.1STL 320
18.2迭代器 320
18.3顺序容器 322
18.3.1向量 322
18.3.2双端队列 323
18.3.3列表 324
18.4关联容器 326
18.4.1集合和多重集合 326
18.4.2映射和多重映射 328
18.5容器适配器 329
18.5.1栈 329
18.5.2队列 330
18.5.3优先级队列 332
18.6小试身手—容器操作实例 333
18.7疑难解惑 338
18.8经典习题 338
第19章开发商场采购系统 339
19.1系统需求分析 339
19.2功能分析 340
19.3系统代码编写 341
19.3.1密码文件和购物单文件 341
19.3.2管理员登录功能 342
19.3.3采购系统的主功能 345
19.3.4采购操作功能和验证功能的实现 350
19.3.5主程序运行入口 356
19.4系统运行 357
第20章开发推箱子游戏 359
20.1系统功能描述 359
20.2系统功能分析及实现 359
20.2.1功能分析 359
20.2.2功能实现 360
20.3游戏运行 365
下载地址