C++实用教程PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:郑阿奇主编;丁有和编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2008
- ISBN:7121055201
- 页数:581 页
第1部分 实用教程 1
第1章 C++概述 1
1.1 从C到C++ 1
1.2 C++编程模式 2
1.2.1 结构化程序设计 2
1.2.2 面向对象程序设计 3
1.2.3 通用编程 4
1.3 创建C++程序 4
1.3.1 C++集成开发环境 4
1.3.2 C++程序创建过程 6
1.4 C++程序结构 8
1.4.1 main函数 8
1.4.2 头文件包含 9
1.4.3 新头文件格式和名称空间 9
1.4.4 注释 10
1.4.5 C++程序组成 10
1.5 程序书写规范 12
习题1 13
第2章 数据类型和基本输入/输出 14
2.1 计算机内的数据表示 14
2.1.1 数制 14
2.1.2 机内的数值表示 14
2.1.3 机内非数值编码 16
2.2 基本数据类型 18
2.2.1 整型 18
2.2.2 实型 19
2.2.3 字符型 19
2.2.4 布尔型 20
2.3 字面常量 20
2.3.1 整数常量 21
2.3.2 实数常量 21
2.3.3 字符常量 21
2.3.4 字符串常量 23
2.3.5 布尔常量 24
2.4 变量 24
2.4.1 变量名命名 24
2.4.2 变量的定义 25
2.4.3 变量赋值和初始化 26
2.5 标识符常量 27
2.5.1 const只读变量 28
2.5.2 #define标识符常量 29
2.5.3 枚举常量 29
2.6 基本输入/输出 30
2.6.1 输入流(cin) 31
2.6.2 输出流(cout) 32
2.6.3 使用格式算子oct、dec和hex 32
习题2 33
第3章 运算符和表达式 35
3.1 算术运算 35
3.1.1 算术运算符 35
3.1.2 优先级和结合性 36
3.1.3 数据类型转换 36
3.1.4 代数式和表达式 37
3.2 赋值运算 38
3.2.1 左值和右值 39
3.2.2 数值截取和数值溢出 39
3.2.3 复合赋值 41
3.2.4 多重赋值 42
3.3 sizeof运算符 42
3.4 逗号运算符 43
3.5 自增和自减 43
3.5.1 一般用法 43
3.5.2 前缀和后缀的区别 44
3.5.3 几点注意事项 44
3.6 位运算 46
3.6.1 位逻辑运算 46
3.6.2 移位运算 47
3.6.3 位运算的应用 49
习题3 50
第4章 基本语句和基本程序结构 52
4.1 C++语句概述 52
4.1.1 说明语句 52
4.1.2 表达式语句 52
4.1.3 块语句 53
4.2 分支语句 54
4.2.1 关系和逻辑表达式 54
4.2.2 if语句 56
4.2.3 “?...:”运算符及其表达式 62
4.2.4 switch语句 63
4.3 循环语句 67
4.3.1 while语句 67
4.3.2 do...while语句 69
4.3.3 for语句 70
4.3.4 循环语句的嵌套 72
4.4 转向语句 74
4.4.1 break语句 74
4.4.2 continue语句 75
4.4.3 goto语句 76
4.5 结构化程序设计应用 77
4.5.1 算法和流程图 77
4.5.2 求最大公约数和最小公倍数 79
4.5.3 自动出题器 80
4.5.4 打印图案 81
习题4 83
第5章 函数 86
5.1 函数概述 86
5.2 函数的定义和声明 87
5.2.1 函数的定义 87
5.2.2 函数的调用和声明 90
5.3 函数的参数特性 92
5.3.1 全局变量和局部变量 92
5.3.2 函数调用的内部机制 93
5.3.3 参数传递方式 94
5.3.4 函数的默认形参值 95
5.4 函数的调用特性 97
5.4.1 函数重载 97
5.4.2 内联函数 98
5.4.3 函数嵌套调用 99
5.4.4 递归函数 101
5.5 递归程序设计 104
5.5.1 设计步骤 104
5.5.2 Fibonacci数列 106
5.5.3 Hanoi塔问题 108
习题5 111
第6章 数组 112
6.1 一维数组 112
6.1.1 一维数组的定义和引用 112
6.1.2 一维数组的初始化和赋值 114
6.1.3 一维数组的简单应用 115
6.2 二维数组 116
6.2.1 二维数组的定义和引用 117
6.2.2 二维数组的初始化和赋值 118
6.2.3 二维数组的基本应用 119
6.3 字符数组和字符串 122
6.3.1 一维字符数组 122
6.3.2 二维字符数组 123
6.4 数组与函数 124
6.4.1 地址传递和值传递 124
6.4.2 传递数组 125
6.5 排序算法 126
6.5.1 冒泡排序法 126
6.5.2 选择排序法 128
6.5.3 直接插入排序法 129
习题6 131
第7章 指针和引用 134
7.1 指针的定义和操作 134
7.1.1 地址和指针 134
7.1.2 指针的定义和引用 135
7.1.3 指针的算术运算 138
7.1.4 const指针 140
7.2 指针和数组 141
7.2.1 指针和一维数组 141
7.2.2 指针和二维数组 144
7.2.3 字符指针和字符串 147
7.2.4 指针数组和多级指针 148
7.3 指针和函数 152
7.3.1 指针作为函数的参数 152
7.3.2 返回指针的函数 155
7.3.3 指向函数的指针 156
7.3.4 带参数的main函数 158
7.4 动态内存和void指针 160
7.4.1 new和delete 160
7.4.2 void指针 162
7.5 引用 165
7.5.1 引用的声明和操作 165
7.5.2 引用传递 168
7.5.3 返回引用 169
7.6 Josephus问题 170
习题7 172
第8章 结构 174
8.1 结构类型 174
8.1.1 结构类型声明 174
8.1.2 定义结构类型变量 175
8.1.3 结构类型变量的引用 177
8.1.4 重名问题 178
8.2 结构数组 178
8.2.1 结构数组的定义和初始化 178
8.2.2 结构数组元素的引用 180
8.3 结构与函数 182
8.3.1 传递结构参数 182
8.3.2 返回结构 184
8.4 结构指针 185
8.4.1 结构指针定义和初始化 185
8.4.2 结构指针变量的成员引用 186
8.5 联合 187
8.5.1 联合的声明 187
8.5.2 联合类型变量的定义和使用 188
8.6 使用typedef 190
8.7 简单链表 192
8.7.1 链表概述 192
8.7.2 链表的创建和遍历 193
8.7.3 链表的删除 196
8.7.4 链表结点的插入和添加 198
8.7.5 用链表求解Josephus问题 200
习题8 203
第9章 程序组织和编译预处理 205
9.1 作用域和可见性 205
9.1.1 函数原型作用域 205
9.1.2 函数作用域 205
9.1.3 块作用域 206
9.1.4 文件作用域 207
9.1.5 域运算符 208
9.2 内存区和存储类型 208
9.2.1 内存区 208
9.2.2 自动类型和寄存器类型 209
9.2.3 静态类型 209
9.2.4 外部类型 212
9.3 编译预处理 214
9.3.1 宏定义 214
9.3.2 条件编译命令 215
9.3.3 文件包含命令 217
9.3.4 文件重复包含处理 218
9.4 名称空间 219
习题9 223
第10章 类和对象 225
10.1 类和对象概述 225
10.1.1 从结构到类 225
10.1.2 类的声明 226
10.1.3 对象的定义和成员的访问 229
10.1.4 类作用域和成员访问权限 231
10.2 构造函数和析构函数 234
10.2.1 构造函数 234
10.2.2 析构函数 239
10.2.3 new和delete 240
10.3 对象的使用 242
10.3.1 对象赋值和拷贝 242
10.3.2 浅拷贝和深拷贝 244
10.3.3 对象成员的初始化 247
10.3.4 const对象 253
10.3.5 对象的生存期 254
10.4 综合应用实例 254
习题10 260
第11章 数据共享和成员特性 263
11.1 静态成员 263
11.1.1 静态数据成员 263
11.1.2 静态成员函数 266
11.2 友元 268
11.2.1 友元概述 268
11.2.2 友元函数 269
11.2.3 友元类 272
11.3 成员其他特性 274
11.3.1 const成员 274
11.3.2 mutable成员 277
11.3.3 explicit成员 278
11.4 this指针 280
11.4.1 成员函数的效率 280
11.4.2 this指针的实质 283
11.5 综合应用实例 285
习题11 290
第12章 继承和派生 293
12.1 继承和派生概述 293
12.1.1 继承的概念 293
12.1.2 继承的特性 294
12.1.3 派生类的定义 295
12.2 继承方式 296
12.2.1 公有继承 296
12.2.2 私有继承 299
12.2.3 保护继承 302
12.2.4 不同继承方式的比较 302
12.3 派生类的构造和析构 304
12.3.1 构造和析构次序 304
12.3.2 派生类数据成员初始化 306
12.3.3 基类成员的访问 310
12.4 二义性和虚基类 310
12.4.1 二义性概述 310
12.4.2 二义性解决方法 314
12.4.3 虚基类和虚继承 315
12.5 兼容 317
12.5.1 赋值兼容规则 317
12.5.2 赋值兼容机理 318
12.6 综合应用实例 323
12.6.1 类间关系 323
12.6.2 设计实例 324
习题12 328
第13章 多态 330
13.1 多态和虚函数 330
13.1.1 多态概述 330
13.1.2 虚函数机制 332
13.1.3 虚析构函数 335
13.1.4 纯虚函数和抽象类 337
13.2 运算符重载 339
13.2.1 运算符重载函数 339
13.2.2 运算符重载限制 341
13.2.3 友元重载 341
13.2.4 转换函数 344
13.3 典型运算符重载 346
13.3.1 赋值运算符的重载 346
13.3.2 自增、自减运算符的重载 347
13.3.3 下标运算符重载 349
13.4 综合应用实例 351
习题13 355
第14章 输入/输出流 357
14.1 概述 357
14.1.1 流和流类 357
14.1.2 标准流对象 358
14.1.3 提取和插入运算符重载 358
14.2 格式控制和错误处理 360
14.2.1 设置输出宽度和填充字符 360
14.2.2 控制实数显示 361
14.2.3 左右对齐输出 362
14.2.4 流的错误处理 362
14.3 使用输入/输出成员函数 364
14.3.1 输入操作的成员函数 364
14.3.2 输出操作的成员函数 366
14.4 文件流 367
14.4.1 文件和文件流概述 367
14.4.2 文件流的使用方法 368
14.4.3 顺序文件操作 371
14.4.4 随机文件操作 372
14.5 综合应用实例 376
习题14 380
第15章 模板 382
15.1 函数模板 382
15.1.1 函数模板定义 382
15.1.2 函数模板实例化 383
15.1.3 函数模板具体化 386
15.1.4 函数模板重载 387
15.2 类模板 390
15.2.1 类模板的定义 390
15.2.2 类模板的实例化 392
15.3 类模板的相关问题 394
15.3.1 类模板的静态成员 394
15.3.2 类模板的友元 395
15.3.3 派生类模板 398
15.4 综合应用实例 401
习题15 404
第16章 标准模板库(STL) 405
16.1 迭代器 405
16.1.1 迭代器的由来 405
16.1.2 迭代器的类型 407
16.2 容器类 408
16.2.1 向量、链表和双端队列 409
16.2.2 栈和队列 414
16.2.3 映像 416
16.2.4 集合 421
16.3 算法 424
16.3.1 概述 424
16.3.2 copy和流迭代器 425
16.3.3 find 426
16.3.4 sort 429
16.4 综合应用实例 431
习题16 435
第17章 string类和字符串流 436
17.1 string类概述 436
17.1.1 string类的构造函数和对象定义 436
17.1.2 string类的属性函数 437
17.2 string类常用操作函数 439
17.2.1 string类修改操作函数 439
17.2.2 string类查找和比较操作函数 443
17.2.3 使用string类运算符 444
17.2.4 string字符的大小写转换 445
17.3 string迭代器 446
17.4 字符串流 448
17.5 综合应用实例 451
习题17 456
第18章 异常处理和其他 457
18.1 异常及其传统处理方法 457
18.1.1 判断函数返回值或形参 457
18.1.2 使用全局标志变量 458
18.1.3 使用exit和abort 458
18.2 使用C++异常处理 458
18.2.1 try/throw/catch结构 459
18.2.2 C++异常处理过程 461
18.2.3 嵌套异常和栈展开 462
18.3 异常匹配和规范 466
18.3.1 异常类型匹配 466
18.3.2 异常规范 468
18.3.3 规范函数terminate和unexpected 470
18.3.4 C++标准异常处理类 472
18.4 RTTI和类型转换 474
18.4.1 类型转换 474
18.4.2 dynamic_cast 477
18.4.3 typeid运算符和type_info类 480
习题18 483
第2部分 上机实验指导 485
实验1 认识Visual C++6.0中文版开发环境 485
实验2 数据类型、运算符和表达式 495
实验3 分支语句 499
实验4 循环语句 502
实验5 函数 506
实验6 数组 509
实验7 指针和引用 513
实验8 结构、程序组织和编译预处理 517
实验9 类和对象 525
实验10 继承和派生 531
实验11 多态 537
实验12 输入/输出流 542
实验13 模板和标准模板库 549
实验14 string类和字符串流 553
实验15 异常处理和其他 557
第3部分 综合应用实习 564
综合应用实习1 564
综合应用实习2 573
附录A 常用的C++库函数及类库 576
附录B ASCII码表 577
附录C 格式算子 578
附录D 格式控制成员函数 579
附录E 运算符优先级和结合性 579
附录F 函数符 581
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《线性代数简明教程》刘国庆,赵剑,石玮编著 2019
- 《高考快速作文指导》张吉武,鲍志伸主编 2002
- 《建筑施工企业统计》杨淑芝主编 2008
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《汉语词汇知识与习得研究》邢红兵主编 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017