图书介绍

嵌入式C/C++系统工程师实训教程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

嵌入式C/C++系统工程师实训教程
  • 庄严主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302242642
  • 出版时间:2011
  • 标注页数:356页
  • 文件大小:35MB
  • 文件页数:374页
  • 主题词:C语言-程序设计-技术培训-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式C/C++系统工程师实训教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 基础篇3

第1章 基础知识3

1.1 嵌入式系统4

1.1.1 概念4

1.1.2 构成5

1.1.3 特点5

1.1.4 知识结构7

1.2 项目流程7

1.2.1 立项阶段8

1.2.2 需求阶段8

1.2.3 设计阶段8

1.2.4 实现阶段9

1.2.5 测试阶段9

1.2.6 部署阶段9

1.3 开发模型9

1.3.1 瀑布模型9

1.3.2 原型模型10

1.3.3 螺旋模型10

1.4 项目组成11

1.4.1 系统设计11

1.4.2 客户需求11

1.4.3 产品说明12

1.4.4 进度表12

1.4.5 设计文档13

1.4.6 测试文档13

1.4.7 项目成员13

1.5 本章小结14

1.6 课后习题14

第2章 程序设计15

2.1 计算机语言16

2.1.1 汇编语言16

2.1.2 C语言16

2.1.3 C++语言17

2.1.4 其他语言18

2.2 开发环境18

2.2.1 Windows环境18

2.2.2 Linux环境19

2.2.3 VxWorks环境19

2.2.4 单片机环境19

2.2.5 嵌入式系统20

2.3 软件质量21

2.3.1 软件质量21

2.3.2 质量保证22

2.3.3 CMMI22

2.3.4 ISO900122

2.3.5 UML23

2.3.6 SDL24

2.3.7 流程图25

2.4 编码规范26

2.4.1 文件组织结构26

2.4.2 命名规则27

2.4.3 代码风格29

2.4.4 版本控制29

2.5 实践-HelloWorld30

2.5.1 设计流程30

2.5.2 实践概述31

2.5.3 分析要求31

2.5.4 准备环境31

2.5.5 流程图31

2.5.6 编辑源代码32

2.5.7 编译运行32

2.6 本章小结32

2.7 课后习题32

第二篇 C语言篇35

第3章 编程基础35

3.1 程序结构36

3.1.1 顺序式计算器实例36

3.1.2 文件组织结构37

3.1.3 程序基本要素37

3.1.4 程序流程控制37

3.2 基本要素38

3.2.1 字符与词汇38

3.2.2 编译预处理38

3.2.3 常量和变量38

3.2.4 运算符39

3.2.5 表达式39

3.2.6 语句39

3.2.7 函数39

3.2.8 输入输出40

3.2.9 书写规则40

3.3 流程控制40

3.3.1 顺序结构40

3.3.2 选择结构41

3.3.3 循环结构41

3.4 数据类型41

3.4.1 整型41

3.4.2 实型42

3.4.3 字符型42

3.5 运算符43

3.5.1 算术运算符43

3.5.2 关系运算符43

3.5.3 逻辑运算符43

3.5.4 位运算运算符43

3.5.5 赋值运算符44

3.5.6 条件运算符44

3.5.7 逗号运算符44

3.5.8 指针运算符44

3.5.9 求字节数运算符44

3.5.10 特殊运算符4

3.5.11 运算符的优先级44

3.5.12 运算符的结合性45

3.6 表达式45

3.6.1 算术表达式45

3.6.2 逻辑与关系表达式45

3.6.3 位运算表达式46

3.6.4 自增自减表达式46

3.6.5 括号46

3.7 语句46

3.7.1 表达式语句46

3.7.2 函数调用语句47

3.7.3 控制语句47

3.7.4 复合语句47

3.7.5 空语句47

3.7.6 赋值语句47

3.7.7 输入输出语句47

3.7.8 转移语句49

3.8 main函数详解50

3.8.1 形式50

3.8.2 类型50

3.8.3 参数51

3.8.4 main执行前后51

3.9 条件判断52

3.9.1 布尔变量与零值比较53

