COBOL中的when是什么意思
时间: 2024-09-25 13:06:09 浏览: 33
在COBOL语言中,"when" 关键字用于条件处理。它通常与 "perform"、"if" 或者 "select" 等控制结构一起使用,构成基于某个条件的分支程序。当指定的条件满足时,对应的 "when-clause" 部分会被执行。这种结构允许程序员编写响应式代码,使得程序能够根据输入数据或其他变量的值做出相应的决策。例如:
```cobol
IDENTIFICATION DIVISION.
PROGRAM-ID. MY-PROCEDURE.
DATA DIVISION.
...
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
PERFORM VARYING condition-value WHEN 'true'
OR 'false'
OR some-expression
...
DISPLAY "Condition met: ", condition-value.
END-PERFORM.
```
在这里,`condition-value` 可能是一个布尔值、常量或者计算结果,"when true" 到 "when some-expression" 是一系列条件判断,只要有一个匹配,就会执行接下来的操作。
相关问题
cobol中when zero
在COBOL中,`WHEN ZERO`是条件控制语句的一部分,通常出现在循环结构(如DO或REPEAT...UNTIL)中。它的作用是在满足一定条件时终止循环,其中的"zero"通常指的是循环计数器或某种内部标志的值为零。
例如,在下面的循环里:
```cobol
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST-COBL-OPT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMS PIC 9(4) VALUE 5.
01 I PIC 9(4).
PROCEDURE DIVISION.
LOOP-BEGIN.
PERFORM THE-TASK
UNTIL I = 0 WHEN ZERO
DISPLAY "I is now: ", I
ADD 1 TO I
END-LOOP-BEGIN.
...
THE-TASK.
... (执行一些操作)
IF I > NUMS
SET I TO 0
END-IF.
```
在这个例子中,`UNTIL I = 0 WHEN ZERO`意味着只要`I`不是0(即循环还未完成),循环就会继续执行`THE-TASK`。一旦`I`变为0(可能是因为我们在任务中将其设置为0或循环次数达到`NUMS`的值),`WHEN ZERO`部分就触发了,循环结束。
COBOL中的when zero
在COBOL(Common Business Oriented Language,通用商业语言)中,“WHEN ZERO”是一个条件判断结构,用于程序流程控制,尤其是与算术运算相关的分支逻辑。它的基本语法如下:
```cobol
PERFORM some-statement
WHEN (expression) = 0
```
在这个结构中,`expression` 是一个数学表达式,通常是基于某个算术运算的结果。当这个表达式的计算结果等于零时,`some-statement` 将被执行。这常用于检测循环计数器是否达到零、文件指针是否指向文件结束等条件。
举个例子:
```cobol
IDENTIFICATION DIVISION.
...
PROCEDURE DIVISION.
PERFORM VARYING COUNT FROM 1 BY 1 UNTIL COUNT > 10
DISPLAY "Count: ", COUNT
IF COUNT = 0 WHEN ZERO THEN EXIT PERFORM
END-PERFORM.
```
这里,程序会打印从1到10的计数,当COUNT变为0时,执行“EXIT PERFORM”,跳出循环。
阅读全文