![](https://csdnimg.cn/release/download_crawler_static/87928763/bg3.jpg)
文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
imperative stmt imperative stmt
WHEN (D+X)/Y = 4 WHEN -305 ALSO ‘32′
imperative stmt imperative stmt
WHEN OTHER WHEN OTHER
imperative stmt imperative stmt
END-EVALUATE END-EVALUATE
EVALUATE SQLCODE ALSO A=B EVALUATE SQLCODE ALSO TRUE
WHEN 100 ALSO TRUE WHEN 100 ALSO A=B
imperative stmt imperative stmt
WHEN -305 ALSO FALSE WHEN -305 ALSO (A/C=4)
imperative stmt imperative stmt
END-EVALUATE END-EVALUATE
Q20:怎么跳出一条 EVALUATE语句
A20:象 18 题目说的那样,一旦匹配了某一个“WHEN“语句就自动跳出了,不需要什么额
外的代码来跳出
Q21:在一个 EVALUATE语句的某个 WHEN 分支中能否再插入复杂的情况(也就是嵌套)
A21:当然可以,当多个参数作为控制变量的时候 1 个 WHEN 内部可以嵌套更多的情况
Q22:什么是结束终止符
A22:结束终止符是搭配一些范围指令的,也就是标识一些范围指令的结束。如:EVALUATE,
END-EVALUATE; IF, END-IF 如果没有该结束符,该条语句将终止不了
Q23:怎么使用内嵌的 PERFORM
A23:PERFORM … …
END-PERFORM
所谓内嵌也就是 PERFORM 被嵌在某些比如循环语句中担当执行主体,同时通过 UNTIL 来指
定结束判定
Q24:什么时候使用内嵌式 PERFORM
A24:当该段 PERFORM 的内容不被其他段用到,只在某些局部代码中(当然PERFORM 的主
体所用到的参数也都是局部的,例如循环)使用,如果 PERFORM 主体的代码是一般的(用
到了别的程序段的变量),还是使用 PERFORM Para name 这样的形式比较好(也就是相对与
内于 PERFORM 的外部 PERFORM)。
Q25:CONTINUE 和 NEXT SENTENCE 有什么不同
A25:两者比较相似,都是将程序控制权交给下一句,但是用NEXT SENTENCE 的时候,只有
当碰到句结束符(就是句末的‘.’)才会将执行下句
这道题我用了 2 个例子测试了一下:
1:IF TEST-NUMERIC > 0
THEN NEXT SENTENCE
END-IF
DISPLAY ‘LINE1′ DISPLAY ‘LINE2′. DISPLAY ‘LINE3′.(请注意代码中的‘.’号)
3文档来源为:从网络收集整理.word 版本可编辑.