对一个变量的值进行判断,根据变量值的不同而执行不同的程序。在某些场合可以用TEST替代if,从而使程序流程简单易懂。
Test语法结构
TEST <EXP>
CASE <test value>:
<SMT>
CASE <test value>:
<SMT>
CASE <test value>:
<SMT>
DEFAULT :
ENDTEST
<EXP>
:需要计算的变量值
<test value>
:计算后对应值
<SMT>
:语句体
程序执行过程
(1)将测试数据与第一个CASE条件中的测试值进行比较。如果对比真实,则执行相关指令。此后,通过ENDTEST后的指令,继续程序执行。
(2)如果未满足第一个CASE条件,则对其他CASE条件进行测试等。如果未满足任何条件,则执行与DEFAULT相关的指令(如果存在)。
Test示例说明
MODULE MainModule
PROC main()
TEST reg1
CASE 1,2,3 :
routine1;
CASE 4 :
routine2;
DEFAULT :
TPWrite "Illegal choice";
Stop;
ENDTEST
ENDPROC
ENDMODULE
执行说明:根据reg1的值,执行不同的指令。如果该值为1、2或3时,则执行routine1。如果该值为4,则执行routine2。否则,打印出错误消息,并停止执行。
总结
(1)TEST指令可以添加多个“ CASE”,但只能添加一个“ DEFAULT”
(2) TEST可以判断所有数据类型,但是要判断的数据必须具有值
(3)如果并没有太多的替代选择,则亦可使用IF判断指令
(4)如果不同的值对应于同一程序,则可以使用“ case xx,xx,……;可以简化程序
希望对你们有所帮助,如有不足之处,欢迎大家留言探讨,本文已经首发在个人微信公众号:龙猫YOU ,欢迎关注!