TC官方合作论坛

标题: TC 功能的调用 第十二章 [打印本页]

作者: 诚诚    时间: 2012-6-1 10:25
标题: TC 功能的调用 第十二章
第十二章 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
提示: 作者被禁止或删除 内容自动屏蔽
作者: 战地之王    时间: 2012-6-1 11:26
学习中。。
作者: 落叶归根    时间: 2012-6-1 11:29
感谢版主大大分享。
作者: 无情的冷风    时间: 2012-6-1 14:23
楼主用心了。
作者: TakeBobo    时间: 2012-6-1 14:23
学习了
作者: 67800461    时间: 2012-6-1 23:46
对 我来说
作者: jrflsh    时间: 2012-6-4 23:21
很不错的教程,顶起!!
楼主辛苦了
作者: 968    时间: 2012-6-27 04:28
菜鸟飞呀飞@~~
作者: myismaln    时间: 2012-8-16 18:35
菜鸟也高飞了
作者: 钱多多    时间: 2012-12-9 20:56
谢谢楼
作者: 二货你好    时间: 2012-12-25 12:10
一个人的时候总是想起一些,尘封的记忆,或许是孤独吧!

  很多时候我们并不能体会别人的感受白癜风治疗要花多少钱,即使体会到了,也无能为力,心情这个东西只有自己可以解决,每个人的灵魂都在自己的世界里,孤独地过冬。

  灵魂孤太过独立的人,肯定会很孤独,因为无所依靠,每个人的世界里是不是都很迷茫地看着雪花的飘舞呢?每个人的灵魂都有一个缺口,所以我们不断地寻找,人生本就是个寻找的过程,这其中有甜有苦,有孤独,有无奈,每个人的成长都是个化茧的过程,都会很孤独,这是避免不了的。
作者: laowantong    时间: 2013-3-1 22:38
回复 1楼诚诚的帖子

谢谢了
作者: slz336    时间: 2014-8-26 13:53
好帖子要顶,不然对不起楼主!!




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1