扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

21天学通C++-第4版

综合评级:
★★★★★

定价:
¥59.80

作者:
刘蕾

出版社:
电子工业

出版日期:
2016/04/01

页数:
405

ISBN:
9787121278792

书籍介绍

◆基础知识->核心技术->典型案例->综合练习->项目案例

◆239个典型实例,1个项目案例,44个练习题,61个面试题

◆一线开发人员全程贴心讲解,上手毫不费力

◆超值dvd内含12小时多媒体教学视频,以及丰富赠品!

目录

第一篇 C++数据表达篇

 

第1章 C++入门(教学视频:31分钟) 1

1.1 C++概述 1

1.1.1 C++的历史沿革 1

1.1.2 C++与面向对象 1

1.1.3 从C到C++ 2

1.2 程序设计方法 3

1.2.1 结构化程序设计 3

1.2.2 面向对象程序设计 4

1.2.3 程序设计方法比较 4

1.3 C++开发环境——Visual C++ 6.0 5

1.3.1 工作区 5

1.3.2 编辑区(Editor Area) 6

1.3.3 输出窗口(Output Panel) 6

1.3.4 菜单栏、工具栏、状态栏 7

1.4 第一个c++程序——Hello World 7

1.4.1 创建源程序 7

1.4.2 编译连接 9

1.4.3 调试运行 9

1.5 C++源程序组成元素 10

1.5.1 基本组成 10

1.5.2 基本符号 11

1.5.3 标识符 11

1.5.4 保留字 11

1.5.5 分隔符 12

1.6 小结 12

1.7 习题 12

 

第2章 变量和数据类型(教学视频:32分钟) 16

2.1 常量 16

2.1.1 声明常量 16

2.1.2 常量的应用 17

2.2 变量 19

2.2.1 声明变量 19

2.2.2 变量的命名规则 19

2.2.3 变量的作用范围 20

2.2.4 变量的应用 21

2.3 基本数据类型 22

2.3.1 整型 23

2.3.2 字符型 24

2.3.3 浮点型 26

2.3.4 布尔型 26

2.4 类型转换 27

2.4.1 隐式转换 27

2.4.2 显式转换 28

2.5 小结 29

2.6 习题 29

 

第3章 运算符和表达式(教学视频:34分钟) 32

3.1 运算符 32

3.1.1 算术运算符 32

3.1.2 赋值运算符 34

3.1.3 关系运算符 35

3.1.4 逻辑运算符 35

3.1.5 条件运算符 36

3.1.6 逗号运算符 37

3.1.7 位运算符 37

3.1.8 sizeof运算符 38

3.1.9 运算符的优先级 38

3.2 表达式 39

3.2.1 算术表达式 40

3.2.2 关系表达式 40

3.2.3 逻辑表达式 41

3.2.4 条件表达式 42

3.2.5 赋值表达式 43

3.2.6 逗号表达式 43

3.3 语句 44

3.3.1 语句中的空格 44

3.3.2 空语句 45

3.3.3 声明语句 45

3.3.4 赋值语句 46

3.4 小结 46

3.5 习题 46

 

第4章 程序控制结构(教学视频:32分钟) 50

4.1 顺序结构 50

4.1.1 表达式语句 50

4.1.2 输入语句 51

4.1.3 输出语句 51

4.1.4 格式控制符 52

4.1.5 应用示例 55

4.2 选择结构 56

4.2.1 if语句 56

4.2.2 if…else语句 57

4.2.3 多重if…else语句 58

4.2.4 switch语句 60

4.2.5 应用示例 62

4.3 循环结构 63

4.3.1 for语句 63

4.3.2 while语句 64

4.3.3 do?while语句 65

4.3.4 多重循环 66

4.3.5 应用示例 67

4.4 转向语句 68

4.5 小结 69

4.6 习题 69

 

第二篇 C++面向过程设计篇

 

第5章 函数(教学视频:36分钟) 73

5.1 定义函数 73

5.1.1 函数概述 73

5.1.2 定义函数 74

5.1.3 应用示例 75

5.2 函数参数及原型 76

5.2.1 函数的参数及返回值 76

