TC官方合作论坛
标题: TC 关系运算符和表达式 第六章 [打印本页]
作者: 诚诚 时间: 2012-5-31 09:49
标题: TC 关系运算符和表达式 第六章
第六章 TC的关系运算符和表达式
6.1 概述
在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作,这样的比较运算在TC中称为关系表达式,运算符号称为关系运算符.
6.2 关系运算符
比较两个量的运算符称为关系运算符。
关系运算符及其优先次序
在TC语言中有以下关系运算符:
- < 小于
- <= 小于或等于
- > 大于
- >= 大于或等于
- == 等于
- != 不等于
关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<,<=,>,>=的优先级相同,高于==和!=,==和!=的优先级相同。
6.2 关系表达式
关系表达式的一般形式为:表达式,关系运算符 ,表达式
例如:
都是合法的关系表达式,关系表达式的值一定是为逻辑型,真 或者是 假,如:5>0的值为“真”。(a=3)>(b=5)由于3>5不成立,故其值为假。
6.3 逻辑运算符和表达式
逻辑运算符极其优先次序,TC语言中提供了三种逻辑运算符:
与运算符&&和或运算符||均为双目运算符.非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的,关系可表示如下:
“&&”和“||”低于关系运算符,“!”高于算术运算符。
按照运算符的优先顺序可以得出:
a>b && c>d 等价于 (a>b)&&(c>d)
!b==c||d<a 等价于 ((!b)==c)||(d<a)
a+b>c&&x+y<b 等价于 ((a+b)>c)&&((x+y)<b)
逻辑运算的值
逻辑运算的值也为“真”和“假”两种。其求值规则如下:
1. 与运算 &&:参与运算的两个量都为真时,结果才为真,否则为假。
例如:
5>0 && 4>2
由于5>0为真,4>2也为真,相与的结果也为真。
2. 或运算||:参与运算的两个量只要有一个为真,结果就为真。 两个量都为假时,结果为假。
例如:
5>0||5>8
由于5>0为真,相或的结果也就为真。
3.非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。
例如:
!(5>0)
的结果为假。
虽然TC编译在给出逻辑运算值时,逻辑运算值只有“真”,“假”这2个值。不是"真"就为"假"。
逻辑表达式
逻辑表达式的一般形式为:表达式 逻辑运算符。
其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。
例如:(a&&b)&&c
根据逻辑运算符的左结合性,上式也可写为: a&&b&&c
逻辑表达式的值是式中各种逻辑运算的最后值,以“真”和“假”分别代表。
下面做个表达式的综合实例:
[例]
- 功能 逻辑型 测试(逻辑型 a,整型 b,整型 c)
- 如果(a&&(c>b))
- 辅助.消息框("a等于真并且c大于b")
- 如果结束
- 如果(!a||(c+b)>100)
- 辅助.消息框("a等于假或者c加b的值大于100")
- 如果结束
- 返回 真
- 功能结束
复制代码 以上代码中,我们不难看出,如果测试函数传入的参数a为真,并且c大于b的时候,会弹出对话框"a等于真并且c大于b" ,如果传入的参数a为假,并且b+c的值大于100的时候,会弹出对话框"a等于假或者c加b的值大于100" .
对于上节课的运算表达式不熟悉的同学,请回顾上节课内容:
第五章,TC的算术运算符和算术表达式 http://bbs.tyuyan.com/thread-12786-1-1.html
掌握了这节课的同学,那继续学习TC的过程化语句设计吧!
第七章,TC的过程化程序设计 http://bbs.tyuyan.com/thread-12842-1-1.html
作者: tyuyan 时间: 2012-5-31 09:51
沙发。
作者: lt729541702 时间: 2012-5-31 09:52
小三都不用睡觉的么
作者: 无情的冷风 时间: 2012-5-31 10:15
来看看。。
作者: TakeBobo 时间: 2012-5-31 10:15
学习了 。感谢楼主分享。
作者: 战地之王 时间: 2012-5-31 10:28
非常的给力。。
作者: 花开花落 时间: 2012-5-31 10:28
给力的说。
作者: 落叶归根 时间: 2012-5-31 11:03
学习了。
作者: 战斗之神 时间: 2012-5-31 11:03
受益匪浅啊。。
作者: 泥巴路 时间: 2012-5-31 11:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 105735417 时间: 2012-8-10 14:55
日积月累,知识是一点点积累的。
作者: myismaln 时间: 2012-8-16 18:10
学习了
作者: pinganckt1980 时间: 2012-9-24 07:18
这个例子可以完整的运行吗
作者: 1838761169 时间: 2012-10-20 20:50
学习学习
作者: yuhuboyfox 时间: 2012-11-20 12:45
功能 逻辑型 测试(逻辑型 a,整型 b,整型 c)
如果(!a||(c+b)>100)
辅助.消息框("a等于假或者c加b的值大于100")
如果结束
返回 真
功能结束
这段代码里如果传入的参数a为假,那不管c+b是不是大于100,都能够执行 辅助.消息框("a等于假或者c加b的值大于100")吧?
作者: 二货你好 时间: 2012-12-25 12:12
窗外,昏暗的路灯寂寞地亮着,那幽幽的黄色恍如隔世。玻璃窗上的水珠愈发澄明,而我却看不到自己的影像,点点滴滴,丝丝缕缕,映着的全是你。你的一颦一笑,一呼一吸,如此亲切,如此温馨,却又如此遥不可及。
记忆如脱疆的野马,在只有白癜风治疗要花多少钱你和我的世界里,驰骋天涯。想起你安静的脸庞,一如安格尔笔下的女神,淡然无所染;想起你炯炯有神的双眸,一如塞那河的波心,从容无所欺;想起你明媚的笑容,一如三月里的春风,暖暖的,永不生硬……竟不知该如何打断这绵延的思绪呵,就让它任性一次,让它尽情飘散,让它漫延成腾格里沙漠,从此,在灵魂深处囤积扎根,任其千枝万结,盘根交错。
作者: honge10000 时间: 2013-1-3 09:38
获益非浅。
作者: btbcagf 时间: 2013-2-5 15:08
回复 2楼tyuyan的帖子
你的工作是真的叫三人行?
作者: laowantong 时间: 2013-3-1 22:32
cx谢谢
作者: 175062045 时间: 2013-4-24 21:34
看不懂 也要看
作者: a869848744 时间: 2013-7-23 19:00
下一章,楼主太辛苦了
作者: slz336 时间: 2014-8-26 13:48
谢谢指教。。。 我来下了。。
| 欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) |
Powered by Discuz! X3.1 |