零基础C++学习笔记

零基础C++学习笔记

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

26小时视频同步课程,手把手教你学编程

80个学习二维码,手机、PC同步学习

53个学习笔记,轻松化解学习障碍

内容简介

本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习C++编程知识,并提升自己的实际开发能力。全书共18章,包括初识C++,C++语言基础,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,结构体与共用体,面向对象编程基础,类和对象,继承与派生,模板,STL标准模板库,RTTI与异常处理,程序调试,文件操作,网络通信,餐饮管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会C++程序开发的精髓,快速提高开发技能。

作者简介

明日科技是一家管理规范、研发能力强的互联网公司,同时从事图书开发。人员规模50人明日的优势:?明日科技很注重员工经验交流和开发经验整理、共享,内部积累文档已经整理得非常完善,代码讲解非常细致,目前已经出版图书300多个品种,占据主流语言图书销售排行的前列。?案例完全来自本企业的项目,紧跟时代脚步,内容质量上无可挑剔。?明日科技配套资源丰富,提供从视频讲解到快学快用的整体配套资源,同时技术服务做的也比较完善。

章节目录

目录

第1章初识C++ 1

1.1?C++概述 1

1.2?C++代码结构 2

1.2.1?C++工程项目文件 2

1.2.2?认识C++代码结构 2

第2章C++语言基础 4

2.1?第一个C++程序 4

2.1.1?#include指令 5

2.1.2?iostream标准库 5

2.1.3?命名空间 6

2.1.4?std::介绍 7

2.1.5?main函数 7

2.1.6?函数体 7

2.1.7?函数返回值 7

2.1.8?注释 7

2.2?常量及符号 8

2.2.1?整型常量 8

2.2.2?浮点型常量 11

2.2.3?字符常量 11

2.2.4?字符串常量 13

2.2.5?其他常量 15

2.3?变量 15

2.3.1?标识符 16

2.3.2?变量的声明及赋值 16

2.3.3?整型变量 17

2.3.4?实型变量 18

2.3.5?字符型变量 19

2.4?数据类型 21

2.4.1?定义数据类型 22

2.4.2?字符类型 23

2.4.3?布尔类型 24

2.5?数据输入与输出 24

2.5.1?控制台屏幕 24

2.5.2?C++语言中的流 24

2.5.3?流输出格式的控制 27

第3章?运算符与表达式 34

3.1?运算符 34

3.1.1?算术运算符 34

3.1.2?关系运算符 36

3.1.3?逻辑运算符 36

3.1.4?赋值运算符 38

3.1.5?位运算符 39

3.1.6?移位运算符 41

3.1.7?sizeof运算符 42

3.1.8?条件运算符 43

3.1.9?逗号运算符 43

3.2?结合性和优先级 44

3.3?表达式 46

3.3.1?表达式概述 46

3.3.2?表达式中的类型转换 46

3.4?判断左值与右值 49

第4章?条件判断语句 50

4.1?决策分支 50

4.2?判断语句 51

4.2.1?第一种形式的判断语句――?if语句 51

4.2.2?第二种形式的判断语句――?if?…else语句 53

4.2.3?第三种形式的判断语句――?if?…else if?语句 55

4.3?使用条件运算符进行判断 57

4.4?switch语句 58

4.5?判断语句的嵌套 63

第5章?循环语句 65

5.1?while循环和do…while循环 65

5.1.1?while循环 65

5.1.2?do...while循环 67

5.2?for循环 69

5.2.1?for循环的一般形式 69

5.2.2?for循环的变体 71

5.3?循环控制 73

5.3.1?控制循环的变量 73

5.3.2?break语句 74

5.3.3?continue语句 75

5.3.4?goto语句 76

5.4?循环的嵌套 77

第6章?函数 80

6.1?函数概述 80

6.1.1?函数的定义 80

6.1.2?函数的声明 81

6.2?函数参数及返回值 82

6.2.1?空函数 82

6.2.2?形参与实参 82

6.2.3?默认参数 83

