TC官方合作论坛

标题: 如何在条件语句中添加双重条件语句? [打印本页]

作者: maohongwei001    时间: 2012-10-13 14:02
标题: 如何在条件语句中添加双重条件语句?
在制作脚本中常会遇到判断多重语句如:
如果(a==1)
如果结束

如何在“如果(a==1)”添加 “或(a==2)”
如何在“如果(a==1)”添加 “和(a==3)”
??????????

作者: 冷月无痕    时间: 2012-10-13 14:03
TC中的关系运算符有“>”大于  “<”小于  “>=”大于等于  “<=”小于等于  “==”等于  “!=”不等于
>大于,如果运算符左边值大于右边值,返回真
例如:
int a
a=4
if(a>2)
help.messagebox("a大于2")
endif

<小于,如果运算符左边值小于右边值,返回真
例如:
int a
a=3
if(a<4)
help.messagebox("a小于4")
endif

>=大于等于,如果运算符左边值大于或等于右边值,返回真
例如:                  
int a
int b
a=3
b=4
if(a>=3)
help.messagebox("a大于等于3")
endif
if(b>=3)
help.messagebox("b大于等于3")
endif

<=大于等于,如果运算符左边值小于或等于右边值,返回真
例如:                  
int a
int b
a=3
b=4
if(a<=4)
help.messagebox("a小于等于3")
endif
if(b<=4)
help.messagebox("b小于等于3")
endif

==等于,如果运算符两边相等,返回真
例如:
int a
a=3
if(a==3)
help.messagebox("a等于3")
endif
注意: 这里的a等于3所以为真,执行if语句!

!=不等于,如果运算符两边不相等,返回真
例如:
int a
a=3
if(a!=4)
messagebox("a不等于4")
endif
注意: 这里的3不等于4所以为真,执行if语句!


TC中的逻辑运算符有 “&&”逻辑与  “||”逻辑或 “!”逻辑非
当表达式进行“&&”(逻辑与)运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。
例如:
   (7<8) && (3==3);
//7小于8返回真,3等于3返回真,两边都为真,返回真
   (10<8) && (3==3);
//10小于8返回假,3等于3返回真,一边为假,返回假
当表达式进行“||”(逻辑或)运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。

例如:
   (7<8) || (3==3);
//7小于8返回真,3等于3返回真,两边都为真,返回真
   (7<8) || (4==3);
//7小于8返回真,4等于3返回假,一边都为真,返回真
   (10<8) || (4==3);
//10小于8返回假,4等于3返回假,两边为假,返回假

当表达式进行“!”(逻辑非)运算时,把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
例如:
    !(3<2)
//先计算括号里的小于操作符,3小于2返回假,在计算逻辑非操作,返回真   
    !(3>2)
//先计算括号里的大于操作符,3大于2返回真,在计算逻辑非操作,返回假

注意: 当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。
例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。

关系运算符和逻辑运算符的优先级都低于算术运算符。例如,5>4+3的计算与5>(4+3)运算符是一样的,即先计算4+3,再执行关系运算。此表达示的结果为   “假”,即,将返回0。

TC中运算符顺序优先级
(最高)   () . 自左向右

      * / % 自左向右

       + - 自左向右

         < <= > >= 自左向右

== != 自左向右

&& 自左向右

(最低)   || 自左向右

注意: 优先级代表同一表达式中运算符的运算顺序,从高到低!

例如:

if(((5+5)*4)/2 > 5+5*4/2 && (4==6 || 4!=6))
help.messagebox("最终返回值是真")
else
help.messagebox("最终返回值是假")
endif
//根据运算符顺序优先级先计算 ((5+5)*4)/2 结果为 20,再计算 5+5*4/2 结果为15,再计算20 > 15 返回“真”,接着计算“&&”右边括号里(4==6 || 4!=6),4==6返回“假”,4!=6返回“真”,假||真返回“真”,最后计算 真&&真 返回 “真”。


作者: shine宝宝    时间: 2012-10-13 14:05
如何在“如果(a==1)”添加 “或(a==2)”     如果(a==1||a==2)
如何在“如果(a==1)”添加 “和(a==3)”     如果(a==1&&a==3)
作者: feng123144    时间: 2012-10-13 14:18
为了榜首,两家伙斗上了




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1