嵌入式系统程序设计 大连理工大学软件学院 嵌入式系统工程系 赖晓晨 C/C++语言摘要 C语言的历史和特点 预处理程序 位运算 函数指针 C程序的移植 一、C语言的历史和特点 C语言的历史 C语言的特点 C语言的优良特性 结构化语言,代码数据分离 包含指针特性,允许对地址操作 语法简洁紧凑,但功能强大 编程方便,运行速度快 支持分离编译 C语言的缺点 封装性不如C++,数据安全性上有缺陷 类型检查机制相对薄弱 指针的操作带来许多不安全因素 比其他高级语言较难掌握 二、预处理程序 C89规定的预处理指令有以下几条 #if #ifdef #ifndef #else #elif #endif 预处理语句的书写规则 作用:对源程序编译之前做一些处理,生成扩展C源程序 格式: “#”开头 占单独书写行 语句尾不加分号 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 1. 宏定义 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 带参的宏与函数区别 Embest开发环境中的宏定义 44b.h有44B0X中各个特殊功能寄存器的宏定义 预定义宏 C89规范了五个固有的预定义宏,分别为: __LINE__:行号 __FILE__:文件名 __DATE__:日期 __TIME__:时间 __STDC__:1-标准C编译器 0-非标准C编译器 预定义宏 功能:对源程序中的一部分内容只有满足某种条件的情况下才进行编译。 #ifdef 标识符 程序段1 #else 程序段2 #endif 可以用来提高程序的可移植性 可以用来调试程序 #ifndef 标识符 程序段1 #else 程序段2 #endif #if 表达式 程序段1 #else 程序段2 #endif #include stdio.h #define CAP 1 int main() { char string[20]=I love China; char c; int i=0; c=string[i++]; while(c!=\0) { #if CAP if(c=ac=z) c-=32; #endif printf(%c,c); c=string[i++]; } printf(\n); return 0; } 3. 文件包含 功能:一个源文件可将另一个源文件的内容全部包含进来 一般形式: #include “文件名” 或 #include 文件名 3. 文件包含 功能:一个源文件可将另一个源文件的内容全部包含进来 一般形式: #include “filename” 或 #include filename 被包含文件内容 源文件(*.c) 头文件(*.h) 【例3-5】文件包含一下程序包含一个完整的模块(function.c、function.h、test.c) 4. 其他预处理指令 #error
您可能关注的文档
- 廉江市第七小学.ppt
- 年轮一圈一圈,背上的篓子越来越沉;一片,二片……取舍.ppt
- 宁波国家高新技术产业开发区国家税务局宁波市国家税务局直.ppt
- 宁海国税局(2015,1,4)李忠尔(宁波中瑞税务师事务所.ppt
- 彭南轩《林业科学研究》编辑部lykxyj@ca.ppt
- 平山中心小学.ppt
- 平台报表概念.docx
- 平台年报填报.ppt
- 嵌入式操作系统.ppt
- 嵌入式开发系统概况.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)