《东软载波单片机应用C程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:上海东软载波微电子有限公司著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2017
  • ISBN:9787512424463
  • 页数:402 页
图书介绍:从C语言设计及实现的角度,为读者深入解析C语言的各种语言细节。本书以《C语言参考手册》为基础,既力求精确描述,又不泛通俗解释,并配有详细例程。本书涉及领域较广,包括计算机系统结构、程序语言概念、程序设计基础、软件工程、嵌入式开发等。同时,本书又是一本专门针对C语言深度剖析的参考手册,不但囊括了C语言的传统语言点,还深入阐述了类型系统、寻常类型转换规则、声明形式等高级话题。

第1章 计算机系统 1

1.1 计算机结构简介 1

1.1.1 冯·诺依曼结构 1

1.1.2 哈佛结构 2

1.2 处理器内核 3

1.2.1 指令系统 4

1.2.2 乘法器和除法器 5

1.2.3 程序计数器 6

1.2.4 堆栈 6

1.3 程序存储器 7

1.3.1 直接修改寄存器 7

1.3.2 跳转指令 8

1.3.3 FLASH自编程 9

1.4 数据存储器 12

1.4.1 直接寻址 13

1.4.2 间接寻址 14

1.4.3 通用存储器特殊寻址 16

第2章 C语言基础 17

2.1 命令式语言 17

2.2 程序基本结构 19

2.2.1 注释 20

2.2.2 预处理 20

2.2.3 函数 20

2.2.4 变量 21

2.2.5 表达式与控制结构 21

2.3 C语言标准 22

2.3.1 传统C 22

2.3.2 C89标准 22

2.3.3 C95标准 23

2.3.4 C99标准 23

2.3.5 Clx标准 24

2.3.6 GB标准 25

2.4 语言的语法 25

2.4.1 文法 25

2.4.2 文法推导 27

2.5 本书约定 28

第3章 表达式 29

3.1 变量 29

3.1.1 类型 29

3.1.2 变量声明 33

3.1.3 变量初始化 34

3.2 标识符 35

3.3 常量 36

3.3.1 整数常量 37

3.3.2 浮点数常量 37

3.3.3 字符常量 39

3.3.4 字符串常量 40

3.4 表达式 40

3.4.1 运算符的优先级 41

3.4.2 算术表达式 42

3.4.3 赋值表达式 44

3.4.4 逗号表达式 47

3.4.5 关系表达式 47

3.4.6 判等表达式 48

3.4.7 逻辑表达式 48

3.4.8 条件表达式 49

3.4.9 按位表达式 50

3.4.10 移位表达式 51

3.4.11 增值、减值运算 52

3.4.12 类型转换表达式 53

3.5 sizeof表达式 54

3.6 类型转换:表示形式转换 54

3.6.1 表示形式改变 55

3.6.2 整型之间转换 55

3.6.3 其他标量类型转换为整型 56

3.6.4 转换为浮点类型 56

3.6.5 转换为结构/联合类型 57

3.6.6 转换为枚举类型 57

3.6.7 转换为数组/函数类型 57

3.6.8 转换为指针 57

3.7 类型转换:寻常转换 58

第4章 语句 64

4.1 表达式语句 64

4.2 复合语句 65

4.2.1 作用域 65

4.2.2 见性 67

4.2.3 重复可见性 67

4.3 选择语句 68

4.3.1 if语句 68

4.3.2 switch语句 72

4.4 循环语句 76

4.4.1 while语句 76

4.4.2 do语句 77

4.4.3 for语句 78

4.4.4 程序实例 79

4.5 无条件转移语句 85

4.5.1 break与continue语句 85

4.5.2 goto语句 87

4.6 名字重载 89

第5章 数组 91

5.1 数组概述 91

5.2 一维数组 92

5.2.1 一维数组声明 92

5.2.2 数组下标 93

5.2.3 程序实例 93

5.3 多维数组 96

5.3.1 二维数组声明 97

5.3.2 程序实例 97

5.3.3 多维数组声明 99

5.4 数组初始化 100

5.4.1 一维数组初始化 100

5.4.2 二维数组初始化 100

5.4.3 多维数组初始化 102

5.5 数组存储 102

5.5.1 存储映射 102

5.5.2 选择器 103

5.5.3 边界检查 104

5.6 排序与查找 105

5.6.1 排序 105

5.6.2 查找 109

第6章 结构 113

6.1 结构概述 113

6.1.1 引例 113

6.1.2 结构标签 114

6.1.3 结构初始化 116

6.1.4 结构成员选择 116

6.2 结构存储 117

6.2.1 存储布局 118

6.2.2 内存对齐 118

6.3 结构赋值 121

6.4 程序实例 122

6.5 位域 128

6.5.1 位域概述 128

6.5.2 位域声明 130

6.5.3 位域布局 131

6.5.4 匿名位域 132

6.6 结构声明 134

第7章 联合与枚举 137

7.1 联合 137

7.1.1 联合概述 137

7.1.2 联合存储 140

7.1.3 联合赋值 141

7.1.4 联合应用 142

7.2 枚举 147

7.2.1 枚举声明 148

7.2.2 枚举运算 150

第8章 指针 152

8.1 指针概述 152

8.1.1 指针概念 152

8.1.2 指针声明 153

8.1.3 基本运算 153

8.1.4 通用指针 155

8.2 指针与数组 155

8.2.1 现象与本质 156

8.2.2 指针的算术运算 156

