cobol基本语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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:表示一个或多个空格字符