当前位置:首页 > 工业技术
C++实用教程
C++实用教程

C++实用教程PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:郑阿奇主编;丁有和编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:7121055201
  • 页数:581 页
图书介绍:本书以最新C++标准(ISO/IEC 14882:2003)为依据,把C++程序设计作为一个完整的知识和教学体系,特别适合作为高校C++课程教材。全书包含实用教程、上机实验指导和综合应用实习三部分。“实用教程”部分:第1~第9章介绍C++语言结构化程序设计,侧重于结构化程序的设计方法;第10章~第14章介绍以类为核心的面向对象程序设计,侧重于类的设计思想,强调概括方法;第15章~第18章介绍以模板为机制的通用程序设计。“实用教程”部分在讲解内容后紧跟实例,各章配套的“习题”突出对C++基础内容的训练。“上机实验指导”以Visual C++ 6.0(SP6中文版)为开发工具,实验与教程配套且同步,通过实例先引导操作和编程,然后提出问题让读者思考,或引导读者进行操作和编程练习。“综合应用实习”通过对同一个题目用C++类和STL两种方案进行综合应用训练,培养和提高学生掌握C++编程思想和解决实际问题的应用能力。本教程可免费下载教学课件、教程和上机实验指导中的源程序代码。
《C++实用教程》目录

第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

返回顶部