cobol学习02——基本语句


1.MOVE语句

  是整个COBOL中最常用额语句。可以实现变量的赋值,参数传递等类似功能。

  可以对单个数据进行复制,也开业对一组数据进行复制。

 a、复制单个数据 

  例:

  01  IN-STATUS  PIC X(5).

  -->  MOVE  'READY'  TO  IN-STATUS.

  -->  MOVE  IN-STATUS  TO   OUT-STATUS.

  说明:当复制的数据为数值类型时

    如果目标数据的长度大于源数据项内容的长度时,则在目标数据项的高位以0进行填充

    如果目标数据的长度小于源数据项内容的长度,对高位超出部分进行截断。

    如果数值含有小数部分,需要作为浮点数做相应处理。

  b、复制一组数据

    通过MOVE语句对一组数据进行复制。MOVE语句中的两个变量分别是数据组的名称。

    注意点:

      所复制的组内数据必须同名,不同名的数据将不被复制。

      如果数据项在分组中,则分组名称也必须相同。

      数据项在组内的顺序可以任意。

      以FILLER命名的数据项不被复制。

2.PERFORM语句

  执行COBOL中所编写的相应的处理过程。过程处理相当于COBOL中的函数,PERFORM用于调用这些函数。

  可通过THRU选项同时对多个处理过程进行执行。

3.ACCEPT和DISPLAY语句

  可以方便调试。

  a、ACCEPT语句接收数据

    既可以接收用户从终端输入的数据,也可以接收由系统产生的相应数据。

    接收的数据存放在  COBOL数据部中所定义的相应变量中。

4.REDEFINES语句

  用于同一块内存区域内进行重定义。可以定义多个指向同一内存区域的变量。

  01  TEST-AREA.

      05  TEST-A  PIC  X(4).

      05  TEST-B  REDEFINES  TEST-A.

5.文件相关语句

  文件包括常规文件,以及VSAM文件。基本操作包括文件的打开、关闭、文件读写。

  a、OPEN和CLOSE语句

  OPEN语句用于文件的打开操作。在做文件操作之前。

  例:

  OPEN  INPUT  IN-FILE1  IN-FILE2

  注意:文件名需要在输入/输出节中由SELECT语句所指出的文件名一致。

      可出现在程序的任何位置。

      如果读写文件之前没有打开文件,程序会非正常终止。

  CLOSE语句用于关闭已经打开的文件。

  例:

  CLOSE  INPUT  IN-FILE1  IN-FILE2

  c、READ语句

  用于从文件中读取数据。

  实际是将文件中的数据读到FD语句所定义的变量之中。

  由于READ语句每次只能读取一条语句,通常将READ语句置于一个循环结构体中。顺序读取文件中的每一条记录。

  例:READ  CUSTOMER-FILE

      AT  END  MOVE  'Y'

    END READ

  d、WRITE语句

  用于对文件进行写入。

  WRITE   CUSTOMER-RECORD.

  WRITE  PRINT-LINE

    AFTER  ADVANCING  1  LINE.

  WRITE  PRINT-LINE

  FROM  PAGE-HEADER

  AFTER  ADVANCING  PAGE.

  注意:读取文件时需要指定的文件名,而写入文件时需要指定写入的记录名。