cobol基本语法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本語法

一、COBOL基本語法

COBOL是Common Business-Oriented Language(通用商业语言)

一、cobol的书写格式(每行)

●不区分大小写

例:ABC 等同于 Abc

●COBOL每个句子后要加句号“.”

例:PERFORM 1000-INIT.

※但在特殊的语句体里是不能写句号、包括:条件、循环、调用

例:IF IN1-AREA = HIGH-VALUE

MOVE FLG-ON TO FLG-END

END-IF.

●运算符和等号左右两边留空格。()左右两边留空格。

例:IF (IN1-AREA = HIGH-VALUE) OR (IN2-AREA = SPACE)

……

END-IF.

●空格必须是半角。

●COBOL程序纸每行有80列,一行分为几个区

1、第7列为标示列,仅可以写如下几个标示符。

a. “*”注释符(注释当前行的代码)

b. “/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用)

c. “-“字符串连接符

d. “D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注

释行效果一样)

2、在COBOL中数据项的定义是由若干个层来组织的,即:一个数据项的定义要包括(层号、数据项名称、

定义语句、数据类型及数据长度等部分组成)77层用来描述独立的数据项,66和88是特殊层。

二、cobol的语法结构(几大部分)

节和段

除标识部没有节,每个部下面有若干个节(SECTION)。每一节下面可包括若干段。

※程序中四大部分缺一不可

1、标识部(IDENTIFICATION DIVISION):提供程序的一般性文档说明。

元素①.IDENTIFICATION DIVISION.//部起始标识

②.PROGRAM-ID.XXXXX. //程序名称

③.AUTHOR.XXXXX. //作者名称

④.INSTALLAION.XXXXX. //公司名称

⑤.DATE-WRITTEN.XXXXX. //修改日期

⑥.DATE-COMPILED.XXXXX. //编译日期

⑦.SECURITY.XXXXX. //安全信息

2、环境部(ENVIRONMENT DIVISION): 提供程序外部有关的项目。

a.配置节(CONFIGURATION SECTION)

①.指定程序编译计算机型号(SOURCE-COMPUTE).

②.指定程序运行计算机型号(OBJECT-COMPUTE).

③.设置debug模式(SOURCE-COMPUTE IBM-390 WITH DEBUGGING MODE)

④. 指定读环境变量设置.

b.输入输出节(INPUT-OUTPUT SECTION)。

FILE-CONTROL.//文件信息描述段标识

I-O-CONTROL.//输入输出描述段标识

文件的物理路径的定义。

方法一:(写死文件路径)

SELECT FILE-LOG ASSIGN

"/usr/sample/log/sample1.log"

ORGANIZATION IS LINE SEQUENTIAL.

方法二:(过程部中动态指定文件)

SELECT FILE-LOG ASSIGN TO SELECT-FILE

ORGANIZATION IS LINE SEQUENTIAL.

在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。

方法三:(环境变量中动态指定文件)

SELECT FILE-LOG ASSIGN TO EXTERNAL EXTFILELOG

ORGANIZATION IS LINE SEQUENTIAL.

在该程序运行前,设置环境变量:

setenv dd_ EXTFILELOG /usr3/WSI/nco035/lsc/tstlog/WSIXXXX.log

3、数据部(DATA DIVISION)。

程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。

a. 文件节(FILE SECTION)

给环境部定义的文件指定一个RECORD变量,读写文件用:

FD FILE-LOG.

01 RECORD-LOG PIC X(2000).

b. 工作存储节(WORKING-STORAGE SETION)

定义程序中用到的中间变量。

a) COBOL变量定义需要加层号(表示层次关系),

·层号从01开始

如: 01 I PIC X(10).

·组合项

如: 01 WORK-AREA.

05 NUM-1 PIC 9(09).

05 STR-1 PIC X(10).

b) 层号依次排列顺序为:01 ,05,10,15,20,30 ·······

c.连接节(LINKAGE SECTION)

调用子程序的参数的定义。

d. 通讯节(COMMUNICATION SECTION)

e. 报表节(REPORT SECTION)

4、过程部(PROCEDURE DIVISION)

程序的主体:程序的逻辑运算在此操作。

a、每个程序分为四大节(模块),

·前处理(初始化变量,设定初始值等)

·主处理(程序业务处理部分)

·后处理(程序正常结束时的出口)

·错误处理(程序异常结束时的出口)

b、对于子程序,PROCEDURE DIVISION 后应列出LINK节中定义的参数。

如: PROCEDURE DIVISION USING LINK-INPUT-DATA LINK-OUTPUT-DATA.

c、程序结束。

·主程序 STOP RUN.

·子程序 GO BACK.

三、变量类型

COBOL程序的基本变量类型分为两大类字符串型(X)、数值型(9)。

●字符串型

01 STRING-A PIC X(100).

100个字符长的变量,程序可以局部操作一个变量( STRING-A(start: length)如: MOVE ALL “X” TO STRING-A(2:10)

(将变量STRING-A第2位开始10长度的内容全赋为”X”字符)

●数据常量

1.ZERO:表示一个或多个零字符

2.SPACE:表示一个或多个空格字符

相关文档
最新文档