单片机最小系统evj4tkf2.ppt

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

1.4.4 逻辑运算符 C51有3种逻辑运算符: || 逻辑或 逻辑与 ! 逻辑非 关系运算符用于反映两个表达式之间的大小关系,逻辑运算符则用于求条件式的逻辑值,用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。 逻辑与,格式: 条件式1 条件式2 当条件式1与条件式2都为真时结果为真(非0值),否则为假(0值)。 逻辑或,格式: 条件式1 || 条件式2 当条件式1与条件式2都为假时结果为假(0值),否则为真(非0值)。 逻辑非,格式: !条件式 当条件式原来为真(非0值),逻辑非后结果为假(0值)。当条件式原来为假(0值),逻辑非后结果为真(非0值)。 例如:若a=8,b=3,c=0,则!a为假,a b为真,b c为假。 * 1.4.5 位运算符 【例】设a=0x45,b=0x3b,则ab、a|b、a^b、~a、a2、b2分别为多少? ab=0x10。 a|b=0x7f。 a^b=0x6f。 ~a=0xab。 a2=0x50。 b2=0x0e。 C51语言能对运算对象按位进行操作,它与汇编语言使用一样方便。位运算是按位对变量进行运算,但并不改变参与运算的变量的值。如果要求按位改变变量的值,则要利用相应的赋值运算。C51中位运算符只能对整数进行操作,不能对浮点数进行操作。C51中的位运算符有: 按位与 | 按位或 ^ 按位异或 ~ 按位取反 左移 右移 * 1.4.6 复合赋值运算符 C51语言中支持在赋值运算符“=”的前面加上其它运算符,组成复合赋值运算符。下面是C51中支持的复合赋值运算符 += 加法赋值 ?= 减法赋值 *= 乘法赋值 /= 除法赋值 %= 取模赋值 = 逻辑与赋值 |= 逻辑或赋值 ^= 逻辑异或赋值 ~= 逻辑非赋值 = 右移位赋值 = 左移位赋值 复合赋值运算的一般格式如下: 变量 复合运算赋值符 表达式 它的处理过程:先把变量与后面的表达式进行某种运算,然后将运算的结果赋给前面的变量。其实这是C51语言中简化程序的一种方法,大多数二目运算都可以用复合赋值运算符简化表示。例如:a+=6相当于a=a+6;a*=5相当于a=a*5;b=0x55相当于b=b0x55;x=2相当于x=x2。 * 1.4.7 逗号运算符 在C51语言中,逗号“,”是一个特殊的运算符,可以用它将两个或两个以上的表达式连接起来,称为逗号表达式。逗号表达式的一般格式为: 表达式1,表达式2,……,表达式n 程序执行时对逗号表达式的处理:按从左至右的顺序依次计算出各个表达式的值,而整个逗号表达式的值是最右边的表达式(表达式n)的值。例如:x=(a=3,6*3)结果x的值为18。 * 1.4.8 条件运算符 条件运算符“?:”是C51语言中唯一的一个三目运算符,它要求有三个运算对象,用它可以将三个表达式连接在一起构成一个条件表达式。条件表达式的一般格式为: 逻辑表达式?表达式1:表达式2 其功能是先计算逻辑表达式的值,当逻辑表达式的值为真(非0值)时,将计算的表达式1的值作为整个条件表达式的值;当逻辑表达式的值为假(0值)时,将计算的表达式2的值作为整个条件表达式的值。例如:条件表达式max=(ab)?a:b的执行结果是将a和b中较大的数赋值给变量max。 * 指针是C51语言中的一个十分重要的概念,在C51中的数据类型中专门有一种指针类型。指针为变量的访问提供了另一种方式,变量的指针就是该变量的地址,还可以定义一个专门指向某个变量的地址的指针变量。 1.4.9 指针与地址运算符 * 为了表示指针变量和它所指向的变量地址之间的关系,C51中提供了两个专门的运算符: * 指针运算符 取地址运算符 指针运算符“*”放在指针变量前面,通过它实现访问以指针变量的内容为地址

文档评论(0)

beoes + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档