TC官方合作论坛

标题: TC 关系运算符和表达式 第六章 [打印本页]

作者: 诚诚    时间: 2012-5-31 09:49
标题: TC 关系运算符和表达式 第六章
第六章 TC的关系运算符和表达式
6.1 概述
  在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作,这样的比较运算在TC中称为关系表达式,运算符号称为关系运算符.
  
6.2 关系运算符
  比较两个量的运算符称为关系运算符。
  关系运算符及其优先次序
  在TC语言中有以下关系运算符:
  关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,<,<=,>,>=的优先级相同,高于==!===!=的优先级相同。
6.2 关系表达式
  关系表达式的一般形式为:表达式,关系运算符 ,表达式
  例如:

  1. a+b>c-d
  2. x>3/2
复制代码
  都是合法的关系表达式,关系表达式的值一定是为逻辑型,真 或者是 假,如:5>0的值为(a=3)>(b=5)由于3>5不成立,故其值为假。

6.3 逻辑运算符和表达式
  逻辑运算符极其优先次序,TC语言中提供了三种逻辑运算符:

  与运算符&&和或运算符||均为双目运算符.非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的,关系可表示如下:
  1. !(非)→&&(与)→||(或)
复制代码
  “&&”“||”低于关系运算符,高于算术运算符。
  按照运算符的优先顺序可以得出:
    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
  逻辑表达式的值是式中各种逻辑运算的最后值,以分别代表。
  下面做个表达式的综合实例:
  [例]

  1. 功能 逻辑型 测试(逻辑型 a,整型 b,整型 c)
  2. 如果(a&&(c>b))
  3.        辅助.消息框("a等于真并且c大于b")
  4. 如果结束

  5. 如果(!a||(c+b)>100)
  6.       辅助.消息框("a等于假或者c加b的值大于100")
  7. 如果结束

  8. 返回 真
  9. 功能结束
复制代码
  以上代码中,我们不难看出,如果测试函数传入的参数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