6.2.4?可变参数 85

6.2.5?返回值 86

6.3?函数调用 87

6.3.1?传值调用 87

6.3.2?嵌套调用 89

6.3.3?递归调用 90

6.4?变量作用域 93

6.5?重载函数 94

6.6?内联函数 95

6.7?变量的存储类别 96

6.7.1?auto变量 97

6.7.2?static变量 98

6.7.3?register变量 100

6.7.4?extern变量 100

第7章?数组、指针和引用 101

7.1?一维数组 101

7.1.1?一维数组的声明 101

7.1.2?一维数组的引用 101

7.1.3?一维数组的初始化 102

7.2?二维数组 103

7.2.1?二维数组的声明 103

7.2.2?二维数组元素的引用 104

7.2.3?二维数组的初始化 104

7.3?字符数组 106

7.4?指针 112

7.4.1?变量与指针 112

7.4.2?指针运算符和取地址运算符 115

7.4.3?指针运算 116

7.4.4?指向空的指针与空类型指针 117

7.4.5?指向常量的指针与指针常量 118

7.5?指针与数组 119

7.5.1?指针与一维数组 119

7.5.2?指针与二维数组 121

7.5.3?指针与字符数组 125

7.6?指针在函数中的应用 126

7.6.1?传递地址 126

7.6.2?指向函数的指针 128

7.6.3?从函数中返回指针 129

7.7?指针数组 130

7.8?引用 132

7.8.1?引用概述 132

7.8.2?使用引用传递参数 133

7.8.3?数组作为函数参数 134

第8章?结构体与共用体 136

8.1?结构体 136

8.1.1?结构体定义 136

8.1.2?结构体变量 137

8.1.3?结构体成员及初始化 137

8.1.4?结构体的嵌套 140

8.1.5?结构体大小 142

8.2?重命名数据类型 143

8.3?结构体与函数 145

8.3.1?结构体变量做函数的参数 146

8.3.2?结构体指针变量做函数的参数 147

8.4?结构体数组 148

8.4.1?结构体数组声明与引用 148

8.4.2?指针变量访问结构体数组 149

8.5?共用体 150

8.5.1?共用体类型的定义与声明 150

8.5.2?共用体的大小 151

8.5.3?共用体数据类型的特点 152

8.6?枚举类型 153

8.6.1?枚举类型的声明 153

8.6.2?枚举类型变量 154

8.6.3?枚举类型的运算 155

第9章?面向对象编程基础 157

9.1?面向对象概述 157

9.2?面向对象与面向过程编程 158

9.2.1?面向过程编程 158

9.2.2?面向对象编程 159

9.2.3?面向对象的特点 159

9.3?统一建模语言 160

9.3.1?统一建模语言概述 160

9.3.2?统一建模语言的结构 160

9.3.3?面向对象的建模 162

第10章?类和对象 163

10.1?C++类 163

10.1.1?类概述 163

10.1.2?类的声明与定义 164

10.1.3?类的实现 165

10.1.4?对象的声明 170

10.2?构造函数 172

10.2.1?构造函数概述 172

10.2.2?复制构造函数 174

10.3?析构函数 176

10.4?类成员 178

10.4.1?访问类成员 178

10.4.2?内联成员函数 180

10.4.3?静态类成员 180

10.4.4?隐藏的this指针 183

10.4.5?嵌套类 184

10.4.6?局部类 185

10.5?友元 186

10.5.1?友元概述 186

10.5.2?友元类 189

10.5.3?友元方法 190

10.6?命名空间 192

10.6.1?使用命名空间 192

10.6.2?定义命名空间 193

10.6.3?在多个文件中定义命名空间 195

10.6.4?定义嵌套的命名空间 197

10.6.5?定义未命名的命名空间 199

第11章?继承与派生 200

11.1?继承 200

11.1.1?类的继承 200

11.1.2?继承的可访问性 202

11.1.3?构造函数访问顺序 204

11.1.4?子类显示调用父类构造函数 206

