项目三-51单片机C语言知识(任务3-程序预处理命令与构造体).pptxVIP

项目三-51单片机C语言知识(任务3-程序预处理命令与构造体).pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.4程序 ;3.4.2程序的注释 ;3.4.3局部变量和全局变量;void delay(unsigned int t) { unsigned int x,y; for(x=t;x0;x--) { for(y=2650;y0;y--) { } } };在上面的delay函数内部,定义了两个变量x和y,这两个变量在delay函数内部使用是合法的,或者说变量x和y的作用域仅限于delay函数内部。C程序中允许在不同的函数中使用相同的局部变量名,但它们代表不同的对象,调用时会分配不同的内存单元,互不干扰。另外,在主函数中定义的变量也是局部变量,只能在主函数中使用,主函数中也不能使用其他函数中定义的变量。 2.全局变量 全局变量也称为外部变量,它是在函数的外部定义的变量。全局变量不属于某一个函数,而是属于某一个源程序文件。全局变量的作用域是整个源程序,在函数中使用全局变量,同样需要先定义后使用。例如: ; #includereg52.h //8051单片机的头文件 unsigned int NUM; //定义全局变量NUM用于显示 void display(unsigned int K); //数码管显示函数声明 … int main(void) { … while(1) { … display(NUM);//扫描数码管 } } void display(unsigned int K) { unsigned char NUM4,NUM3,NUM2,NUM1;//定义四个局部变量 … };3.5预处理命令;宏定义的作用是用一个标识符(宏名)来表示一个字符串,其格式为: #define标识符(宏名)字符串 在宏定义中,“#”表示这是一条预处理命令,“define”为宏定义命令。标识符是我们 自行定义的宏名,字符串可以是常数或表达式等。宏定义的方法可以参考以下代码: #define PI 3.141592 //用PI来表示3.1415926这个常量 #define M(X*Y+8Y) //用M来表示(X*Y+8Y)这个表达式 #define uint unsigned int //用uint表示unsigned int 使用宏定义的方法可以增强代码的可读性,并且能使语句变得简洁明了;3.5.2文件包含 ;3.6构造类型数据 3.6.1数组 简单地说,数组就是同一类变量的有序集合。数组同普通变量一样,要先定义后使用,定义数组的方法如下: 数据类型数组名[常量表达式]; 定义数组的方法可以参考以下代码: unsigned int count[10]; 以上代码定义了无符号整型数组count,它有10个数据单元。在使用数组时,用数组名加下标的方法加以引用,具体方法可以参考以下代码: ; unsigned int count[10]; 以上代码定义了无符号整型数组count,它有10个数据单元。在使用数组时,用数组名加下标的方法加以引用 。我们也可以在定义数组的时候为其赋初值,定义这种数组的格式如下: 数据类型数组名[常量表达式]={常量表达式1,常量表达式2,…,常量表达式n}; 在赋初值的数组中,方括号内的常量表达式是可以省略的,这时数组中数据单元的个数就由实际初值的个数决定。“{}”括号内是数组各单元的初值,两个初值间用逗号分隔。定义赋初值的数组可以参考以下代码: unsigned char seg_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 上面介绍的数组是一维的,数组也可以是多维的,关于多维数组在这里不做详细介绍,需要 时可以参考C语言的相关书籍。 ; 3.6.2结构体 结构体是在一个统一的名称下,组合在一起的变量的集合。,每个成员之间的数据类型可以不同,结构体变量的总长度等于结构体中每个成员长度的总和。格式如下: Struct结构体类型名 { 成员类型名成员名1; 成员类型名成员名2; … 成员类型名成员名n; } 变量名列表; 例如,我们要构建一个学生情况登记表,定义如下: struct student //结构体关键词及结构体名称 { ; unsigned int?num;//学号,结构体的成员1 unsigned char name;//名字,结构体的成员2 un

您可能关注的文档

文档评论(0)

jyr0221 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档