第3章单片机C语言课件.ppt

上传人(卖家):晟晟文业 文档编号:5177078 上传时间:2023-02-16 格式:PPT 页数:62 大小:347KB
下载 相关 举报
第3章单片机C语言课件.ppt_第1页
第1页 / 共62页
第3章单片机C语言课件.ppt_第2页
第2页 / 共62页
第3章单片机C语言课件.ppt_第3页
第3页 / 共62页
第3章单片机C语言课件.ppt_第4页
第4页 / 共62页
第3章单片机C语言课件.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、单片机单片机C语言语言C51特点n结构化语言结构化语言n丰富的数据类型丰富的数据类型n便于维护管理便于维护管理n与汇编语言相比,与汇编语言相比,C语言的优点如下:语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;单片机的存储器结构;寄存器分配、不同存储器的寻址及数据类型等细节可寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;由编译器管理;结构清晰,程序可读性强;结构清晰,程序可读性强;编译器提供了很多标准库函数,具有较强的数据处理编译器提供了很多标准库函数,具有较强的数据处理能力。能力。C51-1:C51

2、基本结构基本结构n/功能:控制八个信号灯闪烁程序功能:控制八个信号灯闪烁程序n#include/定义了定义了MCS-52单片机的特殊功能寄存器单片机的特殊功能寄存器nvoid delay(unsigned char i);/延时函数声明延时函数声明nvoid main()/主函数主函数nn while(1)n P1=0 x00;/点亮八个点亮八个LEDn delay(200);/延时延时n P1=0 xff;/熄灭八个熄灭八个LEDn delay(200);/延时延时n nn/函数名:函数名:delayn/函数功能:实现软件延时函数功能:实现软件延时n/形式参数:形式参数:unsigned c

3、har i;nvoid delay(unsigned char i)/延时函延时函数,无符号字符型变量数,无符号字符型变量i为形式参数为形式参数nn unsigned char j,k;/定义无符号字符型变量定义无符号字符型变量j和和kn for(k=0;ki;k+)/双重双重for循环语句实现软件延时循环语句实现软件延时n for(j=0;j=!=&|!&|?:,&sizeof (数据类型标识符)类型类型种类种类算术运算符算术运算符赋值运算符赋值运算符关系运算符关系运算符逻辑运算符逻辑运算符位运算符位运算符条件运算符条件运算符逗号运算符逗号运算符其他运算符其他运算符5 表达式的有关概念n什么

4、是表达式什么是表达式由由运算符运算符将运算对象连接成的式子,它描述了将运算对象连接成的式子,它描述了一个具体的求值运算过程。一个具体的求值运算过程。n计算表达式的值计算表达式的值按照运算符的运算规则求值按照运算符的运算规则求值求值时注意求值时注意运算符的优先级和结合性运算符的优先级和结合性例如:n表达式:b=(+a)-2a/=a*=(a=2)f=abc-a|+b&c+max=ab?a:b a=3,a+=3,a*a 1/(float)a+6 6 6 算术运算符和算术表达式算术运算符和算术表达式n算术运算符的优先级算术运算符的优先级()例 5/2 =2 -5/2.0=-2.5例 5%2 =1 -5

5、%2 =-1 1%10 =1 5%1 =0 5.5%2 ()7 7 自增、自减运算符自增、自减运算符n自增自增(+)、自减、自减(-)都是都是单目单目运算符运算符n有前缀和后缀两种形式有前缀和后缀两种形式 前缀形式前缀形式:先自增先自增(自减自减)再引用;再引用;后缀形式后缀形式:先引用再自增先引用再自增(自减自减);n功能:功能:前缀形式前缀形式 +a a 等价于等价于 a=a+1 a=a+1 -a a 等价于等价于 a=a a=a 1 1 后缀形式后缀形式 a+a+等价于等价于 a=a+1 a=a+1 a a-等价于等价于 a=a a=a 1 1例如:例如:当当 a5 时时 +a 表达式的

6、值为表达式的值为 6,且且 a6 a+表达式的值为表达式的值为5,且,且 a6 b=+a 等价于等价于 a=a+1;b=a 表达式的值为表达式的值为6,且,且 a=6,b=6 b=a+等价于等价于 b=a;a=a+1 表达式的值为表达式的值为5,且,且 a=6,b=5 说明:n+和和-的运算对象只能是变量的运算对象只能是变量,不能是常量不能是常量或表达式。或表达式。例如:例如:5+、(a+2)+不合法。不合法。n右结合性右结合性,结合方向为从右到左。,结合方向为从右到左。例如:例如:a+等价于等价于-(a+)而不等价而不等价(-a)+n如果有多个运算符连续出现时,如果有多个运算符连续出现时,C

7、编译系统尽可编译系统尽可能多的从左到右将多个字符组合成一个运算符能多的从左到右将多个字符组合成一个运算符例如:例如:i+j 等价于等价于 (i+)+j -i+-j 等价于等价于-(i+)+(-j)8 关系运算符、逻辑运算符及其表达关系运算符、逻辑运算符及其表达式式 无论是关系运算还是逻辑运算,无论是关系运算还是逻辑运算,其结其结果都会得到一个逻辑值果都会得到一个逻辑值。逻辑值只有两。逻辑值只有两个,在很多高级语言中都用个,在很多高级语言中都用“真真”和和“假假”来表示。来表示。由于没有专门的由于没有专门的“逻辑值逻辑值”,C51语言语言规定:当关系成立或逻辑运算结果为非零值规定:当关系成立或逻

8、辑运算结果为非零值(整数或负数整数或负数)时为时为“真真”,用,用“1”表示;否表示;否则为则为“假假”,用,用“0”表示。表示。n关系运算符关系运算符种类种类:=!=结合方向:自左向右结合方向:自左向右优先级别:优先级别:=!=优先级6(高)优先级7(低)例例 ca+b /c(a+b)ca+b /c(a+b)ab!=c /(ab)!=c ab!=c /(ab)!=c a=bc /a=(bc)a=bc /a=(bc /a=(bc)a=bc /a=(bc)关系表达式的值:是逻辑值“真”或“假”,用1和0表示/表达式值1/表达式值1/表达式值0/d=1/f=0(1)关系运算符与关系表达式关系运算符

9、与关系表达式(左结合左结合)例 注意区分“=”与“=”int a=0,b=1;if(a=b)printf(“a equal to b”);else printf(“a not equal to b”);关系运算注意(2)ab!a!ba&ba|b真假真假假假真真n逻辑运算符逻辑运算符种类:种类:!&|逻辑运算真值表逻辑运算真值表C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,真假假假假假真真假假真真真假真真(2)逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式!(2)&(11)|(12)高低l优先级:l结合方向:!:从右向左&:从左向右|:从左向右逻辑运算符和表

10、达式(2)注意:数学中常用的逻辑关系注意:数学中常用的逻辑关系xay,C51语言的正确写法语言的正确写法为为(x=a)&(a=y)或或 x=a&a=y!(2)&(11)|(12)高低l优先级:l结合方向:!:从右向左&:从左向右|:从左向右逻辑运算符和表达式(3)短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符 例 a&b&c /只在a为真时,才判别b的值;只在a、b都为真时,才判别 c的值例 a|b|c /只在a为假时,才判别b的值;只在a、b都为假时,才判别 c的值例 a=1;b=2;c=3;d=4;m=1;n=1

11、;(m=ab)&(n=cd)/结果m=0,n=19 9 赋值运算符和赋值表达式赋值运算符和赋值表达式n一般的赋值运算符一般的赋值运算符(右结合)右结合)=n复合复合赋值运算符赋值运算符(右结合)右结合)由一个二元运算符和赋值运算符共同构成由一个二元运算符和赋值运算符共同构成 C C语言共有十种语言共有十种复合复合赋值运算符:赋值运算符:+=-=*=/=%=&=|=n赋值表达式:赋值表达式:由由赋值运算符将变量和一个表达式连接起来赋值运算符将变量和一个表达式连接起来的式子。的式子。n功能:功能:将将表达式的值表达式的值存入存入变量变量对应的内存单元中对应的内存单元中n表达式的值:表达式的值:为为

