内容简介:

秦广军等编著的《零点起飞学C++(附光盘)》结合大量示例和实战案例,由浅入深、循序渐进地介绍C++语言的相关知识,尤其对面向过程的程序设计到面向对象的程序设计做了重点介绍和必要辨析。本书特意提供了典型习题及教学PPT,以方便教学。另外,作者专门为本书录制了大量的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于本书的配书光盘中。

  《零点起飞学C++(附光盘)》共分4篇,第1篇面向过程的C++编程,包括走进C++、数据类型、变量和常量、运算符、表达式和语句、指针的操作、复合数据类型、函数、输入/输出,以及面向过程的编程案例。第2篇介绍面向对象的C++编程,包括封装、命名空间和作用域、继承和派生、多态、模板,以及面向对象的编程案例。第3篇介绍C++的高级开发技术,包括string类、异常处理、内存管理、预处理、错误和调试。第4篇介绍C++的应用开发实战,包括两种类型的案例,即用链表模拟堆栈和图的遍历(数据结构型)、用WinSocket编写客户机/服务器模式的系统和自定义协议及其实现的方法(网络型)。

  《零点起飞学C++(附光盘)》适合C++入门与想提高编程的人员阅读,也可作为大中专院校C++程序设计课程的教材。另外,本书也可供C++语言爱好者和从业者作为实际工作中的参考书籍。

目录:

目    录

第1篇  面向过程的C++编程

第1章  走进C++( 教学视频:27分钟) 2

1.1  认识C++ 2

1.1.1  C++的发展历程 2

1.1.2  C++的应用领域 2

1.2  C++开发环境的搭建 3

1.2.1  安装过程 3

1.2.2  开发环境介绍 4

1.3  认识第一个程序 7

1.4  小结 11

第2章  数据类型( 教学视频:38分钟) 12

2.1  数据的表示——数字运算型 12

2.1.1  表示整数的类型——整型 12

2.1.2  表示小数的类型——实型 13

2.1.3  浮点型 14

2.1.4  双精度型 15

2.2  是非问题——逻辑运算型 15

2.2.1 “并且”的运算——与运算 15

2.2.2 “或者”的运算——或运算 16

2.2.3 “No”的运算——非运算 16

2.2.4  逻辑运算的组合 17

2.3  文本的基础——字符型和字符串 17

2.3.1  单个字符的表示——字符型 17

2.3.2  多个字符的表示——字符串 19

2.3.3  字符与字符串的差异 19

2.4  复杂数据的表示——复合类型 19

2.5  小结 20

2.6  习题 20

第3章  数据的指代——变量和常量( 教学视频:50分钟) 21

3.1  指代可变的量——变量 21

3.1.1  变量是什么 21

3.1.2  多种多样的变量 23

3.1.3  变量的初始化 25

3.1.4  如何对变量命名 26

3.2  指代不变的量——常量 26

3.2.1  常量是什么 26

3.2.2  多种多样的常量 27

3.2.3  使用常量需要注意的问题 29

3.2.4  常量的初始化 29

3.2.5  如何对常量命名 29

3.3  小结 30

3.4  习题 30

第4章  数据运算的核心——运算符( 教学视频:48分钟) 31

4.1  加减乘除的运算——算术运算符 31

4.2  是是非非的运算——逻辑运算符 34

4.3  比较大小的运算——关系运算符 34

4.4  位运算 37

4.5  最基础的运算——赋值 40

4.6  运算符的优先级和结合性 41

4.6.1  优先级 41

4.6.2  结合性 44

4.7  小结 44

4.8  习题 44

第5章  运算的最小单位——表达式( 教学视频:46分钟) 46

5.1  使用表达式 46

5.1.1  表达式的种类 46

5.1.2  表达式到底是什么 47

5.1.3  如何写表达式 47

5.2  数据类型的转换 48

5.2.1  隐式转换 48

5.2.2  显式转换 50

5.3  小结 53

5.4  习题 53

第6章  程序的最小单位——语句( 教学视频:73分钟) 55

6.1  认识语句 55

6.1.1  单一语句——简单语句 55

6.1.2  多个语句——语句块 56

6.2  程序的执行顺序 58

6.3  因地制宜——选择型语句 58

6.3.1  如果…就…——if语句 58

6.3.2  多选一——switch语句 61

6.4  周而复始——循环型语句 65

6.4.1  只要…就…——while语句 65

6.4.2  如果…继续…——do…while语句 66

6.4.3  for语句 67

6.5  各种标志——标签语句 69

6.5.1  程序中的标志——普通标签语句 69

6.5.2  特殊标签语句 71

