cobol基本语法

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

基本語法

一、COBOL基本語法

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

1、前6列为序号区(一般不编辑)

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

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

b “-“字符串连接符

3、第8列---11列为A区,包括以下内容。

a 部、节名。

b 层号01

4、第12列---72列为B区,过程部的程序必须写在B区中。

5、第72以后部分不能编辑。

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

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

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

a.配置节(CONFIGURATION SECTION)

①.指定源计算机(SOURCE-COMPUTE).

②.目标计算机(OBJECT-COMPUTE).

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

文件的物理路径的定义。

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

SELECT FILE-LOG ASSIGN TO SELECT-FILE

ORGANIZATION IS LINE SEQUENTIAL.

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

3、数据部(DATA DIVISION)。

程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。(变量的类型结构参照5.变量类型)

a. 文件节(FILE SECTION)

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

FD FILE-LOG.

01 RECORD-LOG PIC X(2000).

b. 工作存储节

定义程序中用到的临时变量。

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.连接节

子程序的参数的定义。

4、过程部(PROCEDURE DIVISION)

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

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

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

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

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

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

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

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

c、程序结束。

·主程序 STOP RUN.

·子程序 GO BACK.

5、变量类型

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

a 字符串型

01 STRING-A PIC X(100).

100个字符长的变量,程序可以局部操作一个变量( STRING-A(start: length)如:

MOVE ALL “X” TO STRING-A(2:10)

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

b 数值型

注: 1、对于出力型数值变量,可以用9代替Z,它们的区别是:

结果为零的整数部高位,小数部低位: Z型变量用空格显示,9型变量用零显示

2、COBOL语言中数值型变量种类很多,针对不同的要求有不同的数值类型。

c、在COBOL变量定义时,可以加入格式字符串字符。

d、不同类型变量间赋值。

整数

1、字符串中数值部分可以作为对应长度的DISPLAY型变量给其它各种数值型变量。

2、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但截去超出的高位。

3、COMP型变量被赋值时,超出它表示范围的数不能被接受。

小数

1、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但整数部截去超出的高位,

小数部截去低位。

2、COMP型变量被赋值时,整数部超出它表示范围的数不能被接受,小数部超出它表示范围的数可以被接受,但

小数部截去低位

注: 以上所述赋值变量为任何类型的数值型变量(经过严格测试得出结论)。

e、字符型比较。

·字符串比较时,系统自动截去尾部空格(如“a “ = “a”)。

·数字的数值形式和数字字符形式相等(如“1234567890” = 1234567890)

·综合以上两点, 有“12 “ = 12

二、基本语法:

1、赋值语句MOVE。

a、将一个变量赋给另个变量

move a to b.

b、将一个变量同时赋给另外两个变量。

Move a to b c .

c、将一个变量全部赋为某个字符

move all “x” to a.

d、对于赋值溢出,截取的方式为.

·字符型变量截去左边的溢出部分。

·数值型变量截去整数部高位、小数部低位的溢出部分。

e、组和项传送,它们的数据结构必须相同

f、对于组合项成员的局部引用,应该如下:

01 A-AREA.

05 STR-1 PIC X(10).

05 STR-2 PIC X(10).

01 B-AREA.

05 STR-1 PIC X(20).

05 STR-2 PIC X(10).

MOVE STR-1 OF A-AREA(1:4) TO STR-1 OF B-AREA(1:4).

3、四则运算

原则上,四则运算不用助记符语句,但对于简单运算( ++,--),可采用助记符语句。

a、加法( ADD 1 TO NUM-1)

b、减法(SUBTRACT 1 FROM NUM-1)

c、其它所有运算均采用COMPUTE 语句

COMPUTE NUM-1 = NUM-2 + NUM3 * 10

运算符如下:

+ 加

- 减

* 乘

/ 除

** 指数

相关文档
最新文档