8.2.3 指针的其他运算 158

8.2.4 指针访问数组 161

8.2.5 程序实例 165

8.3 指针与结构 171

8.4 动态存储分配 174

8.4.1 运行时环境 174

8.4.2 动态分配与释放 175

8.4.3 堆区管理 176

8.4.4 悬空指针 178

8.4.5 内存泄漏 179

8.5 字符串 180

8.5.1 字符串存储 181

8.5.2 字符串变量 182

8.5.3 字符串的基本操作 182

第9章 函数 186

9.1 引例 186

9.2 函数定义 188

9.2.1 定义位置 188

9.2.2 基本形式 188

9.2.3 程序实例 189

9.3 参数 193

9.3.1 参数声明 193

9.3.2 参数传递 195

9.3.3 实参求值顺序 197

9.3.4 程序实例 198

9.4 返回值 202

9.4.1 return语句 203

9.4.2 函数返回类型 203

9.5 函数原型 204

9.5.1 函数原型基础 204

9.5.2 函数原型兼容 205

9.5.3 函数原型一致性 205

9.6 函数指针 207

9.6.1 基本形式 207

9.6.2 函数指针的运算 208

第10章 预处理 210

10.1 预处理概述 210

10.1.1 预处理过程 210

10.1.2 预处理命令 211

10.1.3 预处理词法 212

10.2 宏定义与替换 215

10.2.1 类似对象的宏 215

10.2.2 类似函数的宏 216

10.2.3 宏与函数的差异 217

10.2.4 取消宏定义 219

10.2.5 预定义宏 219

10.2.6 重新扫描 221

10.2.7 递归展开 221

10.3 条件编译 222

10.3.1 #if...#endif结构 222

10.3.2 #if...#else...#endif结构 223

10.3.3 #elif命令 224

10.3.4 defined运算符 225

10.3.5 #ifdef、#ifndef命令 225

10.4 文件包含 226

10.4.1 一般形式 226

10.4.2 搜索路径 226

10.4.3 搜索路径设置 227

10.5 特殊命令 228

10.5.1 ##运算符 229

10.5.2 #运算符 231

10.5.3 #line命令 231

10.5.4 #error命令 232

10.6 程序实例 233

第11章 声明 241

11.1 存储类别 241

11.1.1 变量存储类别 241

11.1.2 函数存储类别 244

11.2 类型限定符 245

11.2.1 const限定符 245

11.2.2 volatile限定符 247

11.2.3 扩展限定符 248

11.3 声明模型 250

11.3.1 声明前部 250

11.3.2 声明器 252

11.3.3 声明模型 254

11.3.4 类型别名 258

11.4 小结 261

11.5 程序实例 261

11.5.1 动态规划 261

11.5.2 实例:最长公共子序列 262

11.5.3 实例:构造最大因式 265

第12章 软件项目开发 269

12.1 模块设计 269

12.1.1 编译与链接 270

12.1.2 模块设计 273

12.1.3 耦合度 277

12.1.4 内聚度 279

12.1.5 小结 280

12.2 模块实现 281

12.2.1 模块接口 281

12.2.2 混合语言编程 284

12.2.3 信息隐藏 288

12.2.4 程序实例 289

12.3 代码规范 301

12.3.1 整体布局 301

12.3.2 注释 302

12.3.3 命名 303

第13章 嵌入式程序设计 305

13.1 中断服务 305

13.1.1 中断源 305

13.1.2 中断向量 306

13.1.3 中断优先级 308

13.1.4 中断处理 308

13.1.5 中断服务的实现 309

13.2 输入与输出 310

13.2.1 输入电压 311

13.2.2 端口方向设定 312

13.2.3 按键检测 312

13.2.4 程序实例 312

13.3 定时器 316

13.3.1 工作原理 316

13.3.2 程序实例 317

13.4 模/数转换 321

13.4.1 工作原理 321

13.4.2 程序实例 322

13.5 异步串行通信 328

13.5.1 通用异步收发器 328

13.5.2 常用的异步通信协议 330

13.5.3 程序实例 331

第14章 集成开发环境 335

14.1 iDesigner概述 335

14.1.1 iDesigner安装 335

14.1.2 菜单与工具 336

14.1.3 解决方案与项目 337

14.2 编码辅助功能 338

14.2.1 成员信息 338

14.2.2 函数信息 339

14.2.3 定义与引用 339

14.2.4 智能显示 340

14.2.5 大纲显示 342

14.3 编译生成 342

14.3.1 生成 342

14.3.2 清理 342

14.3.3 重新生成 343

14.3.4 生成结果 343

14.4 调试 343

14.4.1 配置调试环境 343

14.4.2 执行控制 344

14.4.3 调试窗口 345

14.5 编程 346

第15章 iDesigner应用实例 348

15.1 生成项目 348

15.1.1 创建项目 348

15.1.2 编译项目 350

15.1.3 优化选项 351

15.2 调试项目 352

15.2.1 启动调试 352

15.2.2 变量监视功能 353

15.2.3 浮动监视 353

15.2.4 内存窗口 354

15.2.5 PC断点 355

15.2.6 禁用与删除断点 356

15.2.7 条件断点 356

15.2.8 调用堆栈 357

15.2.9 反汇编 357

15.2.10 调试反汇编 358

15.2.11 跑表窗口 359

15.3 编程工具 359

附录A 语言文法 363

附录B ASCII字符集 376

附录C HR系列单片机指令集 377

参考文献 401