6.6  快捷通道——跳转语句 71

6.6.1  跳出来——break语句 71

6.6.2  continue语句 72

6.6.3  goto语句 73

6.7  语句嵌套 74

6.7.1  自增 74

6.7.2  自减 74

6.7.3  逗号语句 75

6.7.4  选择的简化版——?…:语句 75

6.8  小结 76

6.9  习题 76

第7章  指针( 教学视频:63分钟) 78

7.1  什么是地址 78

7.2  如何定义指针 79

7.2.1  指针的定义 79

7.2.2  向左向右分析指针 80

7.2.3  sizeof 80

7.3  指针的类型 81

7.4  初始化指针 83

7.4.1  用指针的地址进行初始化 84

7.4.2  用变量的地址进行初始化 84

7.4.3  用new分配的内存单元进行初始化 85

7.4.4  用malloc分配的内存单元进行初始化 85

7.5  指针的运算 87

7.5.1  算术运算 87

7.5.2  关系运算 89

7.6  指针嵌套——指针的指针 90

7.7  使用指针 92

7.7.1  给指针赋值 92

7.7.2  *操作符 93

7.8  指针与引用 93

7.9  特殊指针 96

7.9.1  void型指针 96

7.9.2  空指针 97

7.10  小结 98

7.11  习题 98

第8章  多数据的处理——复合类型( 教学视频:60分钟) 100

8.1  静态数组 100

8.1.1  指定维数完整 100

8.1.2  维数不全 101

8.1.3  无维数 101

8.2  动态数组 101

8.2.1  基于堆的动态数组 101

8.2.2  基于栈的动态数组 103

8.3  数据元素的存放 104

8.3.1  列优先存放 104

8.3.2  行优先存放 105

8.4  字符数组 105

8.4.1  定义和使用 106

8.4.2  字符数组和字符串 106

8.4.3  字符数组和字符串指针 107

8.5  初始化 107

8.5.1  定义时初始化 107

8.5.2  赋值初始化数组 109

8.6  指针与数组 110

8.6.1  指向数组的指针 110

8.6.2  指针数组 111

8.7  数组的使用 112

8.7.1  索引方式 112

8.7.2  指针方式 113

8.8  枚举 114

8.9  结构体 116

8.10  共用体 118

8.11  自定义类型 120

8.11.1  typedef的作用 120

8.11.2  定义自己的类型 122

8.12  小结 124

8.13  习题 124

第9章  通用语句块——函数( 教学视频:51分钟) 125

9.1  定义函数 125

9.1.1  定义方式 125

9.1.2  函数定义的示例 127

9.2  不同的函数 130

9.2.1  从返回值类型来划分 130

9.2.2  从作用域来划分 130

9.2.3  从C++类的成员函数特性来划分 132

9.3  函数通用的关键——参数 133

9.3.1  定义时候的参数——形参 133

9.3.2  调用时候的参数——实参 134

9.4  有借有还——函数返回值 135

9.4.1  返回值 136

9.4.2  返回表达式 136

9.5  调用函数 136

9.5.1  单独调用 136

9.5.2  函数表达式调用 137

9.5.3  嵌套调用 137

9.5.4  参数传递方式 138

9.6  自己调用自己——递归函数 139

9.7  函数指针 140

9.8  函数作为参数 141

9.9  main()函数分析 142

9.10  函数的规范编写 144

9.11  小结 144

9.12  习题 144

第10章  C++中的输入/输出( 教学视频:49分钟) 146

10.1  输入/输出库iostream 146

10.1.1  操作标准I/O 146

10.1.2  读写文件I/O 147

10.1.3  操作字符串I/O 148

10.2  输出流 149

10.2.1  输出预定义类型数据 149

10.2.2  输出自定义数据类型 150

10.3  输入流 151

10.3.1  输入预定义类型数据 151

10.3.2  输入自定义类型数据 152

10.4  格式化输入/输出 153

10.4.1  使用ios类成员函数进行格式化 153

10.4.2  使用操纵函数进行格式化控制 155

10.5  使用文件 157

10.5.1  打开/关闭文件 157

10.5.2  顺序读写文件 159

10.5.3  随机读写文件 160

10.6  小结 162

10.7  习题 162

第11章  面向过程的程序设计实战( 教学视频:52分钟) 164

11.1  问题定义 164

11.2  需求分析 164

11.3  总体设计 165

11.3.1  数据结构 165

11.3.2  图书基础数据维护模块 166

11.3.3  图书借阅模块 168

11.3.4  图书返还模块 168

11.3.5  会员基础数据维护模块 169

