- COBOL 教程
- COBOL - 首页
- COBOL - 概述
- COBOL - 环境设置
- COBOL - 程序结构
- COBOL - 基本语法
- COBOL - 数据类型
- COBOL - 基本动词
- COBOL - 数据布局
- COBOL - 条件语句
- COBOL - 循环语句
- COBOL - 字符串处理
- COBOL - 表格处理
- COBOL - 文件处理
- COBOL - 文件组织
- COBOL - 文件访问模式
- COBOL - 文件处理动词
- COBOL - 子程序
- COBOL - 内部排序
- COBOL - 数据库接口
- COBOL 有用资源
- COBOL - 问答
- COBOL - 快速指南
- COBOL - 有用资源
COBOL - 基本语法
字符集
“字符”在层次结构中处于最低层,并且不能再进一步细分。COBOL 字符集包含 78 个字符,如下所示:
| 序号 | 字符及描述 |
|---|---|
| 1 | A-Z 字母(大写) |
| 2 | a-z 字母(小写) |
| 3 | 0-9 数字 |
| 4 |
空格 |
| 5 | + 加号 |
| 6 | - 减号或连字符 |
| 7 | * 星号 |
| 8 | / 正斜杠 |
| 9 | $ 货币符号 |
| 10 | , 逗号 |
| 11 | ; 分号 |
| 12 |
. 小数点或句点 |
| 13 |
" 引号 |
| 14 |
( 左括号 |
| 15 |
) 右括号 |
| 16 |
> 大于 |
| 17 |
< 小于 |
| 18 |
: 冒号 |
| 19 |
' 撇号 |
| 20 |
= 等号 |
编码表
COBOL 的源程序必须以编译器可以接受的格式编写。COBOL 程序写在 COBOL 编码表上。编码表每一行的字符位置有 80 个。
字符位置被分为以下五个字段:
| 位置 | 字段 | 描述 |
|---|---|---|
| 1-6 | 列号 | 保留用于行号。 |
| 7 | 指示符 | 它可以包含星号 (*) 表示注释,连字符 (-) 表示延续和斜杠 (/) 表示换页。 |
| 8-11 | A 区 | 所有 COBOL 分部、节、段落和一些特殊条目必须在 A 区开始。 |
| 12-72 | B 区 | 所有 COBOL 语句必须在 B 区开始。 |
| 73-80 | 标识区 | 程序员可以根据需要使用它。 |
示例
以下示例显示了一个 COBOL 编码表:
000100 IDENTIFICATION DIVISION. 000100 000200 PROGRAM-ID. HELLO. 000101 000250* THIS IS A COMMENT LINE 000102 000300 PROCEDURE DIVISION. 000103 000350 A000-FIRST-PARA. 000104 000400 DISPLAY “Coding Sheet”. 000105 000500 STOP RUN. 000106
JCL 执行上述 COBOL 程序:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
编译并执行上述程序后,将产生以下结果:
Coding Sheet
字符字符串
字符字符串是由组合单个字符形成的。字符字符串可以是
- 注释,
- 文字,或
- COBOL 字。
所有字符字符串都必须以分隔符结尾。分隔符用于分隔字符字符串。
常用分隔符:空格、逗号、句点、撇号、左/右括号和引号。
注释
注释是不会影响程序执行的字符字符串。它可以是任何字符组合。
注释有两种类型:
注释行
注释行可以写在任何列。编译器不会检查注释行的语法,并将它视为文档。
注释条目
注释条目是包含在 Identification Division 的可选段落中的条目。它们写在 B 区,程序员用它作参考。
以下示例中以粗体突出显示的文本是注释条目:
000100 IDENTIFICATION DIVISION. 000100 000150 PROGRAM-ID. HELLO. 000101 000200 AUTHOR. TUTORIALSPOINT. 000102 000250* THIS IS A COMMENT LINE 000103 000300 PROCEDURE DIVISION. 000104 000350 A000-FIRST-PARA. 000105 000360/ First Para Begins - Documentation Purpose 000106 000400 DISPLAY “Comment line”. 000107 000500 STOP RUN. 000108
JCL 执行上述 COBOL 程序:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C //STEP1 EXEC PGM = HELLO
编译并执行上述程序后,将产生以下结果:
Comment Line
文字
文字是在程序中直接硬编码的常量。在以下示例中,“Hello World”是一个文字。
PROCEDURE DIVISION. DISPLAY 'Hello World'.
文字有两种类型,如下所述:
字母数字文字
字母数字文字用引号或撇号括起来。长度最多可达 160 个字符。撇号或引号只能作为文字的一部分,前提是它们是配对的。文字的开始和结束必须相同,要么是撇号,要么是引号。
示例
以下示例显示了有效的和无效的字母数字文字:
Valid: ‘This is valid’ "This is valid" ‘This isn’’t invalid’ Invalid: ‘This is invalid” ‘This isn’t valid’
数字文字
数字文字是 0 到 9 的数字、+、- 或小数点的组合。长度最多可达 18 个字符。符号不能是右边的最一个字符。小数点不能出现在末尾。
示例
以下示例显示了有效的和无效的数字文字:
Valid: 100 +10.9 -1.9 Invalid: 1,00 10. 10.9-
COBOL 字
COBOL 字是可以是保留字或用户定义字的字符字符串。长度最多可达 30 个字符。
用户定义
用户定义字用于命名文件、数据、记录、段落名称和节。在形成用户定义字时,允许使用字母、数字和连字符。不能使用 COBOL 保留字。
保留字
保留字是 COBOL 中预定义的字。我们经常使用的各种类型的保留字如下:
关键字,如 ADD、ACCEPT、MOVE 等。
特殊字符字,如 +、-、*、<、<= 等
虚拟常量是像 ZERO、SPACES 等常量值。虚拟常量的所有常量值都在下表中列出。
虚拟常量
| 序号 | 虚拟常量及描述 |
|---|---|
| 1 |
HIGH-VALUES 一个或多个字符,这些字符将在降序中处于最高位置。 |
| 2 |
LOW-VALUES 一个或多个字符在二进制表示中具有零。 |
| 3 |
ZERO/ZEROES 一个或多个零,具体取决于变量的大小。 |
| 4 |
SPACES 一个或多个空格。 |
| 5 |
QUOTES 单引号或双引号。 |
| 6 |
ALL 文字 用文字填充数据项。 |