5.2.2 函数原型 77

5.2.3 main()函数 77

5.2.4 带参数的main()函数 79

5.3 调用函数 80

5.3.1 函数调用格式 80

5.3.2 传值调用 81

5.3.3 引用调用 82

5.3.4 嵌套调用 83

5.3.5 递归调用 83

5.3.6 带默认形参值的函数 85

5.4 变量的作用域 85

5.4.1 局部变量 86

5.4.2 全局变量 87

5.5 函数的作用域 88

5.6 函数重载 89

5.6.2 参数类型不同的函数重载 90

5.6.3 参数个数上不同的重载函数 91

5.7 小结 92

5.8 习题 92

 

第6章 编译预处理(教学视频:37分钟) 95

6.1 预处理命令 95

6.2 宏 95

6.2.1 宏概述 95

6.2.2 不带参数的宏定义 96

6.2.3 取消宏 97

6.2.4 宏嵌套 99

6.2.5 带参数的宏定义 99

6.2.6 内联函 103

6.2.7 宏与函数的区别 104

6.3 文件包含 105

6.3.1 #include命令 105

6.3.2 合理使用文件包含 106

6.4 条件编译 107

6.4.1 #ifdef形式 108

6.4.2 #ifndef形式 109

6.4.3 #if形式 109

6.5 其他命令 110

6.5.1 #error命令 110

6.5.2 #line命令 111

6.6 小结 111

6.7 习题 111

 

第7章 数组(教学视频:35分钟) 114

7.1 声明数组 114

7.1.1 声明一维数组 114

7.1.2 声明多维数组 115

7.2 引用数组 116

7.2.1 引用一维数组 116

7.2.2 引用多维数组 117

7.3 数组的赋值 118

7.3.1 初始化数组 118

7.3.2 通过赋值表达式赋值 120

7.3.3 通过输入语句赋值 121

7.3.4 通过循环语句赋值 121

7.3.5 多维数组的赋值 123

7.4 字符串 123

7.4.1 传统字符串 124

7.4.2 字符数组 126

7.5 数组与函数 127

7.6 数组应用 129

7.6.1 顺序查找 129

7.6.2 折半查找 130

7.6.3 排序 133

7.7 小结 135

7.8 习题 135

 

第8章 指针(教学视频:33分钟) 138

8.1 指针概述 138

8.1.1 指针是什么 138

8.1.2 定义指针 139

8.1.3 指针的初始化 139

8.2 指针的运算 141

8.2.1 取地址与取值运算 141

8.2.2 指针的算术运算 142

8.2.3 指针的关系运算 144

8.2.4 指针的赋值运算 145

8.2.5 void指针和const指针 145

8.3 指针与数组 147

8.3.1 访问数组元素的方法 147

8.3.2 多维数组元素的访问 149

8.3.3 数组指针与指针数组 150

8.4 指针与函数 151

8.4.1 指针作为函数参数 151

8.4.2 指针型函数 153

8.4.3 函数指针 154

8.5 指针与字符串 155

8.6 二级指针 156

8.7 小结 157

8.8 习题 158

 

第9章 构造数据类型(教学视频:34分钟) 161

9.1 结构体 161

9.1.1 结构体概述 161

9.1.2 结构体类型说明 162

9.1.3 定义结构体类型变量 163

9.1.4 初始化结构体变量 164

9.1.5 引用结构体成员变量 166

9.1.6 结构体作为函数参数 168

9.2 共用体 169

9.2.1 共用体类型说明 169

9.2.2 定义共用体类型变量 170

9.2.3 引用共用体成员变量 170

9.3 枚举 172

9.3.1 定义枚举类型 172

9.3.2 定义枚举类型变量 174

9.3.3 引用枚举类型变量 175

9.4 类型重定义typedef 176

9.5 位域 178

9.5.1 定义位域变量 178

9.5.2 使用位域 179

9.6 小结 180

9.7 习题 181

 

第三篇 C++面向对象编程

 

第10章 类和对象(教学视频:35分钟) 184

10.1 类 184

10.1.1 什么是类 184

10.1.2 结构到类 185

10.1.3 类的声明 187