11.3.6  总体流程图 171

11.4  编码 172

11.4.1  主控文件bookmanager.cpp 172

11.4.2  菜单处理头文件mainfunction.h 172

11.4.3  数据结构头文件datainfo.h 173

11.4.4  功能函数头文件subfunction.h 173

11.4.5  菜单处理实现文件mainfunction.cpp 174

11.4.6  功能函数实现文件subfunction.cpp 177

11.5  小结 187

第2篇  面向对象的C++编程

第12章  面向对象( 教学视频:23分钟) 190

12.1  面向对象的概念 190

12.2  面向对象的程序设计 192

12.3  对象和类 192

12.4  面向对象的特征 193

12.4.1  封装 193

12.4.2  继承 194

12.4.3  多态 194

12.5  小结 195

12.6  习题 195

第13章  面向对象的本质——封装( 教学视频:55分钟) 196

13.1  构建类 196

13.1.1  声明类 196

13.1.2  构建属性 198

13.1.3  构建类的方法 198

13.1.4  使用构造函数 199

13.1.5  使用析构函数 202

13.1.6  可以共享的成员——静态成员 203

13.1.7  构建友元 204

13.1.8  访问修饰符 206

13.1.9  指向类成员的指针 207

13.1.10  类中定义的类——嵌套类 208

13.1.11  类文件的组织 209

13.2  类的具体表现——对象 211

13.2.1  定义对象 211

13.2.2  使用对象 212

13.2.3  指向自身的指针——this指针 214

13.3  小结 214

13.4  习题 214

第14章  命名空间和作用域( 教学视频:21分钟) 216

14.1  为什么使用命名空间 216

14.2  定义命名空间 216

14.3  如何使用命名空间 218

14.4  作用域 220

14.4.1  什么叫作用域 220

14.4.2  作用域的分类 221

14.5  小结 223

14.6  习题 223

第15章  继承和派生( 教学视频:62分钟) 225

15.1  继承和派生的关系 225

15.2  派生一个类 225

15.2.1  派生的起点——基类 226

15.2.2  派生的方式 227

15.2.3  使用构造函数 229

15.2.4  使用析构函数 231

15.2.5  同名方法的使用 232

15.2.6  同名属性的使用 234

15.3  单重继承 235

15.4  多重继承 235

15.4.1  为什么要多重继承 235

15.4.2  构造多重继承 236

15.4.3  析构函数和构造函数 237

15.4.4  多重继承的二义性 239

15.5  虚继承与虚基类 241

15.5.1  什么是虚基承 241

15.5.2  初始化虚基类 244

15.5.3  集成虚基类 246

15.6  继承中的限制 246

15.7  小结 247

15.8  习题 247

第16章  灵活的代码——多态( 教学视频:54分钟) 250

16.1  什么是多态 250

16.2  宏多态 251

16.3  虚函数 252

16.3.1  虚函数的作用 252

16.3.2  静态绑定 254

16.3.3  动态绑定 254

16.3.4  纯虚函数 254

16.4  抽象类 256

16.4.1  什么是抽象类 256

16.4.2  抽象类的派生 256

16.5  运算符的多态——运算符重载 257

16.5.1  为什么要重载运算符 257

16.5.2  重载的限制 258

16.5.3  重载一元运算符 259

16.5.4  重载二元运算符 260

16.6  函数重载 261

16.6.1  参数类型不同 261

16.6.2  参数个数不同 262

16.7  流的重载 263

16.7.1  流插入的重载 263

16.7.2  流提取的重载 264

16.8  覆盖 266

16.8.1  覆盖函数 266

16.8.2  覆盖变量 267

16.9  小结 268

16.10  习题 268

第17章  模板( 教学视频:25分钟) 271

17.1  什么是模板 271

17.2  类模板 272

17.2.1  定义类模板 272

17.2.2  使用类模板 273

17.2.3  类模板和模板类的区别 275

17.3  函数模板 276

17.3.1  定义函数模板 276

17.3.2  使用函数模板 276

17.3.3  函数模板和模板函数的区别 278

17.4  模板的实例化 278

17.5  模板的作用 279

17.6  基于模板的元编程 279

17.6.1  什么是元编程 279

17.6.2  基于模板的元编程 280

17.7  小结 281

17.8  习题 281

第18章  面向对象实战( 教学视频:18分钟) 283

18.1  问题定义 283

18.2  需求分析 283

18.3  面向对象分析与设计 284

18.3.1  类结构的设计 284

18.3.2  类的可见性 284

18.3.3  类的结构图 285

18.4  编码和测试 286

18.4.1  预编译头文件Stdafx.h 286

