为什么vb中2<=4是错的ne

设a=2,b=3,c=4,d=5下列表达式的值是not a<=c or 4*c=b^2 and b<>a+c

第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!!!
第2个回答  2013-11-08
优先级:not > and > or > 大于小于等于号 于是我们用括号来表示:(not a<=c) or ( 4*c=b^2 and b<>a+c) a<=c 是真,再加个not 就是假。 4*c=b^2  =》 4*4 =3的平方,当然是假假 and 任何东西,都还是假,于是 ( 4*c=b^2 and b<>a+c) 整个都是假于是整个式子有 假 or 假 等于 假。