3.9.2 整型变量与零值比较53

3.9.3 浮点变量与零值比较53

3.9.4 指针变量与零值比较53

3.10 数据类型转换54

3.10.1 混合运算54

3.10.2 隐式转换54

3.10.3 强制转换54

3.10.4 函数转换54

3.10.5 构造转换54

3.11 技能训练55

3.11.1 选择式计算器55

3.11.2 循环式计算器57

3.11.3 函数式计算器58

3.11.4 多文件计算器60

3.12 案例特训62

3.12.1 类型转换(Ⅰ)62

3.12.2 类型转换(Ⅱ)63

3.12.3 进制转换63

3.12.4 多参main65

3.12.5 Linux环境移植68

3.13 本章小结69

3.14 课后习题69

第4章 编译运行71

4.1 编译原理72

4.1.1 编译阶段72

4.1.2 预处理器72

4.1.3 源程序分析72

4.1.4 符号表73

4.1.5 编译器73

4.1.6 链接器73

4.1.7 程序的形成73

4.1.8 目标文件73

4.2 运行系统75

4.2.1 动态连接75

4.2.2 加载执行75

4.3 预处理78

4.3.1 预处理78

4.3.2 宏定义78

4.3.3 无参宏78

4.3.4 带参宏79

4.3.5 文件包含80

4.3.6 条件编译80

4.3.7 断言assert81

4.3.8 标准预定义宏82

4.4 技能训练83

4.4.1 宏练习83

4.4.2 条件编译83

4.4.3 Assert练习83

4.5 案例特训83

4.5.1 防止多重包含83

4.5.2 标准预定义宏83

4.6 本章小结84

4.7 课后习题84

第5章 调试测试85

5.1 概念86

5.1.1 调试86

5.1.2 测试86

5.1.3 调试与测试的区别86

5.2 调试86

5.2.1 调试步骤86

5.2.2 调试工具87

5.2.3 调试设置87

5.2.4 断点设置87

5.2.5 进程控制87

5.2.6 条件断点87

5.2.7 数据断点88

5.2.8 消息断点88

5.2.9 变量观察watch88

5.2.10 内存观察memory88

5.2.11 汇编观察Disassembly88

5.2.12 寄存器观察Registers88

5.2.13 函数调用栈Call Stack88

5.2.14 多线程调试Threads88

5.2.15 异常响应Exceptions89

5.2.16 插桩调试89

5.2.17 追踪TRACE89

5.2.18 断言ASSERT89

5.2.19 验证VERIFY89

5.2.20 函数返回值89

5.2.21 诊断信息转储Dump90

5.3 测试90

5.3.1 内容90

5.3.2 分类90

5.3.3 实施流程90

5.3.4 测试过程91

5.3.5 单元测试91

5.3.6 集成测试92

5.3.7 确认测试92

5.3.8 系统测试92

5.3.9 测试工具92

5.3.10 测试用例93

5.3.11 举例93

5.4 技能训练94

5.4.1 调试综合实例94

5.4.2 测试综合实例94

5.5 本章小结96

5.6 课后习题96

第6章 数组97

6.1 数组98

6.1.1 概述98

6.1.2 实例98

6.1.3 表示99

6.2 字符数组99

6.2.1 字符数组99

6.2.2 字符串99

6.3 多维数组100

6.3.1 初始化100

6.3.2 实例100

6.4 技能训练101

6.4.1 数组练习101

6.4.2 字符串101

6.4.3 多维数组101

6.5 案例特训101

6.5.1 字符串排序101

6.6 本章小结102

6.7 课后习题102

第7章 指针105

7.1 指针106

7.1.1 指针106

7.1.2 变量106

7.1.3 实例106

7.1.4 类型含义107

7.1.5 赋值107

7.1.6 运算108

7.1.7 使用108

7.1.8 参数109

7.1.9 多级指针109

7.1.10 字符串指针109

7.2 指针与数组109

7.2.1 辨析109

7.2.2 指针数组与数组指针109

7.2.3 实例110

7.3 指针与函数110

7.3.1 指针函数110

7.3.2 函数指针111

7.3.3 辨析112