10.1.4 类的访问控制 188

10.1.5 类的定义 190

10.2 对象 192

10.2.1 对象概述 192

10.2.2 对象数组 193

10.3 构造函数 195

10.3.1 构造函数的概念 195

10.3.2 构造函数的声明和定义 195

10.3.3 构造函数的调用 197

10.3.4 不带参数的构造函数 197

10.3.5 带有默认参数的构造函数 198

10.3.6 构造函数的重载 200

10.4 拷贝构造函数 201

10.4.1 定义拷贝构造函数 201

10.4.2 调用拷贝构造函数 202

10.4.3 默认拷贝构造函数 204

10.5 析构函数 205

10.6 友元 206

10.6.1 友元函数 206

10.6.2 友元成员 208

10.6.3 友元类 209

10.7 小结 211

10.8 习题 211

 

第11章 继承(教学视频:38分钟) 215

11.1 继承与派生 215

11.1.1 继承与派生概述 215

11.1.2 声明派生类 216

11.2 访问控制 216

11.2.1 公有继承 217

11.2.2 私有派生 219

11.2.3 保护继承 220

11.3 派生类的构造函数和析构函数 224

11.3.1 执行顺序和构建原则 224

11.3.2 派生类的构造函数 224

11.3.3 派生类析构函数的构建 225

11.4 多重继承 227

11.4.1 二义性问题 227

11.4.2 声明多重继承 229

11.4.3 多重继承的构造函数和析构函数 231

11.5 虚基类 233

11.5.1 虚基类的引入 233

11.5.2 定义虚基类 234

11.5.3 虚基类的构造函数和初始化 236

11.6 小结 237

11.7 习题 237

 

第12章 多态(教学视频:34分钟) 242

12.1 多态 242

12.1.1 什么是多态 242

12.1.2 多态的作用 243

12.1.3 多态的引入 243

12.2 函数重载 245

12.3 虚函数 246

12.3.1 虚函数的引入 246

12.3.2 定义虚函数 248

12.3.3 使用虚函数 249

12.3.4 多重继承和虚函数 250

12.3.5 虚函数的注意事项 252

12.4 抽象类 252

12.4.1 纯虚函数 252

12.4.2 抽象类 254

12.5 小结 255

12.6 习题 256

 

第13章 运算符重载(教学视频:31分钟) 259

13.1 运算符重载简介 259

13.1.1 运算符重载的定义 259

13.1.2 运算符重载的特点 260

13.1.3 运算符重载的规则 261

13.2 运算符重载的形式 262

13.2.1 重载为类的成员函数 262

13.2.2 双目运算符重载为成员函数 262

13.2.3 单目运算符重载为成员函数 263

13.2.4 运算符重载为类的友元函数 265

13.2.5 双目运算符重载为友元函数 265

13.2.6 单目运算符重载为友元函数 266

13.2.7 成员运算符函数与友元运算符函数的比较 268

13.3 特殊运算符的重载 268

13.3.1 “++”和“--”的重载 268

13.3.2 赋值运算符“=”的重载 270

13.3.3 下标运算符“[ ]”的重载 272

13.4 类类型转换 273

13.5 小结 275

13.6 习题 275

 

第14章 输入/输出流(教学视频:34分钟) 279

14.1 输入/输出流的引入 279

14.1.1 printf与scanf的缺陷 279

14.1.2 输入/输出流简介 280

14.1.3 输入/输出流类层次 281

14.2 标准输入/输出流 282

14.2.1 标准输出流对象 282

14.2.2 标准输入流对象 283

14.2.3 标准错误输出流对象 284

14.3 输入/输出流成员函数 285

14.3.1 get()函数:输出字符串 285

14.3.2 getline()函数:获取字符串 287

14.4 输入/输出的格式控制 287

14.4.1 用iOS类的成员函数进行格式控制 287

14.4.2 使用格式控制符进行格式控制 290

14.5 用户自定义数据类型的输入/输出 292

14.5.1 重载输出运算符“<<” 292

14.5.2 重载输入运算符“>>” 293

14.6 小结 295

14.7 习题 295

 

第四篇 C++高级特性篇

 