11.1.5?子类隐藏父类的成员函数 208

11.2?重载运算符 211

11.2.1?重载运算符的必要性 211

11.2.2?重载运算符的形式与规则 213

11.2.3?重载运算符的运算 214

11.2.4?转换运算符 217

11.3?多重继承 218

11.3.1?多重继承定义 218

11.3.2?二义性 220

11.3.3?多重继承的构造顺序 221

11.4?多态 222

11.4.1?虚函数概述 223

11.4.2?利用虚函数实现动态绑定 223

11.4.3?虚继承 225

11.5?抽象类 227

第12章?模板 229

12.1?函数模板 229

12.1.1?函数模板的定义 229

12.1.2?函数模板的作用 230

12.1.3?重载函数模板 232

12.2?类模板 233

12.2.1?类模板的定义与声明 234

12.2.2?简单类模板 236

12.2.3?设置默认模板参数 237

12.2.4?为具体类型的参数提供默认值 237

12.2.5?有界数组模板 238

12.3?模板的使用 241

12.3.1?定制类模板 241

12.3.2?定制类模板成员函数 243

12.4?链表类模板 244

12.4.1?链表 244

12.4.2?链表类模板 247

12.4.3?类模板的静态数据成员 250

第13章?STL标准模板库 252

13.1?序列容器 252

13.1.1?向量类模板 252

13.1.2?双端队列类模板 256

13.1.3?链表类模板 258

13.2?关联式容器 261

13.2.1?set类模板 261

13.2.2?multiset类模板 264

13.2.3?map类模板 266

13.2.4?multimap类模板 268

13.3?算法 269

13.3.1?非修正序列算法 269

13.3.2?修正序列算法 272

13.3.3?排序算法 274

13.3.4?数值算法 276

13.4?迭代器 277

13.4.1?输出迭代器 277

13.4.2?输入迭代器 278

13.4.3?前向迭代器 279

13.4.4?双向迭代器 279

13.4.5?随机访问迭代器 280

第14章?RTTI与异常处理 282

14.1?RTTI 282

14.1.1?什么是RTTI 282

14.1.2?RTTI与引用 283

14.1.3?RTTI与多重继承 284

14.1.4?RTTI映射语法 285

14.2?异常处理 288

14.2.1?抛出异常 288

14.2.2?异常捕获 290

14.2.3?异常匹配 293

14.2.4?标准异常 295

第15章?程序调试 296

15.1?选择正确的调试方法 296

15.2?四种常见的程序错误类型 296

15.2.1?语法错误 296

15.2.2?连接错误 297

15.2.3?运行时错误 298

15.2.4?逻辑错误 298

15.3?调试工具的使用 299

15.3.1?创建调试程序 299

15.3.2?进入调试状态 300

15.3.3?Watch窗口 301

15.3.4?Call Stack窗口 301

15.3.5?Memory窗口 302

15.3.6?Variables窗口 302

15.3.7?Registers窗口 303

15.3.8?Disassembly窗口 303

15.4?调试的基本应用 304

15.4.1?变量的跟踪与查看 304

15.4.2?位置断点的使用 305

15.5?调试的高级应用 308

15.5.1?在调试时修改变量的值 308

15.5.2?在循环语句中调试 309

第16章?文件操作 311

16.1?流简介 311

16.1.1?C++中的流类库 311

16.1.2?类库的使用 312

16.1.3?ios类中的枚举常量 312

16.1.4?流的输入/输出 313

16.2?文件打开 313

16.2.1?打开方式 313

16.2.2?默认打开模式 314

16.2.3?打开文件的同时创建文件 315

16.3?文件的读写 316

16.3.1?文件流 316

16.3.2?写文本文件 318

16.3.3?读取文本文件 319

16.3.4?二进制文件的读写 320

16.3.5?实现文件复制 321

16.4?文件指针移动操作 322

16.4.1?文件错误与状态 322

16.4.2?文件的追加 323

16.4.3?文件结尾的判断 324

16.4.4?在指定位置读写文件 325

