TC官方合作论坛

标题: 变量与常量 [打印本页]

作者: Abin    时间: 2013-9-10 10:56
标题: 变量与常量
概念:在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量在使用的过程当中,一定要清楚的知道什么是变量,什么是常量,不能把变量当常量使用,更不能把常量当变量使用

类型:TC里的变量是自适应的,在使用过程中,TC会做根据功能或者接口需要的类型进行自动转换,以适应程序里各种数据类型的需要
常量有明确的类型,总计有3类:字符型常量、数字型常量、逻辑型常量

常量类型
描述
变量
全局变量
定义在空间和功能之间的变量称之为全局变量
局部变量
定义在功能里面的变量叫局部变量
常量

字符型常量
使用一对引号括起来的内容,如:“张三”、“12345”等
数字型常量
整型常量
无小数点的数字,如:100、12345等
浮点型常量
有小数点的数字,如:101.5、123.456等
逻辑型常量
这是一种特殊的常量,其值只有真(true)与假(false),在做数字判断时,TC规定真的数字值为-1,假为0

未赋值变量的初始值为NULL(不管是全局变量还是局部变量)

作用域:作用域一般都是说的变量的作用域,也称之为变量的生存周期全局变量和局部变量的作用域是有区别的
全局变量:定义在空间和功能函数之间,它的作用域是当前项目有效,其变量不会在程序执行过程被程序释放在使用的时候遵守定义一次,全功能里可以调用的原则如果是跨空间调用,请使用"空间名.全局变量名"的格式,注意空间名和变量名之间的点号

全局变量的举例:
  1. 空间 测试
  2. 变量 名称="张三"
  3. 功能 跑步()
  4.   辅助.消息框(名称&"在跑步!","全局变量本空间调用")
  5. 功能结束

  6. 功能 玩游戏()
  7.   辅助.消息框(名称&"在玩游戏!" ,"全局变量本空间调用")
  8. 功能结束

  9. 空间结束


  10. 空间 测试2
  11. 功能 跑步()
  12.   辅助.消息框(测试.名称&"在跑步!","全局变量跨空间调用")
  13. 功能结束

  14. 功能 玩游戏()
  15.   辅助.消息框(测试.名称&"在玩游戏!" ,"全局变量跨空间调用")
  16. 功能结束

  17. 空间结束
复制代码

局部变量:局部变量定义在功能里面,那么它的作用域就被限制在功能里,不能跨功能调用局部变量在功能与流程语句之间定义的变量,整个功能里都可以使用,但是在流程语句里定义的变量就只能在流程语句使用,不能在流程语句之外使用,也不能跨流程语句使用,除非调用的流程语句是嵌套在变量定义的流程语句里局部变量离开自己的作用域之后,变量里的所有内容都会被TC释放掉的如果想让这个局部变量值在其他地方可以使用,可以采用赋值给全局变量或者是作为功能的返回值返回调用者。

局部变量的举例:
  1. 空间 测试
  2. 功能 局部变量演示1()
  3.   如果(真)
  4.     变量 名称="张三"
  5.     辅助.消息框(名称) // 1 正确
  6.   否则
  7.     变量 名称="李四"
  8.     辅助.消息框(名称)// 2 正确
  9.   如果结束
  10.   循环(真)
  11.     辅助.消息框(名称)// 3 报错
  12.   循环结束
  13.   辅助.消息框(名称)// 4 报错
  14. 功能结束

  15. 功能 局部变量演示2()
  16. 如果(真)
  17.   变量 名称="张三"
  18.   如果(真)
  19.     辅助.消息框(名称) // 1 正确
  20.   否则
  21.     辅助.消息框(名称)// 2 正确
  22.   如果结束
  23. 如果结束
  24.   循环(真)
  25.     辅助.消息框(名称)// 3 报错
  26.   循环结束
  27.   辅助.消息框(名称)// 4正确
  28. 功能结束

  29. 空间结束
复制代码


全局变量和局部变量作用域图解:


[attach]11029[/attach]

作者: lkjlkjoooooo    时间: 2013-10-2 17:36
谢谢,学习
作者: slz336    时间: 2014-8-26 13:40
感谢楼主分享这么好的教程




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