义后两个数据名的名称和两种数据结构同时存在,都有效。程序中可使用其中任何一个。他们在内存中为同一段存储单元。如果改变了内存内容,则二者的值都因而改变。 7.重定义子句所在的数据描述体中不能使用初值子句赋初值
20.如何定义和使用文件 ? 如何把COBOL程序中的文件关联到实际的文件上?
答:在COBOL程序的Environment division段里的INPUT-OUTPUT SECTION FILE-CONTROL进行文件的定义,包括内部文件名,外部文件名,文件的格式以及访问方式 在 Data Division里的 FILE SECTION里面进行 FD 进行文件记录变量的描述
在 运行程序的JCL里面通过指定PGM = 程序名, 和相同的外部文件名来关联程序和实际的物理数据集。 21. COBOL中如何做循环,请描述下常用的循环语句 答:COBOL中主要通过 PERFORM做循环; PERFORM有3种主要的格式: PERFORM 100-PROC X TIMES ; PERFORM 100-PROC UNTIL X > 10;
PERFORM 100-PROC VARYING X FROM 1 BY 1 UNTIL X > 10; GO TO 语句。
22.如何从VSAM中的一条记录开始顺序读取以下的记录 答: 通过指定KEY值来指定从文件的哪个KEY开始读记录, 用COBOL语句: START FILE1 KEY IS EQUAL TO 变量 END-START
READ FIEL1 NEXT RECORD INTO 文件记录变量 END-READ
从文件头中间开始CICS STARTBR, READNEXT or READPREV, then ENDBR. 读取首条记录,给STARTB->READNEXT; 从文件尾读取,给STARTB->READPREV.
23. INSPECT 语句,简单说一下INSPECT … TALLYING & INSPECT … REPLACING
答: INSPECT 变量 TALLYING N FOR ALL ‘ ‘ 表示统计变量中的空格数,把统计结果给N.
INSPECT 变量 REPLACING ALL SPACE BY ‘.’ 表示把变量中的所有空格,用 . 替换掉。
24. INITIALIZE 语句作用是什么,INITIALIZE VAR,如果VAR是字符型,那么DISPLAY VAR后是什么结果,如果VAR是数值型,那么DISPLAY VAR后是什么结果?
答: INITIALIZE 语句是用来初始化变量内存的语句, 如果变
key
值赋
HIGH-VALUE,
key
值赋
LOW-VELUE,
量是字符型/字母型就初始化为 空格, 如果是数值型就都初始化为 0
25. CORRESPONDING 是什么作用在COBOL中,如何使用? 答:相应变量传送,通过用 MOVE CORRESPONGDNG 组合项A TO 组合项 B , ( 组合项 A 和 组合项 B 里有同名的子项的定义)
26. 描述一下读文件的全过程。
INPUT-OUTPUT SECTION的FILE-CONTROL中,用SELECT语句将外部文件和内部文件联系起来;在FILE SECTION中,通过FD定义文件的记录格式等;在PROCEDURE DIVISION中,首先OPEN INPUT/OUTPUT/I-O/EXTEND,READ或START-〉READ NEXT;读完之后CLOSE。判断文件读取状态使用FILE STATUS。
10 读取顺序数据集时读不到或者已经读到文件尾; 22 写Indexed文件的时候,存在关键字重复的