18.4.2  CCNTime类的头文件Cntime.h 287

18.4.3  CCNTime类的实现文件Cntime.cpp 288

18.4.4  主文件main.cpp 295

18.5  小结 296

第3篇  C++高级开发技术

第19章  文本处理—— string类( 教学视频:13分钟) 298

19.1  定义字符串 298

19.2  string类的常用方法 300

19.3  string类的运算 302

19.3.1  查找字符串 302

19.3.2  替换字符串 304

19.3.3  取子字符串 305

19.3.4  比较字符串 305

19.3.5  连接字符串 306

19.3.6  插入字符串 306

19.3.7  获取字符串大小和容量 307

19.4  小结 307

19.5  习题 308

第20章  不让程序出错——异常处理( 教学视频:16分钟) 309

20.1  异常处理机制 309

20.2  抛出异常 309

20.3  捕获异常 311

20.4  什么是异常处理的规格 313

20.5  常见的标准异常 313

20.6  小结 314

20.7  习题 314

第21章  内存管理( 教学视频:21分钟) 316

21.1  内存的分类 316

21.2  管理栈内存 317

21.2.1  申请栈内存 317

21.2.2  使用栈内存 318

21.2.3  释放栈内存 320

21.2.4  获取栈内存 320

21.3  管理堆内存 321

21.3.1  申请堆内存 321

21.3.2  使用堆内存 321

21.3.3  释放堆内存 322

21.3.4  改变大小 323

21.4  小结 324

21.5  习题 324

第22章  预处理( 教学视频:21分钟) 325

22.1  什么是预处理 325

22.2  常见的预处理 325

22.2.1  文件包含#include 326

22.2.2  布局控制#pragma 326

22.2.3  宏替换#define 330

22.2.4  条件编译 331

22.3  其他预处理指令 332

22.4  小结 333

22.5  习题 333

第23章  错误与调试( 教学视频:46分钟) 335

23.1  什么是错误 335

23.2  错误的种类 335

23.2.1  语法错误 335

23.2.2  链接错误 336

23.2.3  运行时错误 338

23.3  排查错误 339

23.3.1  看懂错误信息 339

23.3.2  错误发现的常见方法 339

23.3.3  如何调试 340

23.4  常见bug的分类 340

23.5  调试的窍门 341

23.5.1  使用断言assert 341

23.5.2  使用断言verify 342

23.5.3  assert 和 verify的差异 342

23.5.4  轨迹跟踪 343

23.5.5  使用断点 344

23.6  使用交互式调试 345

23.6.1  设置和删除断点 345

23.6.2  使用Debug窗口 345

23.6.3  使用Watch面板 347

23.6.4  使用步进方式调试 347

23.7  小结 347

23.8  习题 348

第4篇  应用开发实战

第24章  数据结构应用实战( 教学视频:23分钟) 350

24.1  采用链表模拟堆栈 350

24.1.1  链栈类的定义文件LinkStack.h 350

24.1.2  链栈类的实现文件LinkStack.cpp 351

24.1.3  链栈类的使用文件test24_1.cpp 354

24.2  遍历图 355

24.2.1  存储/遍历图 355

24.2.2  图遍历的代码 356

24.3  小结 359

第25章  网络应用案例( 教学视频:33分钟) 360

25.1  客户机/服务器通信 360

25.1.1  WinSocket 2常用函数 360

25.1.2  服务器/客户机编程模式 363

25.1.3  服务器和客户端公用文件 364

25.1.4  服务器端实现 367

25.1.5  客户端实现 368

25.2  自定义协议 369

25.2.1  自定义协议 370

25.2.2  自定义协议的实现 371

25.3  小结 374

下载地址:点我下载(提取码:8lct)     备用下载(提取码:b2c8)

转载于:https://www.cnblogs.com/qfwl123/p/3875726.html

