C51数据类型与运算符.ppt

上传人:s****8 文档编号:66202616 上传时间:2022-12-14 格式:PPT 页数:19 大小:873.50KB
返回 下载 相关 举报
C51数据类型与运算符.ppt_第1页
第1页 / 共19页
C51数据类型与运算符.ppt_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C51数据类型与运算符.ppt》由会员分享,可在线阅读,更多相关《C51数据类型与运算符.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第五讲 C51数据类型与运算符一、C51数据类型二、C51运算符及表达式三、C51程序设计中的常见问题分析四、实训20112011年春年春 一、C51数据类型n1、char字符类型 uchar类型的长度是一个字节,通常用于定义处理字符数据的变量或常量。u分无符号字符类型unsigned char和有符号字符类型signed char,默认值为signed char类型。Unsigned char类型范围是0255。Signed char类型范围是-128+127。20112011年春年春 一、C51数据类型n2、int整型uint整型长度为两个字节,用于存放一个双字节数据。u分有符号int整型

2、数signed int和无符号整型数unsigned int,默认值为signed int类型。Signed int表示的数值范围是-32768+32767Unsigned int表示的数值范围是065535。n3、long长整型 ulong长整型长度为四个字节,用于存放一个四字节数据。分有符号long长整型signed long和无符号长整型unsigned long,默认值为signed long类型。20112011年春年春 一、C51数据类型n4、float浮点型 u单精度u双精度n 5、指针型 u指针型本身就是一个变量,在这个变量中存放的指向另一个数据的地址。这个指针变量要占据一定的

3、内存单元,对不同的处理器长度也不尽相同,在C51中它的长度一般为13个字节。n6、sfr特殊功能寄存器 usfr也是一种扩充数据类型,点用一个内存单元,值域为0255。20112011年春年春 一、C51数据类型n7、sfr16 16位特殊功能寄存器 usfr16占用两个内存单元,值域为065535。n8、bit位标量 ubit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。n9、sbit可位寻址 usbit同位是C51中的一种扩充数据类型,利

4、用它可以访问芯片内部的RAM中的可寻址位或特殊功能寄存器中的可寻址位。20112011年春年春 一、C51数据类型20112011年春年春 二、C51运算符及表达式n1、算术运算u(1)算术运算符u+-*/%(模运算或取余运算符)(模运算或取余运算符)u注意:注意:都是双目运算符,即需要两个操作数都是双目运算符,即需要两个操作数对对/,若两个整数相除,结果为整数(取整),若两个整数相除,结果为整数(取整)对于对于%,要求,要求%两侧的操作数均为整型数据,所得结果的符号与左两侧的操作数均为整型数据,所得结果的符号与左侧操作数符号相同。侧操作数符号相同。u+自增自增 -自减自减u注意:注意:+和和

5、-是单目运算符是单目运算符+和和-只能用于变量,不能用与常量和表达式。只能用于变量,不能用与常量和表达式。+j 先自增先自增 在取值在取值j+先取值先取值 后自增后自增20112011年春年春 二、C51运算符及表达式u(2)算术表达式用算术运算符和括号将操作数连接起来的式子。用算术运算符和括号将操作数连接起来的式子。如:如:a*b/c-1+dInt a=2,b=3,c=3,d=1;结果:结果:2u优先级:优先级:u结合性:结合性:u括号(括号()20112011年春年春 二、C51运算符及表达式n2、关系运算符和关系表达式、关系运算符和关系表达式u(1)关系运算符优先级)关系运算符优先级 ,

6、=,=,=,!,!=前四个优先级相同,后两个优先级相同,前四个优先前四个优先级相同,后两个优先级相同,前四个优先级高于后两个。级高于后两个。u(2)关系表达式)关系表达式关系表达式的值为逻辑值,真和假,关系表达式的值为逻辑值,真和假,1代表真,代表真,0代代表假。表假。u注:在优先级上注:在优先级上 算术运算符算术运算符关系运算符关系运算符赋值运算符赋值运算符20112011年春年春 二、C51运算符及表达式n3、逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式u(1)逻辑运算符及其优先级)逻辑运算符及其优先级&逻辑与逻辑与|逻辑或逻辑或!逻辑非!逻辑非 注意:注意:1、&与与|是双目运算符,!是

7、单目运算符是双目运算符,!是单目运算符2、在优先级上!、在优先级上!&|u(2)逻辑表达式)逻辑表达式逻辑表达式值为逻辑量(真或假)逻辑表达式值为逻辑量(真或假)20112011年春年春 二、C51运算符及表达式n4、位运算符及其表达式位运算符及其表达式u按位与按位与&u按位或按位或|u按位异或按位异或u按位取反按位取反u左移左移n(1)按位与运算符)按位与运算符&u如:如:char a=3 ,b=6u作用:作用:1)清零:让要清零的数与)清零:让要清零的数与0按位与即可按位与即可 2)保留某些位,而将其余的位清零。)保留某些位,而将其余的位清零。00000011&00000110 00000

8、01020112011年春年春 二、C51运算符及表达式n(2)按位或运算符)按位或运算符|u作用:作用:u按位或的作用是将指定的位置置按位或的作用是将指定的位置置1n(3)异或运算符异或运算符u作用:作用:1)与)与1异或,使其定位翻转。任异或,使其定位翻转。任何数与何数与1异或都会变成相反数。异或都会变成相反数。2)与)与0异或,使指定位保留原值。异或,使指定位保留原值。任何数与任何数与0异或都保持不变。异或都保持不变。00000000|00001100 00001100 00111100 00001111 0011001120112011年春年春 二、C51运算符及表达式n(4)位取反运

9、算符)位取反运算符u如:如:unsigned char a=0 x9a,b;b=a b=0 x65,a值不变。值不变。n(5)位左移运算符)位左移运算符u左移左移1位相当与乘位相当与乘2u 如:如:unsigned char a=15 a=a1 00001111a=a1左移左移1位位 a=30a=a(右移右移1位相当于除位相当于除2)u注:注:1、左移运算中高位移出舍弃不用,低位补、左移运算中高位移出舍弃不用,低位补0u2、右移运算中低位移出舍弃不用,高位对无符号数补、右移运算中低位移出舍弃不用,高位对无符号数补0,对有符号数高位补符号位。,对有符号数高位补符号位。n5、赋值运算符和赋值表达式

10、、赋值运算符和赋值表达式u赋值运算符赋值运算符 “=”优先级较底,右结合性。优先级较底,右结合性。n6、复合赋值运算符、复合赋值运算符uc51提供了下列十个复合赋值运算符。提供了下列十个复合赋值运算符。+=,-=,*=,/=,%=&=,1=,=a+=b a=(a+b)a=4 a=(a=0;i-)循环体;for(i=0;i=7;i+)循环体;20112011年春年春 三、C51程序设计中的常见问题分析n3、显示数据处理n整数和实型数据uunsigned char code seg_tab16=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x8

11、0,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E;uuchar d=128;uuchar ge,sh,ba;uge=d%10;ush=d/10%10;uba=d/100;uP0=seg_tabge;uP1=seg_tabsh;uP2=seg_tabba;20112011年春年春 三、C51程序设计中的常见问题分析n4、输入状态的扫描u常用于流程控制的条件P1=0 xff;if(P1!=0 xff)/operationg20112011年春年春 四、实训n流水灯u要求1、不用库函数实现流水灯程序;2、在Proteus中演示;3、可增加按键功能。20112011年春年春

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