第1个回答 2013-11-08
VB对表达式的执行顺序按照如下规则:
1、首先执行函数运算。
2、其次是算术运算。
算术运算符的优先顺序依次为:幂、取负、乘和浮点除、整除、取模、加和减、连接
3、再次是关系运算。
4、最后是逻辑运算。
逻辑运算的优先顺序依次为:Not、And、Or、Xor、Eqv、Imp。
5、同优先级则按照从左到右的顺序执行。
具体到你的算式,按照上述规则改写一下式子,结果就很明显了。
1、首先会是算术计算,4*c、B^2、a+c这三项优先级最高,所以算式可以改写为:not a <= c or (4*c) = (b^2) and b <> (a+c);
2、然后是关系运算,为便于讲解,这里先将上一步括号内的结果计算出来,算式可以进一步改写为:not (a <= c) or (16 = 9) and (b <> 6);
3、再然后就是逻辑运算了,为便于讲解,这里也先将上一步括号内的结果用真(T)与假(F)表示出来,算式可改写为:not (T) or (F) and (T);
4、按照先Not再And最后Or的运算顺序,改写算式为:(not (T)) or ((F) and (T)),整理得:(F) or (F)
至此可知,算式的最后结果为假。
你可以在VB中进行验证,结果肯定是False!!!