cobol数据类型

数据类型

数据部(data division)是用来描述程序中使用的变量的。

  • data name 数据名称

数据名称必须在数据部中定义,才能在过程部中使用。必须有一个用户自定义的名称,不能使用关键字,为存储实际数据的存储单元提供引用。可以是基本类型或组类型。

  • level number 级数

级数是用于指定记录中的数据级别。它们用于区分基本项和组项。基本项可以组合在一起创建组项。
01 记录描述条目
02至49 组项和基本项
66 重命子句项
77 不能被细分项
88 条件名称条目

Elementary items基本项目 不能进一步细分。级数,数据名称,图片子句和值子句(可选)用于描述基本项。
Group items组项目 由一个或多个基本项组成。级数,数据名称和值子句(可选)用于描述组项。组级数始终为01。

DATA DIVISION.
WORKING-STORAGE SECTION.
01 NAME    PIC X(25).                               ---> 基本项 
01 AGE   PIC 9(2)  VALUE  '10'.                   ---> 基本项

01 ADDRESS.                                         ---> 组项目   
   05 HOUSE-NUMBER    PIC 9(3).                     ---> 基本项
   05 STREET          PIC X(15).                    ---> 基本项
   05 CITY            PIC X(15).                    ---> 基本项
  • picture clause 图片子句

图片子句用于定义以下项目:
数据类型:可以是数字,字母或字母数字。数字类型仅由数字0到9组成。字母类型由字母A到Z和空格组成。字母数字类型由数字,字母和特殊字符组成。
符号:可以与数字数据一起使用。它可以是+或-。
小数点位置:可与数字数据一起使用。假设位置是小数点的位置,而不包括在数据中。
长度:定义数据项使用的字节数。

在图片子句中使用的符号:

符号描述
9数字
A字母
X字母数字
V隐式小数
S符号
P假定小数
例:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 NUM1 PIC S9(3)V9(2).
   01 NUM2 PIC PPP999.
   01 NUM3 PIC S9(3)V9(2) VALUE -1223.45.
   01 NAME PIC A(6) VALUE 'ABCDEF'.
   01 ID PIC X(5) VALUE 'A121$'.

PROCEDURE DIVISION.
   DISPLAY "NUM1 : "WS-NUM1.
   DISPLAY "NUM2 : "WS-NUM2.
   DISPLAY "NUM3 : "WS-NUM3.
   DISPLAY "NAME : "WS-NAME.
   DISPLAY "ID : "WS-ID.
STOP RUN.
  • value clause 值子句

值子句是一个可选子句,用于初始化数据项。该值可以是数字文字,字母数字文字,或象征常数。它可以与组项和基本项一起使用。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 99V9 VALUE IS 3.5.
   01 WS-NAME PIC A(6) VALUE 'ABCD'.
   01 WS-ID PIC 99 VALUE ZERO.

PROCEDURE DIVISION.
   DISPLAY "WS-NUM1 : "WS-NUM1.
   DISPLAY "WS-NAME : "WS-NAME.
   DISPLAY "WS-ID   : "WS-ID.
STOP RUN.

例如:

01       permun        PIC 9(5)  VALUE '666'.
  • 01 指得是级数
  • pernum 指的是数据名称
  • PIC 9(5) 指的是图片子句
  • VALUE ‘666’ 指的是值子句

注:本系列文章参考下面网站
参考地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值