布尔表达式

您所在的位置:网站首页 布尔表达式运算顺序 布尔表达式

布尔表达式

2024-06-16 00:33| 来源: 网络整理| 查看: 265

介绍

布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。从最基本的层次来说,所有的布尔表达式,不论它的长短如何,其值只能是true或false。

最简单的布尔表达式是等式(equality)。这种布尔表达式用来测试一个值是否与另一个值相同。它可以是一个简单的等式,例如:

2 == 4

上面这个布尔表达式的值是false,因为2和4不相等。它也可以是复杂的等式,如:

MyObject.MyProperty == YourObject.YourProperty

这个等式的值是不确定的,可能取真值也可能取假值,只有在程序运行时才能确定。如果你对C、C++甚至C#比较熟悉的话,就会知道上式中的= = (双等号) 是一个逻辑布尔操作符,而= (单等号)是用来对变量赋值的赋值操作符。程序员有时会将这两个操作符放错位置,这是一个导致程序在编译时或运行时出错的常见原因。

概述 作用

布尔表达式的语义在于指明计算一个逻辑值的规则。

布尔表达式在程序设计语言中有两个基本的作用:

一是在某些控制语句中作为实现控制转移的条件;

另一个则是用于计算逻辑值本身。

约定:各类运算符的优先顺序(由高至低)如下:

⒈括号

⒉算术运算符 *(乘法) / (除法) +(加法) -(减法) %(模)(返回一个除法的整数余数,例如:12%5=2,这里是因为12除以5的余数是2)

⒊关系运算符 =(大于等于)、(不等于)

⒋逻辑运算符 ┒ ∧ ∨

布尔表达式的等价解释-求值角度

为了方便起见,下面我们仅讨论由文法

E→ E∧E | E∨E | ┑E | (E) | I | i Rop i (5.1)

可采用类似算术表达式的方式来进行。例如,对于布尔表达式A∨B∧C,可翻译为:

(∧, B, C, T1 )

(∨, A, T1, T2 )

出口

对于布尔表达式A∨(B∧(┑C∨D)),其等价的表述是

A ?1 :(B ?((C ?0 :1)? 1 :D ):0 )

显然,采用此种结构可产生更为有效的中间代码。这里需假定原布尔表达式的计算过程中不含有任何的副作用。

在上式的计算中,根据A、B、C、D的取值不同,计算的结果以及运算的终止点亦不同。例如,当A=1(真)时,结果为1且终止于左边第一个’1’处。

这样终止的点我们称为该布尔表达式的出口,同时,把使布尔表达式取值为真的出口称为真出口,反之称为假出口。

对一个布尔表达式而言,它至少有一个真出口和一个假出口(当然可以有多个)。在用于控制流程的布尔表达式E的计算中,这些出口分别指出当E值为真和假时,控制所应转向的目标(即某一四元式的序号)。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3