第15章 文件(教学视频:28分钟) 298

15.1 文件和流 298

15.1.1 文件概述 298

15.1.2 文件流类 299

15.2 文件的打开与关闭 300

15.2.1 打开文件 300

15.2.2 关闭文件 302

15.3 文件的顺序读写 303

15.3.1 读写文本文件 303

15.3.2 文本文件应用示例 304

15.3.3 二进制文件概述 306

15.3.4 读写二进制文件 306

15.4 文件的随机读写 309

15.5 小结 311

15.6 习题 311

 

第16章 命名空间(教学视频:34分钟) 314

16.1 命名空间 314

16.1.1 什么是命名空间 314

16.1.2 定义命名空间 315

16.2 使用命名空间 317

16.2.1 使用作用域运算符引用成员 317

16.2.2 使用using指令 318

16.2.3 使用using声明 319

16.2.4 using指令与using声明的比较 320

16.3 类的作用域 320

16.3.1 静态数据成员 320

16.3.2 静态成员函数 322

16.4 作用域 323

16.4.1 局部作用域 323

16.4.2 全局作用域 325

16.4.3 作用域嵌套 326

16.5 this指针 327

16.6 小结 329

16.7 习题 329

 

第17章 引用与内存管理(教学视频:31分钟) 332

17.1 引用 332

17.1.1 引用概述 332

17.1.2 引用的使用 333

17.2 引用的操作 334

17.2.1 引用作为函数参数 334

17.2.2 引用作为返回值 335

17.3 动态内存分配 336

17.3.1 申请动态内存 336

17.3.2 释放空间 337

17.3.3 malloc和free库函数 339

17.4 const引用 340

17.5 指针与引用的区别 342

17.6 小结 343

17.7 习题 343

 

第五篇 C++编程实践篇

 

第18章 标准模板库STL(教学视频:30分钟) 346

18.1 标准模板库 346

18.1.1 STL概述 346

18.1.2 STL的引入 346

18.1.3 STL的组成 347

18.2 算法 348

18.3 容器 350

18.3.1 什么是容器 350

18.3.2 向量 350

18.3.3 列表 352

18.3.4 集合 354

18.3.5 双端队列 355

18.3.6 栈 356

18.3.7 映射和多重映射 357

18.4 迭代器 358

18.5 小结 360

18.6 习题 360

 

第19章 模板与C++标准库(教学视频:33分钟) 363

19.1 模板概述 363

19.1.1 模板简介 363

19.1.2 模板的引入 364

19.2 函数模板 365

19.2.1 定义函数模板 365

19.2.2 生成模板函数 366

19.2.3 函数模板的异常处理 367

19.3 类模板 368

19.3.1 定义类模板 368

19.3.2 模板类 369

19.4 C++标准库概述 371

19.5 字符串库 372

19.5.1 读写字符串 372

19.5.2 字符串赋值 372

19.5.3 字符串比较 373

19.5.4 字符串长度和空字符串 374

19.6 小结 376

19.7 习题 376

 

第20章 异常处理(教学视频:31分钟) 379

20.1 错误与异常 379

20.1.1 什么是异常 379

20.1.2 异常处理的基本思想 379

20.2 异常处理的实现 381

20.2.1 使用try/catch捕获异常 381

20.2.2 使用throw抛出异常 382

20.2.3 应用示例 383

20.3 类和结构的异常处理 384

20.3.1 异常处理中的构造和析构 385

20.3.2 处理结构类型的异常 386

20.4 异常处理机制 387

20.5 小结 389

20.6 习题 389

 

第六篇 实例篇

 

第21章 简单学生成绩管理系统开发实例(教学视频:31分钟) 392

21.1 需求分析 392

21.2 总体设计 392

21.3 功能模块实现 393

21.3.1 成绩录入模块 394

21.3.2 成绩统计模块 394

21.3.3 成绩排名模块 395

21.3.4 成绩查询模块 397

21.3.5 输出模块 398

21.4 系统集成 398

21.5 系统实现 400

21.5.1 结构和变量定义部分 401

21.5.2 功能函数定义部分 402

21.5.3 主函数部分 403

21.6 小结 405