12、赋值运算符赋值运算符左边变量的值左边变量的值m=12b=(+a)-2 m%=3+n 等价于等价于 m=m%(3+n)说明:n赋值号左边必须是变量,右边可以是赋值号左边必须是变量,右边可以是C语言任意合语言任意合法的表达式法的表达式例如:例如:n=t+2s 合法合法 相当于:相当于:n=(t+2)10 等价于:等价于:a=(b=(b*c)10)n赋值号与数学中的等号含义不同赋值号与数学中的等号含义不同例如:例如:数学中数学中 a=b 等价于等价于 b=a C语言中语言中 a=b 不等价于不等价于 b=a10 位运算符和位运算&|低于单目、算术运算符,低于单目、算术运算符,高于其他运算符高于其他运

13、算符低于单目、算术和关系运低于单目、算术和关系运算符,高于其他运算符算符,高于其他运算符位运算符的运算规则 n假设ai和bi均是一个二进制位(bit)运算对象逻辑运算结果aibiai&biai|biai biai000001010111100110111100已知已知x为:为:00010011,y为:为:11110111。求。求x、x&y、x|y、xy的结果。的结果。例:例:(1)x是将是将x中原为中原为1的位变成的位变成0,原为,原为0的位变成的位变成1。因。因此,此,x为:为:11101100。(2)x&y、x|y、xy的结果为:的结果为:00010011&:111101110001001

14、100010011|:111101111111011100010011 :1111011111100100 位逻辑运算符与逻辑运算符的区别位逻辑运算符与逻辑运算符的区别 位逻辑运算符是对二进制位的,逻辑运算位逻辑运算符是对二进制位的,逻辑运算符是对整个表达式的符是对整个表达式的。位逻辑运算符要计算表达式的具体数值,位逻辑运算符要计算表达式的具体数值,逻辑运算符只判别表达式的真逻辑运算符只判别表达式的真(成立成立)与假与假(不成不成立立)。移位运算n例如:ab-1 等价于 (a+8)(b-1)#include void main()int a=10,b=2;printf(%d%dn,);11 11 逗号运算符和逗号表达式逗号运算符和逗号表达式n逗号表达式的一般形式逗号表达式的一般形式 表达式表达式1,表达式,表达式2,表达式,表达式nn 逗号表达式的值逗号表达式的值从左向右,依次对表达式求值,最后得到从左向右,依次对表达式求值,最后得到表达式表达式n 的的值就是值就是逗号表达式的值逗号表达式的值 a=5,a+,a*3 t=1,t+5,t+x=(a=3*5,a*4)小结小结 本节主要内容是:本节主要内容是:C C的算术、的算术、运算符,各种运算符的运算优先运算符,各种运算符的运算优先级,要求能够正确地书写级,要求能够正确地书写C C的表的表达式。达式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第3章单片机C语言课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|