16.5?文件和流的关联和分离 327

16.6?删除文件 328

第17章?网络通信 330

17.1?TCP/IP 330

17.1.1?OSI参考模型 330

17.1.2?TCP/IP参考模型 331

17.1.3?IP地址 331

17.1.4?数据包格式 332

17.2?套接字 334

17.2.1?WinSocket套接字 335

17.2.2?WinSocket的使用 335

17.2.3?套接字阻塞模式 340

17.2.4?字节顺序 341

17.2.5?面向连接流 341

17.2.6?面向无连接流 342

17.3?简单协议通信 342

17.3.1?服务端 342

17.3.2?客户端 345

17.3.3?实例的运行 346

第18章?餐饮管理系统 347

18.1?开发背景 347

18.2?需求分析 347

18.3?系统设计 348

18.3.1?系统目标 348

18.3.2?系统功能结构 348

18.3.3?系统预览 348

18.3.4?业务流程图 349

18.3.5?数据库设计 350

18.4?公共类设计 353

18.5?主窗体设计 354

18.6?注册模块设计 358

18.6.1?注册模块概述 358

18.6.2?注册模块技术分析 358

18.6.3?注册模块实现过程 359

18.7?登录模块设计 360

18.7.1?登录模块概述 360

18.7.2?登录模块技术分析 361

18.7.3?登录模块实现过程 361

18.8?开台模块设计 362

18.8.1?开台模块概述 362

18.8.2?开台模块技术分析 363

18.8.3?开台模块实现过程 363

18.9?点菜模块设计 366

18.9.1?点菜模块概述 366

18.9.2?点菜模块技术分析 366

18.9.3?点菜模块实现过程 367

18.10?结账模块设计 374

18.10.1?结账模块概述 374

18.10.2?结账模块技术分析 374

18.10.3?结账模块实现过程 375

零基础C++学习笔记是2021年由电子工业出版社出版,作者明日科技。

得书感谢您对《零基础C++学习笔记》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
零基础 Photoshop完全自学教程 电子书
本书是百万册畅销书——《中文版Photoshop完全自学教程》的姊妹篇,是专为初学者快速入门定制的实战教程。全书从Photoshop2022的安装和界面介绍开始讲起,以实战贯穿始终,读者通过动手练习,可以用较短的时间掌握特效制作、图像合成、照片调色、数码照片编辑、人像照片修图、抠图、矢量绘图、文字处理、Web图形编辑等技术。实战和实例类型丰富多彩,涵盖平面广告、UI设计、摄影后期、影楼修图、网店装
从零开始——PHP网页开发基础 电子书
本书侧重于PHP基础知识和应用方法的讲解,涵盖PHP基本语法、流程控制、PHP函数、PHP数组、PHP字符串、PHP正则表达式、日期与时间开发方法、错误日志处理等日常工作中必备的开发知识。
零基础学Photoshop CC 2018 电子书
本书根据作者多年教学经验和实战经验编写而成,以基础知识与练习实训相结合的形式,详细讲解了图像处理软件PhotoshopCC2018的应用技巧。随书提供资源文件,包含本书的实训素材文件、案例文件和视频文件,读者在学习的过程中可以随时进行调用。同时赠送海量资料,包括3本学习手册、164个珍藏素材、各种素材库,以及Photoshop精讲视频课。
零基础Arduino智能控制入门 电子书
Arduino是国际流行的开源硬件平台。用传统单片机进行开发需要掌握大量硬件知识,而用Arduino进行开发,只要有C语言基础和清晰的编程思路即可,不用关心寄存器、定时器等技术细节。如果采用图形化编程界面,甚至连C语言都不用掌握。因此,Arduino迅速成为非电子专业人士制作智能控制硬件的首选。本书从零起步,引导大家以设计智能化产品为载体,从软件、硬件两方面进行实验,共同体验交互玩具,制作数字仪器
Web前端学习笔记:HTML5+CSS3+JavaScript 电子书
由浅及深,讲解Web前端开发所需的知识。