7.4 技能训练112

7.4.1 指针数组与数组指针112

7.4.2 指针函数与函数指针112

7.5 案例特训113

7.5.1 多级指针练习113

7.6 本章小结113

7.7 课后习题113

第8章 函数115

8.1 函数116

8.1.1 函数的用途116

8.1.2 模块116

8.1.3 函数分类117

8.1.4 函数定义117

8.1.5 调用119

8.1.6 参数119

8.1.7 函数的值121

8.1.8 嵌套121

8.2 作用域121

8.2.1 全局变量121

8.2.2 局部变量122

8.2.3 存储类别122

8.2.4 内部函数123

8.2.5 外部函数123

8.3 参数传递123

8.3.1 C参数传递机制123

8.3.2 普通变量参数124

8.3.3 指针变量参数124

8.3.4 数组变量参数124

8.3.5 引用参数传递124

8.4 库函数126

8.4.1 C标准库126

8.4.2 Win32标准库127

8.4.3 Linux标准库127

8.5 字符串库函数127

8.5.1 处理函数127

8.5.2 strcpy详解128

8.6 技能训练129

8.6.1 函数调用129

8.6.2 参数入栈顺序129

8.6.3 参数传递单向性129

8.7 案例特训129

8.7.1 交换两个数完整版129

8.7.2 mystrcpy函数实现129

8.8 本章小结129

8.9 课后习题129

第9章 构造131

9.1 结构132

9.1.1 特点132

9.1.2 变量132

9.1.3 大小132

9.1.4 使用132

9.1.5 初始化132

9.1.6 数组133

9.1.7 指针133

9.1.8 函数133

9.1.9 内存分配134

9.2 联合135

9.2.1 概念135

9.2.2 使用135

9.3 枚举137

9.3.1 概念137

9.3.2 赋值137

9.4 位域138

9.4.1 位与字节138

9.4.2 数值表示138

9.4.3 位运算138

9.4.4 位域141

9.4.5 位域的使用141

9.5 类型定义143

9.5.1 typedef143

9.6 技能训练143

9.6.1 结构体143

9.6.2 共用体143

9.6.3 枚举143

9.7 案例特训143

9.7.1 结构143

9.8 本章小结144

9.9 课后习题144

第10章 文件147

10.1 文件148

10.1.1 普通文件148

10.1.2 设备文件148

10.1.3 ASCII文件148

10.1.4 二进制文件148

10.2 文件读写149

10.2.1 文件指针149

10.2.2 打开文件149

10.2.3 关闭文件150

10.2.4 字符读写150

10.2.5 字符串读写151

10.2.6 数据块读写152

10.2.7 格式化读写153

10.2.8 随机读写154

10.2.9 文件检测156

10.3 技能训练156

10.3.1 字符串读写156

10.3.2 文件追加156

10.3.3 文件数据块156

10.3.4 格式化读写156

10.4 案例特训156

10.4.1 随机读写156

10.5 本章小结157

10.6 课后习题157

第11章 内存管理159

11.1 内存空间160

11.1.1 C存储区160

11.1.2 栈160

11.1.3 堆160

11.1.4 全局与静态区160

11.1.5 常量区161

11.1.6 代码区161

11.1.7 C++存储区161

11.1.8 操作系统内存161

11.1.9 举例161

11.2 堆与栈162

11.2.1 概述162

11.2.2 申请方式162

11.2.3 分配方式163

11.2.4 分配效率163

11.2.5 空间大小163

11.2.6 生长方向163

11.2.7 管理方式163

11.2.8 存储内容163

11.2.9 碎片问题163

11.2.10 总结164

11.3 存储模型164

11.3.1 变量属性164

11.3.2 变量作用域164

11.3.3 变量链接164

11.3.4 变量存储期165

11.3.5 自动变量165

11.3.6 外部变量166

11.3.7 静态变量166

11.3.8 寄存器变量167

11.3.9 volatile168

11.4 动态内存168

11.4.1 静态分配168

11.4.2 动态分配168

11.4.3 堆内存169

11.4.4 野指针169

11.4.5 malloc/calloc/realloc170

