逻辑运算符
发布时间:2016/7/13 20:27:24 访问次数:452
关系运算符所能反映的是两个表达式之间的大小等于关系,而逻辑运算符则是用于求条件式的逻辑值, HA7-2520-2逻辑运算结果只有真与假两种。C51提供3种逻辑运算符:
&&:逻辑与(AND) |:逻辑或(oR) !:逻辑非CNoT)
“与”逻辑和“或”逻辑是双目运算符,而“非”逻辑是单目运算符。
逻辑运算符优先级别:逻辑非最高,逻辑与次之,逻辑或最低。
C51逻辑运算符、算术运算符、关系运算符和赋值运算符之间优先级的次序如图6.1所示。其中,!(非)运算符优先级最高,算术运算符次之,关系运算符再次之,与和或再次之,最低为赋值运算符。
例女口, a=1, b=2, c=3, d=4, ln=0, n=0, 则:
m=少b∶因为a)b为假(0),即m=o。
m=c<d∶因为c(d为真(1),即m=l。
图6.1 常用运算符的优先级
m==c(d:因为==运算符的优先级比(运算符的低,所以先判断c(d为真(1),而m等于0,两者不相等,故表达式的值为假⑩)。
(m==a>b)&&ln==c)d):因为a>b为假⑩),即m==o为真(1),故需继续向右执行,又因为0d为假(0),即n==o为真(1),两者相与结果为真(1),故表达式值为1。
关系运算符所能反映的是两个表达式之间的大小等于关系,而逻辑运算符则是用于求条件式的逻辑值, HA7-2520-2逻辑运算结果只有真与假两种。C51提供3种逻辑运算符:
&&:逻辑与(AND) |:逻辑或(oR) !:逻辑非CNoT)
“与”逻辑和“或”逻辑是双目运算符,而“非”逻辑是单目运算符。
逻辑运算符优先级别:逻辑非最高,逻辑与次之,逻辑或最低。
C51逻辑运算符、算术运算符、关系运算符和赋值运算符之间优先级的次序如图6.1所示。其中,!(非)运算符优先级最高,算术运算符次之,关系运算符再次之,与和或再次之,最低为赋值运算符。
例女口, a=1, b=2, c=3, d=4, ln=0, n=0, 则:
m=少b∶因为a)b为假(0),即m=o。
m=c<d∶因为c(d为真(1),即m=l。
图6.1 常用运算符的优先级
m==c(d:因为==运算符的优先级比(运算符的低,所以先判断c(d为真(1),而m等于0,两者不相等,故表达式的值为假⑩)。
(m==a>b)&&ln==c)d):因为a>b为假⑩),即m==o为真(1),故需继续向右执行,又因为0d为假(0),即n==o为真(1),两者相与结果为真(1),故表达式值为1。