内容简介
第1章 计算机系统
1.1 计算机结构简介
1.1.1 冯·诺依曼结构
1.1.2 哈佛结构
1.2 处理器内核
1.2.1 指令系统
1.2.2 乘法器和除法器
1.2.3 程序计数器
1.2.4 堆栈
1.3 程序存储器
1.3.1 直接修改寄存器
1.3.2 跳转指令
1.3.3 FLASH自编程
1.4 数据存储器
1.4.1 直接寻址
1.4.2 间接寻址
1.4.3 通用存储器特殊寻址
第2章 C语言基础
2.1 命令式语言
2.2 程序基本结构
2.2.1 注释
2.2.2 预处理
2.2.3 函数
2.2.4 变量
2.2.5 表达式与控制结构
2.3 C语言标准
2.3.1 传统C
2.3.2 C89标准
2.3.3 C95标准
2.3.4 C99标准
2.3.5 Clx标准
2.3.6 GB标准
2.4 语言的语法
2.4.1 文法
2.4.2 文法推导
2.5 本书约定
第3章 表达式
3.1 变量
3.1.1 类型
3.1.2 变量声明
3.1.3 变量初始化
3.2 标识符
3.3 常量
3.3.1 整数常量
3.3.2 浮点数常量
3.3.3 字符常量
3.3.4 字符串常量
3.4 表达式
3.4.1 运算符的优先级
3.4.2 算术表达式
3.4.3 赋值表达式
3.4.4 逗号表达式
3.4.5 关系表达式
3.4.6 判等表达式
3.4.7 逻辑表达式
3.4.8 条件表达式
3.4.9 按位表达式
3.4.10 移位表达式
3.4.11 增值、减值运算
3.4.12 类型转换表达式
3.5 sizeof表达式
3.6 类型转换:表示形式转换
3.6.1 表示形式改变
3.6.2 整型之间转换
3.6.3 其他标量类型转换为整型
3.6.4 转换为浮点类型
3.6.5 转换为结构/联合类型
3.6.6 转换为枚举类型
3.6.7 转换为数组/函数类型
3.6.8 转换为指针
3.7 类型转换:寻常转换
第4章 语句
4.1 表达式语句
4.2 复合语句
4.2.1 作用域
4.2.2 见性
4.2.3 重复可见性
4.3 选择语句
4.3.1 if语句
4.3.2 switch语句
4.4 循环语句
4.4.1 while语句
4.4.2 do语句
4.4.3 for语句
4.4.4 程序实例
4.5 无条件转移语句
4.5.1 break与continue语句
4.5.2 goto语句
4.6 名字重载
第5章 数组
5.1 数组概述
5.2 一维数组
5.2.1 一维数组声明
5.2.2 数组下标
5.2.3 程序实例
5.3 多维数组
5.3.1 二维数组声明
5.3.2 程序实例
5.3.3 多维数组声明
5.4 数组初始化
5.4.1 一维数组初始化
5.4.2 二维数组初始化
5.4.3 多维数组初始化
5.5 数组存储
5.5.1 存储映射
5.5.2 选择器
5.5.3 边界检查
5.6 排序与查找
5.6.1 排序
5.6.2 查找
第6章 结构
6.1 结构概述
6.1.1 引例
6.1.2 结构标签
6.1.3 结构初始化
6.1.4 结构成员选择
6.2 结构存储
6.2.1 存储布局
6.2.2 内存对齐
6.3 结构赋值
6.4 程序实例
6.5 位域
6.5.1 位域概述
6.5.2 位域声明
6.5.3 位域布局
6.5.4 匿名位域
6.6 结构声明
第7章 联合与枚举
7.1 联合
7.1.1 联合概述
7.1.2 联合存储
7.1.3 联合赋值
7.1.4 联合应用
7.2 枚举
7.2.1 枚举声明
7.2.2 枚举运算
第8章 指针
8.1 指针概述
8.1.1 指针概念
8.1.2 指针声明
8.1.3 基本运算
8.1.4 通用指针
8.2 指针与数组
8.2.1 现象与本质
8.2.2 指针的算术运算
8.2.3 指针的其他运算
8.2.4 指针访问数组
8.2.5 程序实例
8.3 指针与结构
8.4 动态存储分配
8.4.1 运行时环境
8.4.2 动态分配与释放
8.4.3 堆区管理
8.4.4 悬空指针
8.4.5 内存泄漏
8.5 字符串
8.5.1 字符串存储
8.5.2 字符串变量
8.5.3 字符串的基本操作
第9章 函数
9.1 引例
9.2 函数定义
9.2.1 定义位置
9.2.2 基本形式
9.2.3 程序实例
9.3 参数
9.3.1 参数声明
9.3.2 参数传递
9.3.3 实参求值顺序
9.3.4 程序实例
9.4 返回值
9.4.1 return语句
9.4.2 函数返回类型
9.5 函数原型
9.5.1 函数原型基础
9.5.2 函数原型兼容
9.5.3 函数原型一致性
9.6 函数指针
9.6.1 基本形式
9.6.2 函数指针的运算
第10章 预处理
10.1 预处理概述
10.1.1 预处理过程
10.1.2 预处理命令
10.1.3 预处理词法
10.2 宏定义与替换
10.2.1 类似对象的宏
10.2.2 类似函数的宏
10.2.3 宏与函数的差异
10.2.4 取消宏定义
10.2.5 预定义宏
10.2.6 重新扫描
10.2.7 递归展开
10.3 条件编译
10.3.1 #if...#endif结构
10.3.2 #if...#else...#endif结构
10.3.3 #elif命令
10.3.4 defined运算符
10.3.5 #ifdef、#ifndef命令
10.4 文件包含
10.4.1 一般形式
10.4.2 搜索路径
10.4.3 搜索路径设置
10.5 特殊命令
10.5.1 ##运算符
10.5.2 #运算符
10.5.3 #line命令
10.5.4 #error命令
10.6 程序实例
第11章 声明
11.1 存储类别
11.1.1 变量存储类别
11.1.2 函数存储类别
11.2 类型限定符
11.2.1 const限定符
11.2.2 volatile限定符
11.2.3 扩展限定符
11.3 声明模型
11.3.1 声明前部
11.3.2 声明器
11.3.3 声明模型
11.3.4 类型别名
11.4 小结
11.5 程序实例
11.5.1 动态规划
11.5.2 实例:最长公共子序列
11.5.3 实例:构造最大因式
第12章 软件项目开发
12.1 模块设计
12.1.1 编译与链接
12.1.2 模块设计
12.1.3 耦合度
12.1.4 内聚度
12.1.5 小结
12.2 模块实现
12.2.1 模块接口
12.2.2 混合语言编程
12.2.3 信息隐藏
12.2.4 程序实例
12.3 代码规范
12.3.1 整体布局
12.3.2 注释
12.3.3 命名
第13章 嵌入式程序设计
13.1 中断服务
13.1.1 中断源
13.1.2 中断向量
13.1.3 中断优先级
13.1.4 中断处理
13.1.5 中断服务的实现
13.2 输入与输出
13.2.1 输入电压
13.2.2 端口方向设定
13.2.3 按键检测
13.2.4 程序实例
13.3 定时器
13.3.1 工作原理
13.3.2 程序实例
13.4 模/数转换
13.4.1 工作原理
13.4.2 程序实例
13.5 异步串行通信
13.5.1 通用异步收发器
13.5.2 常用的异步通信协议
13.5.3 程序实例
第14章 集成开发环境
14.1 iDesigner概述
14.1.1 iDesigner安装
14.1.2 菜单与工具
14.1.3 解决方案与项目
14.2 编码辅助功能
14.2.1 成员信息
14.2.2 函数信息
14.2.3 定义与引用
14.2.4 智能显示
14.2.5 大纲显示
14.3 编译生成
14.3.1 生成
14.3.2 清理
14.3.3 重新生成
14.3.4 生成结果
14.4 调试
14.4.1 配置调试环境
14.4.2 执行控制
14.4.3 调试窗口
14.5 编程
第15章 iDesigner应用实例
15.1 生成项目
15.1.1 创建项目
15.1.2 编译项目
15.1.3 优化选项
15.2 调试项目
15.2.1 启动调试
15.2.2 变量监视功能
15.2.3 浮动监视
15.2.4 内存窗口
15.2.5 PC断点
15.2.6 禁用与删除断点
15.2.7 条件断点
15.2.8 调用堆栈
15.2.9 反汇编
15.2.10 调试反汇编
15.2.11 跑表窗口
15.3 编程工具
附录A 语言文法
附录B ASCII字符集
附录C HR系列单片机指令集
参考文献