单片机原理及接口技术第11章(第4版).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及接口技术第11章(第4版)

第11章 C51程序设计 11.1 C51程序设计基础 11.1.1 C51的标识符和关键字 11.1.2 C51的数据类型 11.1.3 C51变量的存储方式 11.1.4 C51运算符、表达式及规则 标识符 标识符用来标识源程序中某个对象的名字,这些对象可以是语句、数据类型、函数、变量、数组。 C语言是区分大小写的一种高级语言。 标识符由字符串、数字和下划线组成,第一个字符必须是字母或下划线。 C51中有些库函数的标识符是以下划线开头的,所以一般不要以下划线开头命名标识符。 标识符在命名时应当简单,含义清晰,便于阅读理解程序。 关键字 关键字是编程语言保留的特殊标识符,它们有固定的名称和含义,在程序设计中不允许将关键字另作他用。 在C51中的关键字除了有ANSI C标准的32个关键字外,还有根据C51单片机的特点扩展的相关关键字,见表11-1和表11-2。 11.1.2 C51的数据类型 C51具有ANSI C的所有数据类型,包括:char、int、short、long、float和double。 对于C51编译器来说,int类型和short类型相同,float类型和double类型相同。 C51增加了一些特殊的数据类型,包括bit、sfr、sfr16、sbit。表11-3为C51编译器所支持的数据类型。 在C语言程序中的表达式或变量赋值运算中,有时会出现运算对象的数据不一致的情况,C语言允许任何标准数据类型之间的隐式转换。 隐式转换按以下优先级别自动进行: bit →char→int→long→float signed →unsigned 其中箭头方向仅表示数据类型级别的高低,转换时由低向高进行,而不是数据转换时的顺序。 如果有几个不同类型的数据同时参加运算,先将低级别类型的数据转换成高级别类型,再作运算处理,并且运算结果为高级别类型数据。 11.1.3 C51变量的存储方式 1. 局部变量与全局变量 按照变量的有效作用范围可划分为局部变量和全局变量。 2. 存储种类 3. 存储类型 4. 存储模式 1. 局部变量与全局变量 局部变量 局部变量是在一个函数内部定义的变量,它只在定义它的那个函数范围以内有效。 在此函数之外局部变量即失去意义。不同的函数可以使用相同的局部变量名,由于它们的作用范围不同,不会相互干扰。 函数的形式参数也属于局部变量。 1. 局部变量与全局变量 全局变量 全局变量是在函数外部定义的变量,又称为外部变量。 全局变量可以为多个函数共同使用,其有效作用范围是从它定义的位置开始到整个程序文件结束。 如果全局变量定义在一个程序文件的开始处,则在整个程序文件范围内都可以使用它。 如果一个全局变量不是在程序文件的开始处定义的,但又希望在它的定义点之前的函数中引用该变量,这时应在引用该变量的函数中用关键字extern将其说明为“外部变量”。 外部变量说明与外部变量定义 如果在一个程序模块文件中引用另一个程序模块文件中定义的变量时,也必须用extern进行说明。外部变量说明与外部变量定义是不相同的。 外部变量定义只能有一次,定义的位置在所有函数之外; 而同一个程序文件中的外部变量说明可以有多次,说明的位置在需要引用该变量的函数之内。 外部变量说明的作用只是声明该变量是一个已经在外部定义过了的变量而已。 局部变量的优先级比全局变量高 如果在同一个程序文件中,全局变量与局部变量同名,则在局部变量的有效作用范围之内、全局变量不起作用。 【例11-1】局部变量与全局变量的区别 #include stdio.h externserial_initial (); int a=3, b=5;//定义a、b为全局变量,并赋予初值 int max (int a, int b)//形参a、b为局部变量 { int c;//定义c为局部变量 c= ab ? a:b; return (c); } void main ()//void类型的主函数 { int a=8;//定义a为局部变量 serial_initial (); printf (“%d\\n”, max (a,b)); while (1); } 程序执行结果: 8 2. 存储种类 存储种类是指变量在程序执行过程中的作用范围。 变量的存储种类有4种: 自动(auto) 外部(extem) 静态(static) 寄存器(register)。 4种存储种类与全局变量和局部变量之间的关系如下: 1) 自动变量(auto) 定义一个变量时,在变量名前面加上存储种类说明符auto,即将该变量定义自动变量。 自动变量是C语言中使用最为广泛的一类变量。 按照默认规则,在函数体内部或复合语句内部定义的变量,如果省略存储种类说明,该变量即为自动变

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档