跳转到主要内容
模块 1 · 第 2 课(共 2)课程中的2/10~12 min
模块课程(2/2)

变量和图片

在 COBOL 中,使用的所有变量都必须在 DATA DIVISION 内声明。具体来说,内存中用于程序逻辑的临时变量驻留在工作存储部分内。

级别编号

COBOL 变量声明利用级别号来分层构造和组织数据:

  • 01:定义主变量或组项(最高级别)。
  • 05、10、15:定义级别 01 组项目内的从属字段。
  • 77:历史上指示无法进一步细分的独立基本变量。

在现代实践中,级别 01 通常用于声明独立的基本变量。

图片(或 PIC)条款

PICTURE(缩写为PIC)子句指定数据类型和变量的字符长度。三个基本格式字符是:

  1. X(字母数字):可以包含字母、数字和特殊字符。
    • PIC X(10) 声明正好包含 10 个字符的字符串。
  2. 9(数字):只能包含数字。
    • PIC 9(3) 声明一个由 3 位数字组成的整数(最多 999)。
  3. V(隐式小数点):用在十进制数中,表示小数部分开始的位置(小数点物理上不存储)。
    • PIC 9(3)V99 声明一个具有 3 位整数和 2 位小数的数字。

VALUE 子句

要在声明时为变量分配初始值,请使用 VALUE 子句。

COBOL
01 WS-PROJECT-NAME PIC X(15) VALUE "ELEARNER".
01 WS-USER-AGE     PIC 9(3)  VALUE 25.

所有变量定义必须以句点 . 结尾。


自己尝试一下

锻炼#cobol.m1.l2.e1
尝试:0加载中...

声明一个名为 WS-USER-NAME、长度为 20 个字符的 01 级字母数字变量,并将其初始值设置为“ALICE”。

正在加载编辑器...
显示提示

使用格式:01 WS-USER-NAME PIC X(20) VALUE 'ALICE'。

3 次尝试后可用的解决方案

锻炼#cobol.m1.l2.e2
尝试:0加载中...

声明一个名为 WS-USER-AGE 的 01 级数字变量,由 3 位数字组成,初始值为 25。

正在加载编辑器...
显示提示

使用语法:01 WS-USER-AGE PIC 9(3) VALUE 25。

3 次尝试后可用的解决方案