11.4.6 规则170

11.4.7 应用170

11.5 动态内存传递170

11.5.1 问题170

11.5.2 操作流程171

11.5.3 分析171

11.5.4 解决方案171

11.6 技能训练174

11.6.1 变量存储174

11.6.2 register变量174

11.7 案例特训174

11.7.1 动态内存传递174

11.8 本章小结174

11.9 课后习题174

第12章 实践-学生管理系统175

12.1 项目概述176

12.2 需求分析176

12.3 详细设计176

12.3.1 系统模块图176

12.3.2 组织结构图176

12.3.3 执行流程图177

12.3.4 数据结构178

12.3.5 全局函数178

12.4 实验结果179

第三篇 提高篇183

第13章 数据结构183

13.1 数据结构概述184

13.1.1 数据元素184

13.1.2 数据结构184

13.2 线性结构185

13.2.1 概念185

13.2.2 特征185

13.2.3 存储185

13.2.4 操作185

13.2.5 线性顺序表实践186

13.3 链表188

13.3.1 构造188

13.3.2 分类188

13.3.3 遍历188

13.3.4 插入188

13.3.5 删除189

13.3.6 单链表实践189

13.4 栈192

13.4.1 定义192

13.4.2 图解193

13.4.3 操作193

13.4.4 实践193

13.4.5 应用196

13.5 队列196

13.5.1 定义196

13.5.2 图解196

13.5.3 操作196

13.5.4 实践197

13.5.5 应用200

13.6 二叉树200

13.6.1 树结构200

13.6.2 二叉树201

13.6.3 转换201

13.6.4 构造202

13.6.5 遍历202

13.6.6 线索树202

13.6.7 实践202

13.6.8 应用207

13.7 图结构207

13.7.1 定义207

13.7.2 术语207

13.7.3 存储208

13.7.4 深先与广先208

13.7.5 实践208

13.7.6 应用213

13.8 实践-图书管理系统213

13.8.1 背景分析213

13.8.2 项目概述214

13.8.3 详细设计214

13.8.4 调试测试217

13.8.5 总结217

13.9 本章小结217

13.10 课后习题218

第14章 常用算法219

14.1 算法概述220

14.1.1 算法概念220

14.1.2 算法描述220

14.1.3 评价标准220

14.1.4 时间效率221

14.1.5 空间效率221

14.2 查找221

14.2.1 线性查找221

14.2.2 二叉树查找法222

14.2.3 哈希查找222

14.3 排序226

14.3.1 插入排序226

14.3.2 交换排序227

14.3.3 选择排序228

14.4 常用算法228

14.4.1 递归算法228

14.4.2 贪婪法229

14.4.3 分治法229

14.4.4 穷举法229

14.5 算法实践229

14.5.1 递归实践-八皇后问题229

14.5.2 贪婪法实践-换零钱232

14.5.3 分治实践-象棋比赛234

14.5.4 穷举法实践-打印质数236

14.6 实践-循环冗余校验CRC实现238

14.6.1 项目概述238

14.6.2 详细设计239

14.6.3 运行结果239

14.6.4 总结240

14.7 本章小结240

14.8 课后习题240

第四篇 C++篇243

第15章 C++基础243

15.1 程序结构244

15.1.1 Hello_world244

15.1.2 程序结构244

15.1.3 面向对象244

15.2 面向对象245

15.2.1 类245

15.2.2 属性246

15.2.3 方法246

15.2.4 封装246

15.2.5 继承247

15.2.6 多态250

15.2.7 对象251

15.2.8 构造函数252

15.2.9 析构函数253

15.2.10 内联函数253

15.2.11 静态成员254

15.2.12 重载255

15.2.13 重写257

15.2.14 引用257

15.2.15 内存管理258

15.2.16 异常处理258

15.2.17 命名空间259

15.3 技能训练259

15.3.1 封装259

15.3.2 重载260

15.3.3 友元260

15.3.4 字符串类设计262

15.4 案例特训267

15.4.1 需求分析267

15.4.2 详细设计267

15.4.3 执行结果269

15.4.4 总结269

15.5 本章小结270

15.6 课后习题270

