COBOL中的输入输出语句主要包括有接收语句(ACCEPT),显示语句(DISPLAY),读语句(READ),写语句(WRITE),打开语句(OPEN)和关闭语句(COLSE)。
1.ACCEPT
ACCEPT语句的一般格式:
ACCEPT 标识符 [FROM 助记名]
如果只要输入少量数据,COBOL允许使用ACCPET语句直接从终端键盘或者系统指定的输入设备上输入少量的数据,这样比较方便,例句:ACCEPT T FROM ABC,ACCEPT A1。
2.DISPLAY
DISPLAY语句的一般格式:
DISPLAY {标识符1/常量1} [标识符2/常量2]...[UPON 助记名]
将少量数据从内存中输出到某一指定外设上,可用DISPLAY语句。例句:DISPLAY QUOTE 'MY NAME IS JORDON' QUOTE。
3.READ
READ语句的一般格式:
READ 文件名 RECORD [INTO 标识符] [; AT END 执行语句]
用ACCEPT语句只能从键盘上输入少量数据,如果输入的数据比较多,用ACCEPT就很不方便,这时可以用READ语句。使用READ请注意:
(1)在环境部(ENVIRONMENT DIVISION)定义有效的内部文件名与外部文件相对应,如下:
ENVIRONMENT DIVISION. (环境部)
INPUT-OUTPUT SECTION. (输入输出节)
FILE CONTROL. (文件控制段)
SELECT IN-FILE ASSIGN TO 外部文件名.
(2)在数据部中对记录区进行描述,记录区也就是在从文件中读取一条记录时在内存中的区域,记录区的描述如下:
DATA DIVISION. (数据部)
FD IN-FILE LABEL RECORD IS STANDARD.
01 IN RECORD. (定义记录区名为 IN RECORD)
02 DATE IN (日期为一组合项)
03 YEAR PIC 99. (年,两位整数)
03 MONTH PIC 99. (月,两位整数)
03 DAYY PIC 99. (日,两位整数)
02 PRODUCT-CODE PIC 9(4). (产品代码,四位整数)
02 CUSTOMER-CODE PIC 9(4). (客户代码,四位整数)
02 QUANTITY PIC 9(6). (数量,6位整数)
02 UNIT-PRICE PIC 9(6). (单价,6位整数)
其中FD是File Description的缩写,表示从该行起是文件描述体。LABEL RECORD IS STANDARD 意思是标记记录是标准的,所有磁盘文件和磁带文件都必做写明标记记录是标准的。
4.WRITE
WRITE语句的一般格式:
WRITE 记录名 [FROM 标识符1] [{BEFORE/AFTER} ADVANCING {标识符2/整数}[LINE/LINES]/{助记名/PAGE}]
将内存区中的数据输出到外部设备,主要由WRITE语句来完成,与输入文件相仿,输出文件也在内存区开辟一个输出记录区,其中AFTER表示先移后打印,BEFORE表示先打后移。使用WRITE语句需注意:
(1)在环境部定义内部文件名外部设备的对应关系,如下:
ENVIRONMENT DIVISION (环境部)
INPUT-OUTPUT SECTON (输入输出节)
FILE-CONTROL (文件控制段)
SELECT OUTPUT-FILE ASSIGN TO 打印机
(2)定义输出记录区,如下:
DATA DIVISION. (数据部)
FD OUTPUT-FILE LABEL RECORD IS OMITTED.
01 OUTPUT RECORD. (定义记录区名为 OUTPUT RECORD)
02 DATE OUT (日期为一组合项)
03 YEAR PIC 99. (年,两位整数)
03 MONTH PIC 99. (月,两位整数)
03 DAYY PIC 99. (日,两位整数)
02 PRODUCT-CODE PIC 9(4). (产品代码,四位整数)
02 CUSTOMER-CODE PIC 9(4). (客户代码,四位整数)
02 QUANTITY PIC 9(6). (数量,6位整数)
02 UNIT-PRICE PIC 9(6). (单价,6位整数)
其中LABEL RECORD IS OMITTED意思是标号记录是省略的,凡输出设备是打印机的,都写成标号记录是省略的。
5.OPEN
OPEN语句的一般格式:
OPEN {INPUT 文件1,文件2,........./OUTPUT 文件3,文件4........}
程序中如果需要读文件或写文件,则该文件必须由OPEN语句打开,如:
OPEN INPUT X1,X2,X3. 表示打开输入文件X1,X2,X3。以后可以用读语句从这3个文件中读数据。又如:
OPEN OUTPUT X1,X2,X3.表示打开输出文件X1,X2,X3。以后可以用写语句往这3个文件中写数据。
6.CLOSE
CLOSE语句一般格式:
CLOSE 文件1 [,文件2].................
当对一个文件读或写的操作已完成,就应该关闭不再使用的文件,使它不再涉入以后的数据操作之中。
本文转自http://hi.baidu.com/thinkspaces/blog/item/a3f85e092dbddd0c94ca6bb3.html