TC官方合作论坛

 找回密码
 立即注册
查看: 727|回复: 3
打印 上一主题 下一主题

[已解决] 如何在条件语句中添加双重条件语句?

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-13 14:02:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在制作脚本中常会遇到判断多重语句如:
如果(a==1)
如果结束

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

使用道具 举报

板凳
发表于 2012-10-13 14:05:02 | 只看该作者
如何在“如果(a==1)”添加 “或(a==2)”     如果(a==1||a==2)
如何在“如果(a==1)”添加 “和(a==3)”     如果(a==1&&a==3)
回复 支持 反对

使用道具 举报

沙发
发表于 2012-10-13 14:03:11 | 只看该作者
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返回“真”,假||真返回“真”,最后计算 真&&真 返回 “真”。

回复 支持 反对

使用道具 举报

地板
发表于 2012-10-13 14:18:24 | 只看该作者
为了榜首,两家伙斗上了
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-10 04:22 , Processed in 0.132691 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表