COBOL经典面试题目-9页

上传人:maz****in 文档编号:201530775 上传时间:2021-10-10 格式:PDF 页数:9 大小:23.24KB
返回 下载 相关 举报
COBOL经典面试题目-9页_第1页
第1页 / 共9页
COBOL经典面试题目-9页_第2页
第2页 / 共9页
COBOL经典面试题目-9页_第3页
第3页 / 共9页
COBOL经典面试题目-9页_第4页
第4页 / 共9页
COBOL经典面试题目-9页_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《COBOL经典面试题目-9页》由会员分享,可在线阅读,更多相关《COBOL经典面试题目-9页(9页珍藏版)》请在金锄头文库上搜索。

1、JCL -Job Control Language(作业控制语言 ) JCL代表作业控制语言、JCL 是一组控制语句, 为需要处理的JOB提供必要的规范。 JCL 每行 80 个字符,至今未变 JCL 必须包括3个 JCL 基本语句作业语句( JOB ) :表示一个作业的开始,提供必要的运行参数执行语句( EXEC ) :标识一个作业步的开始,定义本作业步所要执行的程序或过程数据定义语句(DD ) :用于描述应用程序所需要的数据文件。 /* 语句:表示流内数据结束或调用JES控制语句 JOB, 分隔符 (/*), 或空语句 2. JOBLIB 或 JOBCAT DD 语句 3. DD * 或

2、DATA语句 4. 任何 JES2 或 JES3 控制语句 一个数据集的初次分配是什么数据集建立时的空间 一个数据集的主分配和从分配有什么区别从分配是当要求更多空间时所分配的 你如何创建一个临时数据集吗在哪里可以使用它们可以创建临时数据集通过不指定任何DSNAME 或指定 DSN = &TEMP 。我们把它们输出到在同意作业步上的工作。一旦作业完成,这个临时数据集就会被删除。 甚么是 S0C4错误存储违反错误由多种原因决定,例,READING 是一个美有打开的文件, SD37, SB37, SE37 abends是甚么表示磁盘空间不足 SD37没有指定的从分配 SB37终止卷,并且没有根多的卷

3、被指定 SE37已经分配到最大16 extents 甚么是 S322 abend需要更多的CPU时间程序已经超过了默认的为该作业分配的CPU时间,陷入一个无限循环. TIME 参数的意思是甚么 TIME=1440 表示甚么 TIME当程序需要更多的CPU时间时用于克服S322 abends TIME=1440表示作业的运行没有时间限制,即24 小时。 COND=EVEN即使先前作业步异常终止,本作业步都要执行 COND=ONLY只有先前作业步异常终止,本作业步才执行 如何在一个JCL中检查是否有语法错误在 JOB过程中, TYPERUN=SCAN或 JSCAN. 在 PROC 中的流数据可以编

4、码吗 No如何解决这个限制呢在 PROC 内编写 SYSIN DD DUMMY,然后从JCL用流数据覆盖它 当一个 JCL 中既定义了JOBLIB,又定义了STEPLIB,则会怎样 JOBLIB被忽略 在 JCL里寻找库的顺序是什么首先在 STEPLIB或 JOBLIB 指定的库中找,然后再系统库中找,例如 SYS1 。LINKLIB 。系统库在连接表中指定。 DCB关键字是什么意思,与它相关的一些关键字有哪些 DCB 是在 DD语句中用来描述DATASET 的关键字,与其相关的关键字有BLKSIZE,DEN ,LRECL 。 BLKSIZE和 LRECL有什么不同 LRECL 是指逻辑记录长

5、度。BLKSIZE指多个记录长度。 实用程序介绍: IEFBR14:什么也不做,返回码0. 例如: DD语句中创建数据集 IEBGENER :建立顺序数据集,PDS 。打印顺序数据集 IEBCOPY :拷贝或合并分区数据集和扩展分区数据集COBOL & COBOL II Q2) What are the different data types available in COBOLQ :COBOL 有哪些可用的数据类型A:字符型(这里指的是包含字母和数字),字母型,数字型Q3) What does the INITIALIZE verb do - GSQ :INITIALIZE这个词做了些什么

6、A: 将字母,字符,数字区域都置成空格(置空), 将数字区置0, FILLER 和 OCCURS DEPENDING ON项不处理Q4) What is 77 level used for Q :77 层有什么作用A:基本层数据项,不能用做细分别的层,也不能被细分Q5) What is 88 level used for Q :88 层有什么作用A:条件逻辑层Q6) What is level 66 used for Q :66 层有什么作用A:重命名层Q7) What does the IS NUMERIC clause establish Q :IS NUMERIC这个子句怎么确定(也就是

7、说确定句子的真值)A:IS NUMERIC 用在字符项,带符号数字,浮点数,不带符号数。如果目标项只含09 则返回 TRUE 。但是,如果待测项目是个带符号数,那么他就含有0-9 还有 +和-Q8) How do you define a table/array in COBOLA8) ARRAYS.05 ARRAY1 PIC X(9) OCCURS 10 TIMES. 05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEXQ :COBOL 中怎么建表 / 数组A:如上 .Q :OCCURS 子句能用在第一层吗A:不能Q10) What i

8、s the difference between index and subscript - GSQ :索引和下标有什么区别A:下标可以指定数组中任意中位置的元素(只要知道其下标) ,下标只能是数字型常量或者数字型变量(但是不能在指定的时候修改,如:A(K+1)这样是不行的,要修改的话要在指定的外部改,如:ADD 1 TO K ,而索引的话是从表头/ 数组头开始检索(以BY N的指定检索规律往后滚)再者,索引只能通过PERFORM, SEARCH 和 SET来修改,如果要在一个表中使用SEARCH, SEARCH ALL ,那这个表就要有索引(因为SEARCH, SEARCH ALL 的参数中

9、指定索引,所以即使其有很多限制还是得用它)Q11) What is the difference between SEARCH and SEARCH ALL - GSQ :SERACH 和 SERACH ALL 有什么区别A:SEARCH 是顺序查找 SERACH ALL 是 2 叉查找(相信数据结构学过2 叉树的都不会陌生) ,在使用SEARCH ALL前表必须有一个递增/ 递减的 KEY ,并且表已经按照其KEY值排序了,这样才能使用SEARCH ALLQ12) What should be the sorting order for SEARCH ALL - GSQ :为了使用SEARC

10、H ALL ,存贮顺序是怎么样的A:他必须是递增或者是递减的,默认地政。 如果你想在一个递减顺序存贮的表/ 数组使用搜索的话,那么当定义表/ 数组的时候你应该加一个DESCENDING KEY子句(这之前表要已经按指定的顺序排序了)Q14) My program has an array defined to have 10 items. Due to a bug, I find that even if the program access the 11th item in this array, the program does not abend. What is wrong with

11、itQ :我的程序有个数组定义了10 项。因为有个BUG ,我发现即使访问第11 项,程序也不异常终止。那是出了什么问题A:必须使用编译器的一个选项SSRANGE,如果你想检查数组的超界问题。默认是 NOSSRANGEQ18) What is the use of EVALUATE statement - GSQ :EVALUATE 语句有什么作用A:EVALUATE 就象个 CASE 语句(多重开关语句,学过C的总知道吧),不同点在于EVALUATE不需要 BREAK ,一旦匹配就跳出EVALUATE 语句了Q20) How do you come out of an EVALUATE st

12、atement - GSQ :怎么跳出一条EVALUATE 语句A:象 18 题目说的那样,一旦匹配了某一个“WHEN“语句就自动跳出了,不需要什么额外的代码来跳出Q21) In an EVALUATE statement, can I give a complex condition on a when clauseQ :在一个EVALUATE 语句的某个WHEN 分支中能否再插入复杂的情况(也就是嵌套)A:当然可以,当多个参数作为控制变量的时候1 个 WHEN 内部可以嵌套更多的情况Q22) What is a scope terminator Give examples.Q :什么是结束

13、终止符A:结束终止符是搭配一些范围指令的,也就是标识一些范围指令的结束。如:EVALUATE, END-EVALUATE; IF, END-IF 如果没有该结束符,该条语句将终止不了Q23) How do you do in-line PERFORM - GSQ :怎么使用内嵌的PERFORMA:PERFORM . . END-PERFORM所谓内嵌也就是PERFORM被嵌在某些比如循环语句中担当执行主体,同时通过UNTIL 来指定结束判定Q24) When would you use in-line performQ :什么时候使用内嵌式PERFORMA:当该段PERFORM的内容不被其他段

14、用到,只在某些局部代码中(当然PERFORM的主体所用到的参数也都是局部的,例如循环)使用,如果PERFORM 主体的代码是一般的(用到了别的程序段的变量) ,还是使用PERFORM Para name这样的形式比较好(也就是相对与内于PERFORM 的外部 PERFORM) 。Q25) What is the difference between CONTINUE & NEXT SENTENCE Q :CONTINUE 和 NEXT SENTENCE 有什么不同A:两者比较相似,都是将程序控制权交给下一句,但是用NEXT SENTENCE 的时候,只有当碰到句结束符(就是句末的. )才会将执

15、行下句这道题我用了2 个例子测试了一下:1:IF TEST-NUMERIC 0 THEN NEXT SENTENCE END-IF DISPLAY LINE1 DISPLAY LINE2. DISPLAY LINE3.(请注意代码中的. 号)结果输出: LINE32:IF TEST-NUMERIC 0 THEN CONTINUE END-IF DISPLAY LINE1 DISPLAY LINE2. DISPLAY LINE3.结果输出: LINE1 LINE2 LINE3 相信已经区别已经比较明显了,NEXT SENTENCE 是靠句末的结束符(也就是. )来判断下一句的,而CONTINUE

16、 是通过句头的保留字(这例中是DISPLAY )来判断下一句的Q26) What does EXIT do Q :EXIT 语句有什么作用A:什么都不做,如果用到的话,肯定是作为一段的唯一的一句话,注意:这里不是子程序中用的 EXIT PROGRAMEQ27) Can I redefine an X(100) field with a field of X(200)Q :能不能把X( 100)的区域重定义成X ( 200)A:可以,重定义只是相当于把两个区域的首地址放在一起,从上面这个例子也很好理解A28) Can I redefine an X(200) field with a field of X(100) Q :能不能把X( 200)的区域重定义成X ( 100)A:可以,原因同上Q32) How is sign stored in Packed Decimal fields and Zoned Decimal fieldsQ32) Packed Decimal fields: Sign is stored as a hex value in the last nibble (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号