TC官方合作论坛

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

[失效暂存] TC 功能的调用 第十二章

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

马上加入TC

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

x
第十二章 TC 功能的调用
12.1 TC 功能的调用
  前面已经说过,在程序中是通过对功能的调用来执行功能体的,其过程与其它语言的子程序调用相似,通过功能所属的空间来引用调用功能的。TC语言中,功能调用的一般形式为:
  空间名.功能名(实际参数表)
对无参功能调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
(注:function对应TC中文为:功能,endfunction对应TC中文为:功能结束,return对应TC中文为:返回)
功能调用的方式在TC语言中,可以用以下几种方式调用功能:
  1. 功能表达式:功能作为表达式中的一项出现在表达式中,以功能返回值参与表达式的运算。这种方式要求功能是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z
  2. 功能实参:功能作为另一个功能调用的实际参数出现。
例:
  1. 空间 测试
  2. 功能 整型 A(整型 a)
  3. 返回 a+100
  4. 功能结束
  5. 功能
  6. 整型 B(整型 b)
  7. 返回 b+100
  8. 功能结束
  9. 功能 整型 C(整型 a,整型 b)
  10. 整型 max=测试.A(a)+测试.B(b)
  11. 返回 max
  12. 功能结束
  13. 功能 整型 D(整型 a,整型 b)
  14. 返回 测试.C(测试.A(a),测试.B(b))
  15. 功能结束
  16. 空间结束
复制代码


功能C中整型 max=测试.A(a)+测试.B(b)一个赋值表达式,把功能A和功能B的返回值赋予变量max功能D者是以功能A和功能B做为了功能C的实际参数,调用了功能C,做为了返回值。

被调用功能的功能原型
TC语言中主调功能中调用某功能之前不需要做任何声明,只要改功能功能已经编写完成而且该功能所在的空间中进行引用即可。这与使用变量之前要先进行变量说明是一样的。在主调功能中对被调功能作说明的目的是使编译系统知道被调功能返回值的类型,以便在主调功能中按此种类型对返回值作相应的处理。
例:
  1. 空间 测试
  2. 功能 整型 A(整型 n)
  3. 返回 测试.B(n)
  4. 功能结束
  5. 功能 整型 B(整型 n)
  6. 返回 测试.A(n)
  7. 功能结束
  8. 空间结束
复制代码
在同一个空间中,功能间相互调用,只需要功能所在的空间的空间名:测试,引出功能名()就可以调用成功了。例子中的空间名为:测试,测试空间中有功能A和功能B,功能A要调用功能B,因为功能B要传一个整型变量,所以就这样测试.B(n)就可以调用到了,同理功能B调用功能A,也是测试.A(n)即可。


在线观看地址http://v.youku.com/v_show/id_XNDEzMjU3MDE2.html
http://player.youku.com/player.php/sid/XNDEzMjU3MDE2/v.swf


对于运算符以及运算表达式不熟悉的,可以回顾以下内容:
第五章,TC的算术运算符和算术表达式  http://bbs.tyuyan.com/thread-12786-1-1.html
第六章,TC的关系运算符和表达式     http://bbs.tyuyan.com/thread-12813-1-1.html

对流程语句不熟悉了的同学,可以回顾前面的内容:
第七章,TC的过程化程序设计 http://bbs.tyuyan.com/thread-12842-1-1.html
第八章,TC的如果(if)语句   http://bbs.tyuyan.com/thread-12815-1-1.html
第九章,TC的选择(select)语句  http://bbs.tyuyan.com/thread-12816-1-1.html
第十章,TC的循环(while,repeat)语句  http://bbs.tyuyan.com/thread-12818-1-1.html

对功能语句不熟悉了的同学,可以回顾前面的内容:
第十一章,TC的功能定义  http://bbs.tyuyan.com/thread-12841-1-1.html

理解了本课的同学,那么继续学习功能的调用内容吧!
第十三章,TC的空间定义  http://bbs.tyuyan.com/thread-12847-1-1.html



回复

使用道具 举报

泥巴路 该用户已被删除
沙发
发表于 2012-6-1 10:43:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

板凳
发表于 2012-6-1 11:26:20 | 只看该作者
学习中。。
回复 支持 反对

使用道具 举报

地板
发表于 2012-6-1 11:29:48 | 只看该作者
感谢版主大大分享。
回复 支持 反对

使用道具 举报

5#
发表于 2012-6-1 14:23:05 | 只看该作者
楼主用心了。
回复 支持 反对

使用道具 举报

6#
发表于 2012-6-1 14:23:51 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

7#
发表于 2012-6-1 23:46:54 | 只看该作者
对 我来说
回复 支持 反对

使用道具 举报

8#
发表于 2012-6-4 23:21:48 | 只看该作者
很不错的教程,顶起!!
楼主辛苦了
回复 支持 反对

使用道具 举报

9#
发表于 2012-6-27 04:28:18 | 只看该作者
菜鸟飞呀飞@~~
回复 支持 反对

使用道具 举报

10#
发表于 2012-8-16 18:35:23 | 只看该作者
菜鸟也高飞了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-18 07:03 , Processed in 0.111043 second(s), 23 queries .

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

© 2001-2013 Comsenz Inc.

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