《零点起飞学C++》.(秦广军)相关推荐

  1. 零点起飞学C语言pdf

    下载地址: 网盘下载 零点起飞学C语言结合大量实例,由浅入深.循序渐进地介绍了C语言程序设计.本书立足于C语言入门基础知识,对C语言的产生.C语言基础.如何将C语言应用于实际开发等内容进行了细致入微的 ...

  2. 零点起飞学Visual C++

    2019独角兽企业重金招聘Python工程师标准>>> <零点起飞学Visual C++>共19章,分4篇. 第1篇 介绍基础知识,包括Visual C++ 6.0集成开 ...

  3. 零点起飞学java视频_零点起飞学java (刘升华) 高清PDF_IT教程网

    资源名称:零点起飞学java (刘升华) 高清PDF 第1篇 java开发基础 第1章 java概述( 教学视频:37分钟)        2 第2章 基本数据类型及运算( 教学视频:52分钟)    ...

  4. 零点起飞学Visual Basic pdf

    下载地址:网盘下载 内容简介 编辑 张月萍编著的<零点起飞学VisualBasic>结合大量实例和项目开发案例,由浅入深.循序渐进地介绍了Visual Basic开发的知识.本书特意提供了 ...

  5. 零点起飞学Photoshop CS6图像处理

    零点起飞学Photoshop CS6图像处理 本书主要讲解了Photoshop CS6制作图形图像的功能.全书共分为21个章节,分别从Photoshop CS6基础入门.Photoshop CS6基本 ...

  6. 零点起飞学mysql视频_零点起飞学MySQL

    第1篇 MySQL基础 第1章 数据库的安装(教学视频:25分钟) 2 1.1 MySQL概述 2 1.1.1 MySQL特性以及历史 2 1.1.2 MySQL的获取 3 1.2 MySQL的安装 ...

  7. 零点起飞学php下载,零点起飞学PHP(附光盘)/零点起飞学编程

    目录 第1篇 PHP开发基础 第1章 PHP概述( 教学视频:51分钟) 1.1 动态网站技术 1.1.1 什么是动态网站 1.1.2 前台技术 1.1.3 后台技术 1.2 构建PHP环境 1.2. ...

  8. 图 相关算法~从头学算法【广搜、 深搜、 拓扑排序、 并查集、 弗洛伊德算法、迪杰斯特拉算法】

    图的相关主流算法主要有: 广度优先搜索 深度优先搜索 拓扑排序 并查集 多源最短路径(弗洛伊德算法) 单源最短路径(迪杰斯特拉算法) 其中呢,最基本的是前两种,也就是平时常用的广搜和深搜,本文中将概要 ...

  9. 空间几何变换知识-摘自机器视觉(张广军,2005)

    空间几何变换描述的是空间几何从一种状态按照一定的原则转换到另一种状态. 几个机器视觉中用到的空间几何变换如下:齐次坐标.射影变换(也是投影变换,我觉得).仿射变换.比例变换.欧式变换等. 齐次坐标表示 ...

  10. 【程序人生】一位普通计算机学生本科期间图书馆借阅书籍清单~

    快毕业了,由于毕设和机器学习有关,而我对Python和相关算法都不熟悉,光在网上看视频和论文十分吃力,所以今天去图书馆借了几本书,顺便和前台查询了下我这几年借过的书(一共也没多少,单纯总结下) 书名 ...

最新文章

  1. Windows Phone 7 IEnumerableT.Select和SelectMany的区别
  2. Tomcat 跨域问题的解决
  3. 什么是groupid和artifactId?
  4. C++中内存分配、函数调用和返回值问题
  5. OpenVINO 2020版没有cpu_extension.dll问题解决
  6. boost::geometry::densify用法的测试程序
  7. 面向对象编程(Object Oriented Programming)概念总结及延伸(一)
  8. 游戏中的物理与数学(一):物体运动算法的实现
  9. html5--3.7 input元素(6)
  10. 超全Linux备份工具集合,满足你的所有需要!
  11. mysql的unique_MySQL使用UNIQUE实现数据不重复插入
  12. jQuery+css3实现新年贺卡
  13. SQL中的count()、sum()函数内加条件
  14. fatal error: alsa/asoundlib.h: 没有那个文件或目录
  15. 蓝奏云无视密码强制下载器
  16. 经典DOS游戏皇帝攻略(曾经的回忆)
  17. 《数据结构》考研天勤和王道 第三章 栈、队列、数组和广义表
  18. linux setcap指令,linux setcap/getcap
  19. 一篇文章教会你用Python抓取抖音App热点数据
  20. 软件中GA、Release、RC、Beta、Alpha 各版本号的意义

热门文章

  1. 在Eclipse里面引入dtd文件
  2. 给本地Git配置账号信息
  3. 安装虚拟机(二)配置静态ip
  4. SpringBoot注册组件之@Import@ImportResource@ComponentScan
  5. 845透色android10,骁龙845旗舰宝刀不老 升级安卓10焕然一新
  6. java重新打开jframe,Java的; Jframe不重新绘制
  7. 【Python实例第18讲】affinity propagation聚类算法
  8. 统计学习(四):多重检验与控制程序
  9. Python进阶(一)Python中的内置函数、内置方法、私有属性和方法详解
  10. 数据科学家应该掌握的12种机器学习算法(附信息图)