Cobol基本语法总结.docx
- 文档编号:1868391
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:24
- 大小:27.10KB
Cobol基本语法总结.docx
《Cobol基本语法总结.docx》由会员分享,可在线阅读,更多相关《Cobol基本语法总结.docx(24页珍藏版)》请在冰豆网上搜索。
Cobol基本语法总结
コボル基本語法
一、COBOL基本語法
compla項目使用的Cobol是MicroFocus公司生产的Cobol,采用在HP-UNIX上运行。
一、cobol的书写格式(每行)
1、前6列为序号区(一般不编辑)
2、第7列为标示列,仅可以写如下几个标示符。
a.“*”注释符(注释当前行的代码)
b“/“注释符(注释当前行的代码,程序编译时,强制程序清单另起一页,不建议使用)
c“-“字符串连接符
d“D”DEBUG行标示符(程序为DEBUG模式时,标有该标示符的语句行代码执行,否则和注释行效果一样)
3、第8列---11列为A区,包括以下内容。
a部、节名。
b层号01
4、第12列---72列为B区,过程部的程序必须写在B区中。
5、第72以后部分不能编辑。
二、cobol的语法结构(几大部分)
1、标示部(IDENTIFICATIONDIVISION):
提供程序的一般性文档说明,本项目只保留程序名(PROGRAM-ID)一项。
2、环境部(ENVIRONMENTDIVISION):
提供程序外部有关的项目。
a.配置节(CONFIGURATIONSECTION)
①.指定源计算机(SOURCE-COMPUTE).
②.目标计算机(OBJECT-COMPUTE).
③.设置debug模式(SOURCE-COMPUTEH9000VWITHDEBUGGINGMODE)
④.指定读环境变量设置.
SPECIAL-NAMES.
ENVIRONMENT-VALUEISCNS-ENV-PARM
ENVIRONMENT-NAMEISCNS-ENV-NAME.
b.输入输出节(INPUT-OUTPUTSECTION).
文件的物理路径的定义。
方法一:
(写死文件路径)
SELECTFILE-LOGASSIGN
"/usr3/WSI/commonlog/WSI1101.log"
ORGANIZATIONISLINESEQUENTIAL.
方法二:
(过程部中动态指定文件)
SELECTFILE-LOGASSIGNTOSELECT-FILE
ORGANIZATIONISLINESEQUENTIAL.
在数据部定义字符串变量SELECT-FILE,在文件FILE-LOG打开前动态指定文件路径。
方法三:
(环境变量中动态指定文件)
SELECTFILE-LOGASSIGNTOEXTERNALEXTFILELOG
ORGANIZATIONISLINESEQUENTIAL.
在该程序运行前,设置环境变量:
setenvdd_EXTFILELOG/usr3/WSI/nco035/lsc/tstlog/WSIXXXX.log
3、数据部(DATADIVISION)。
程序中的变量都在数据部中定义,Cobol中没有全局变量和局部之分。
(变量的类型结构参照5.变量类型)
a.文件节(FILESECTION)
给环境部定义的文件指定一个RECORD变量,读写文件用:
FDFILE-LOG.
01RECORD-LOGPICX(2000).
b.工作存储节
定义程序中用到的临时变量。
a)COBOL变量定义需要加层号(表示层次关系),
·层号从01开始
如:
01IPICX(10).
·组合项
如:
01WORK-AREA.
05NUM-1PIC9(09).
05STR-1PICX(10).
b)层号依次排列顺序为:
01,05,10,15,20,30·······
c.连接节
子程序的参数的定义。
4、过程部(PROCEDUREDIVISION)
程序的主体:
程序的逻辑运算在此操作。
a、每个程序分为四大节(模块),
·前处理(初始化变量,设定初始值等)
·主处理(程序业务处理部分)
·后处理(程序正常结束时的出口)
·错误处理(程序异常结束时的出口)
b、对于子程序,PROCEDUREDIVISION后应列出LINK节中定义的参数。
如:
PROCEDUREDIVISIONUSINGLINK-INPUT-DATALINK-OUTPUT-DATA.
c、程序结束。
·主程序STOPRUN.
·子程序GOBACK.
5、变量类型
COBOL程序的基本变量类型分为两大类字符串型(X)、数值型(9)。
a字符串型
01STRING-APICX(100).
100个字符长的变量,程序可以局部操作一个变量(STRING-A(start:
length)如:
MOVEALL“X”TOSTRING-A(2:
10)
(将变量STRING-A第2位开始10长度的内容全赋为”X”字符)
b数值型
种类
类型
说明
备注
DISPLAY
9(m)
无符号整数,每位占用一个字节,显示或输出到文件时,为零的数位显示”0”
(1<=m<=18)
例如:
01IPIC9(8).
变量I占用8个字节。
I=1时,输出显示时为00000001
S9(m)
带符号整数,每位占用一个字节,符号位不占位,显示时,为零的数位显示”0”,符号显示在最后,输出到文件时,为零的数位显示”0”,符号丢失。
(1<=m<=18)
例如:
01IPICS9(8).
变量I占用8个字节。
I=1时,显示时为00000001+
输出到文件时为00000001
DISPLAY
9(m)V9(n)
无符号小数(小数点不显示,不占位)每位占用一个字节,显示或输出到文件时,为零的数位显示”0”
(1<=m+n<=18)
例如:
01IPIC9(4)V9
(2).
变量I占用6个字节,整数位4位,小数位2位。
I=1.1时,输出显示时为000110
S9(m)V9(n)
带符号小数(小数点不显示,不占位)每位占用一个字节,符号位不占位,显示时,为零的数位显示”0”,符号显示在最后,输出到文件时,为零的数位显示”0”,符号丢失。
(1<=m+n<=18)
例如:
01IPICS9(4)V9
(2).
变量I占用6个字节,整数位4位,小数位2位。
I=1.1时,显示时为000110+
输出到文件时为000110
出力
+Z(m)
带符号整数,每位占用一个字节,符号位占位,显示和输出到文件时,为零的高位显示为空格,正数时,符号位为”+”
负数时,符号位为”-”
(1<=m<=18)
例如:
01IPIC+Z(4).
变量I占用5个字节,
I=1时,输出显示时为+1
I=-1时,输出显示时为-1
-Z(m)
带符号整数,每位占用一个字节,符号位占位,显示和输出到文件时,为零的高位显示为空格,正数时,符号位为空格
负数时,符号位为”-”
(1<=m<=18)
例如:
01IPIC-Z(4).
变量I占用5个字节,
I=1时,输出显示时为1
I=-1时,输出显示时为-1
+Z(m).Z(n)
带符号小数,每位占用一个字节,符号、小数点占位,显示和输出到文件时,整数部为零的高位显示为空格,小数部为零的低位显示为0;正数时,符号位为”+”负数时,符号位为”-”(1<=m+ n<=18)
例如:
01IPIC+Z(4).Z
(2)
变量I占用8个字节,
I=1.1时,输出显示时为+1.10
I=-1.1时,输出显示时为-1.10
-Z(m).Z(n)
带符号小数,每位占用一个字节,符号、小数点占位,显示和输出到文件时,整数部为零的高位显示为空格,小数部为零的低位显示为空格;正数时,符号位为”+”负数时,符号位为”-”(1<=m+ n<=18)
例如:
01IPIC-Z(4).Z
(2)
变量I占用8个字节,
I=1.1时,输出显示时为1.1
I=-1时,输出显示时为-1.1
Comp,comp-5,comp-3
9(m)comp-5
无符号整数,数据以二进制方式存贮,显示和9(m)一样,不能出力
(1<=m<=18)
S9(m)comp-5
有符号整数,数据以二进制方式存贮,显示和S9(m)类似,只是符号在前面,不能出力,
(1<=m<=18)
9(m)v9(n)comp-5
无符号小数,数据以二进制方式存贮,显示和9(m)v9(n)一样,不能出力
(1<=m+n<=18)
S9(m)v9(n)comp-5
有符号整数,数据以二进制方式存贮,显示和S9(m)v9(n)类似,只是符号在前面,不能出力,
(1<=m+n<=18)
注:
1、对于出力型数值变量,可以用9代替Z,它们的区别是:
结果为零的整数部高位:
Z型变量用空格显示,9型变量用零显示
2、COBOL语言中数值型变量种类很多,针对不同的要求有不同的数值类型。
c、在COBOL变量定义时,可以加入格式字符串字符。
d、不同类型变量间赋值。
整数
1、字符串中数值部分可以作为对应长度的DISPLAY型变量给其它各种数值型变量。
2、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但截去超出的高位。
3、COMP型变量被赋值时,超出它表示范围的数不能被接受。
小数
1、DISPLAY型变量(包括出力型变量)被赋值时,超出它表示范围的数可以被接受,但整数部截去超出的高位,小数部截去低位。
2、COMP型变量被赋值时,整数部超出它表示范围的数不能被接受,小数部超出它表示范围的数可以被接受,但小数部截去低位
注:
以上所述赋值变量为任何类型的数值型变量(经过严格测试得出结论)。
e、字符型比较。
·字符串比较时,系统自动截去尾部空格(如“a“=“a”)。
·数字的数值形式和数字字符形式相等(如“90”=90)
·综合以上两点,有“12“=12
二、基本语法:
1、赋值语句MOVE。
a、将一个变量赋给另个变量
moveatob.
b、将一个变量同时赋给另外两个变量。
Moveatobc.
c、将一个变量全部赋为某个字符
moveall“x”toa.
d、对于赋值溢出,截取的方式为.
·字符型变量截去右边的溢出部分。
·数值型变量截去整数部高位、小数部低位的溢出部分。
e、组和项传送,它们的数据结构必须相同
f、对于组合项成员的局部引用,应该如下:
01A-AREA.
05STR-1PICX(10).
05STR-2PICX(10).
01B-AREA.
05STR-1PICX(20).
05STR-2PICX(10).
MOVESTR-1OFA-AREA(1:
4)TOSTR-1OFB-AREA(1:
4).
2、显示语句DISPLAY
a.向控制台打印显示的信息(如果程序基于opentp1环境,该信息将写到opentp1的log文件中).
DISPLAY“DISPLAYRESULT:
”STR-1“@@”.
b、输出一个环境变量名。
DISPLA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cobol 基本 语法 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)