第16章 泛型编程271

16.1 模板272

16.1.1 函数模板272

16.1.2 模板函数273

16.1.3 类模板273

16.1.4 模板类275

16.2 泛型编程275

16.2.1 抽象275

16.2.2 STL276

16.3 STL277

16.3.1 容器277

16.3.2 算法278

16.3.3 迭代器278

16.4 设计模式279

16.4.1 框架279

16.4.2 常用模式279

16.5 技能训练279

16.5.1 模板279

16.5.2 List279

16.5.3 Vector280

16.5.4 Map283

16.6 案例特训283

16.6.1 求素数283

16.7 本章小结284

16.8 课后习题284

第17章 应用开发285

17.1 概述286

17.1.1 C++标准库286

17.1.2 软件开发包SDK286

17.1.3 应用程序接口API286

17.2 常用库287

17.2.1 STL287

17.2.2 Boost288

17.2.3 MFC288

17.2.4 WTL288

17.2.5 ATL288

17.2.6 OWL288

17.2.7 GTK288

17.2.8 WxWidgets289

17.2.9 Qt289

17.2.10 ACE289

17.3 VC编程基础289

17.3.1 MFC编程289

17.3.2 简单类291

17.3.3 消息机制291

17.3.4 绘图系统296

17.3.5 对话框297

17.3.6 控件298

17.3.7 高级主题299

17.3.8 实践-窗口程序300

17.4 Qt编程基础300

17.4.1 简介300

17.4.2 程序库301

17.4.3 界面301

17.4.4 信号与槽302

17.4.5 实践-窗口程序302

17.5 技能训练303

17.5.1 以VC实现计算器303

17.5.2 以Qt实现计算器303

17.5.3 科学计算器304

17.6 案例特训304

17.6.1 VC-STL学生成绩评价系统304

17.7 小结305

17.8 课后习题305

第18章 实践-通信307

18.1 网络通信308

18.1.1 背景分析308

18.1.2 项目概述308

18.1.3 网络专业知识308

18.1.4 详细设计310

18.1.5 调试测试311

18.2 串口通信311

18.2.1 背景分析311

18.2.2 项目概述311

18.2.3 串口专业知识312

18.2.4 详细设计316

18.2.5 调试测试318

第五篇 综合篇323

第19章 实践-嵌入式编程323

19.1 整体设计324

19.1.1 开发背景324

19.1.2 整体设计324

19.1.3 硬件平台324

19.1.4 交叉环境324

19.1.5 硬件驱动324

19.1.6 任务管理325

19.1.7 面向对象326

19.2 内存管理326

19.2.1 数据指针326

19.2.2 函数指针326

19.2.3 内存申请327

19.2.4 关键字const327

19.2.5 关键字volatile328

19.2.6 字长与位宽329

19.2.7 字节对齐329

19.2.8 字节顺序332

19.3 人机界面334

19.3.1 LED334

19.3.2 按键334

19.3.3 LCD334

19.3.4 通信接口334

19.4 性能优化334

19.4.1 死循环334

19.4.2 延时335

19.4.3 使用宏335

19.4.4 关键字register336

19.4.5 内嵌汇编336

19.4.6 位操作336

19.4.7 define/typedef337

19.5 实践-LED驱动系统337

19.5.1 需求分析337

19.5.2 详细设计338

19.5.3 编码设计339

19.5.4 调试与测试340

19.5.5 部署341

19.6 本章小结341

19.7 课后习题341

第20章 通信协议管理机实现343

20.1 需求阶段344

20.1.1 拓 扑结构344

20.1.2 节点组件图344

20.1.3 用例图345

20.2 设计阶段346

20.2.1 控制协议346

20.2.2 分层结构346

20.2.3 帧结构346

20.2.4 传输过程347

20.2.5 数据结构349

20.2.6 关键函数349

20.3 实现阶段350

20.3.1 Windows环境350

20.3.2 Linux环境351

20.3.3 嵌入式移植352

20.3.4 远程控制353

20.4 测试阶段353

20.5 部署阶段353

20.6 本章小结353

20.7 课后习题353

热门推荐