TC官方合作论坛

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

[失效暂存] TC 关系运算符和表达式 第六章

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-31 09:49:21 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

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

x
第六章 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



回复

使用道具 举报

22#
发表于 2014-8-26 13:48:38 | 只看该作者
谢谢指教。。。 我来下了。。
回复 支持 反对

使用道具 举报

21#
发表于 2013-7-23 19:00:07 | 只看该作者
下一章,楼主太辛苦了
回复 支持 反对

使用道具 举报

20#
发表于 2013-4-24 21:34:59 | 只看该作者
看不懂 也要看
回复 支持 反对

使用道具 举报

19#
发表于 2013-3-1 22:32:02 | 只看该作者
cx谢谢
回复 支持 反对

使用道具 举报

18#
发表于 2013-2-5 15:08:36 | 只看该作者
回复 2楼tyuyan的帖子

你的工作是真的叫三人行?
回复 支持 反对

使用道具 举报

17#
发表于 2013-1-3 09:38:12 | 只看该作者
获益非浅。
回复 支持 反对

使用道具 举报

16#
发表于 2012-12-25 12:12:32 | 只看该作者
窗外,昏暗的路灯寂寞地亮着,那幽幽的黄色恍如隔世。玻璃窗上的水珠愈发澄明,而我却看不到自己的影像,点点滴滴,丝丝缕缕,映着的全是你。你的一颦一笑,一呼一吸,如此亲切,如此温馨,却又如此遥不可及。

  记忆如脱疆的野马,在只有白癜风治疗要花多少钱你和我的世界里,驰骋天涯。想起你安静的脸庞,一如安格尔笔下的女神,淡然无所染;想起你炯炯有神的双眸,一如塞那河的波心,从容无所欺;想起你明媚的笑容,一如三月里的春风,暖暖的,永不生硬……竟不知该如何打断这绵延的思绪呵,就让它任性一次,让它尽情飘散,让它漫延成腾格里沙漠,从此,在灵魂深处囤积扎根,任其千枝万结,盘根交错。
回复 支持 反对

使用道具 举报

15#
发表于 2012-11-20 12:45:24 | 只看该作者
功能 逻辑型 测试(逻辑型 a,整型 b,整型 c)
如果(!a||(c+b)>100)
      辅助.消息框("a等于假或者c加b的值大于100")
如果结束
返回 真
功能结束

这段代码里如果传入的参数a为假,那不管c+b是不是大于100,都能够执行  辅助.消息框("a等于假或者c加b的值大于100")吧?
回复 支持 反对

使用道具 举报

14#
发表于 2012-10-20 20:50:43 | 只看该作者
学习学习
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-19 00:38 , Processed in 0.142868 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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