ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:27.04KB ,
资源ID:10077106      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10077106.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(COBOL经典面试题目.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

COBOL经典面试题目.docx

1、COBOL经典面试题目COBOL经典面试题目 JCL -Job Control Language(作业控制语言) JCL代表作业控制语言、JCL是一组控制语句,为需要处理的JOB提供必要的规范。 JCL每行80个字符,至今未变 JCL必须包括3个JCL基本语句 作业语句(JOB):表示一个作业的开始,提供必要的运行参数 执行语句(EXEC):标识一个作业步的开始,定义本作业步所要执行的程序或过程 数据定义语句(DD):用于描述应用程序所需要的数据文件。 /* 语句:表示流内数据结束或调用JES控制语句 /* 语句:注释语句,从第4列到第80列写出注释内容 / 语句:空语句,用以标识一个作业的结

2、束 PROC 语句:流内过程(IN-STREAM *RE)或编目过程(*ED *RE)的起始标记 PEND 语句:表示一个流内过程的结束 Command 语句:操作员用这个语句在输入流中写入操作命令 名字从第3行写,长度必须是1到8个字符 JOBLIB 和*的区别 JOBLIB语句是放在JOB语句后面的,作用于所有的作业步,它不能放在编目过程里 *语句是放在EXEC语句后面的,只作用于本作业步,但是它可以放在编目过程里。 一个顺序文件有多少extents,VSAM? 顺序文件为在一个卷上为16 extents,VSAM文件为123 DISP=MOD既可以扩展一个顺序*,也可以创建一个没有存在的

3、*,对于一个存在的*,记录被追加到末尾。如果没存在系统将把MOD当成NEW看,提供一个没有使用的空间参数。如果空间参数使用过了,系统则终止JOB并且不创建*,MOD可以被用 来扩展一个*的空间。经常用MOD为一个编目的*指定CATLG的属性,既使它已经编目了,因此在编目中可以增加任何连续的空间来写记录。 *怎么从一个STEP传递到另一个STEP? 传递由DISP参数决定,使用*只能被传递到下一个STEP /* DD DSN=JAN.DATA,DISP=SHR / DD DSN=FEB.DATA,DISP=SHR / DD DSN=MAR.DATA,DISP=SHR *怎么级联的? *级联是通过

4、先写一个一般的DD语句,然后加上一个没有DDNAME的DD语句,看读取顺序被级联。 在procs那些JCL语句不能命名 在过程中不允许的JCL语句: 1. JOB, 分隔符(/*), 或空语句 2. JOBLIB 或JOBCAT DD语句 3. DD * 或DATA语句 4. 任何JES2 或JES3 控制语句 一个数据集的初次分配是什么 数据集建立时的空间 一个数据集的主分配和从分配有什么区别 从分配是当要求更多空间时所分配的 你如何创建一个临时数据集吗?在哪里可以使用它们? 可以创建临时数据集通过不指定任何DSNAME或指定DSN = TEMP。 我们把它们输出到在同意作业步上的工作。一旦

5、作业完成,这个临时数据集就会被删除。甚么是S0C4错误 存储违反错误由多种原因决定,例,*是一个美有打开的文件, SD37, SB37, SE37 abends是甚么 表示磁盘空间不足 SD37没有指定的从分配 SB37终止卷,并且没有根多的卷被指定 SE37已经分配到最大16 extents 甚么是S322 abend 需要更多的CPU时间程序已经超过了默认的为该作业分配的CPU时间,陷入一个无限循环. TIME参数的意思是甚么? TIME=1440 表示甚么 TIME当程序需要更多的CPU时间时用于克服S322 abends TIME=1440表示作业的运行没有时间限制,即24小时。 CO

6、ND=EVEN 即使先前作业步异常终止,本作业步都要执行 COND=ONLY 只有先前作业步异常终止,本作业步才执行 如何在一个JCL中检查是否有语法错误 在JOB过程中,*=SCAN或JSCAN. 在PROC中的流数据可以编码吗 No 如何解决这个限制呢 在PROC内编写SYSIN DD DUMMY,然后从JCL用流数据覆盖它 当一个JCL中既定义了JOBLIB,又定义了*,则会怎样 JOBLIB被忽略 在JCL里寻找库的顺序是什么? 首先在*或JOBLIB指定的库中找,然后再系统库中找, 例如SYS1。*。系统库在连接表中指定。 DCB关键字是什么意思,与它相关的一些关键字有哪些? DCB

7、是在DD语句中用来描述*的关键字,与其相关的关键字有*,DEN,LRECL。 *和LRECL有什么不同? LRECL是指逻辑记录长度。*指多个记录长度。 实用程序介绍: *:什么也不做,返回码0.例如:DD语句中创建数据集 *R:建立顺序数据集,PDS。打印顺序数据集 *:拷贝或合并分区数据集和扩展分区数据集 COBOL COBOL II Q2) What are the different data types available in COBOL? Q:COBOL有哪些可用的数据类型 A:字符型(这里指的是包含字母和数字),字母型,数字型 Q3) What does the *IZE ve

8、rb do? - GS Q:*IZE这个词做了些什么 A:将字母,字符,数字区域都置成空格(置空),将数字区置0,FILLER和OCCURS *NG 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 * clause establish ? Q:IS *

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

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

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

12、他必须是递增或者是递减的,默认地政。如果你想在一个递减顺序存贮的表/数组使用搜索的话,那么当定义表/数组的时候你应该加一个*ING 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 it? Q:我的程序有个数组定义了10项。因为有个B

13、UG,我发现即使访问第11项,程序也不异常终止。 那是出了什么问题 A:必须使用编译器的一个选项*,如果你想检查数组的超界问题。默认是*GE Q18) What is the use of *E statement? - GS Q:*E语句有什么作用 A:*E就象个CASE语句(多重开关语句,学过C的总知道吧),不同点在于*E 不需要BREAK,一旦匹配就跳出*E语句了 Q20) How do you come out of an *E statement? - GS Q:怎么跳出一条*E语句 A:象18题目说的那样,一旦匹配了某一个“WHEN“语句就自动跳出了,不需要什么额外的代码来跳出 Q

14、21) In an *E statement, can I give a complex condition on a when clause? Q:在一个*E语句的某个WHEN分支中能否再插入复杂的情况(也就是嵌套) A:当然可以,当多个参数作为控制变量的时候1个WHEN内部可以嵌套更多的情况 Q22) What is a scope terminator? Give examples. Q:什么是结束终止符 A:结束终止符是搭配一些范围指令的,也就是标识一些范围指令的结束。如:*E, END-*E; IF, END-IF 如果没有该结束符,该条语句将终止不了 Q23) How do you

15、 do in-line *? - GS Q:怎么使用内嵌的* A:* . . END-* 所谓内嵌也就是*被嵌在某些比如循环语句中担当执行主体,同时通过UNTIL来指定结束判定 Q24) When would you use in-line perform? Q:什么时候使用内嵌式* A:当该段*的内容不被其他段用到,只在某些局部代码中(当然*的主体所用到的参数也都是局部的,例如循环)使用,如果*主体的代码是一般的(用到了别的程序段的变量),还是使用* Para name这样的形式比较好(也就是相对与内于*的外部*)。 Q25) What is the difference between *

16、E NEXT *E ? Q:*E 和NEXT *E有什么不同 A:两者比较相似,都是将程序控制权交给下一句,但是用NEXT *E的时候,只有当碰到句结束符(就是句末的.)才会将执行下句 这道题我用了2个例子测试了一下: 1:IF TEST-* 0 THEN NEXT *E END-IF * “LINE1 * LINE2. * LINE3.(请注意代码中的.号) 结果输出:LINE3 2:IF TEST-* 0 THEN *E END-IF * LINE1 * LINE2. * LINE3. 结果输出:LINE1 LINE2 LINE3 相信已经区别已经比较明显了,NEXT *E是靠句末的结束符

17、(也就是.)来判断下一句的,而*E是通过句头的保留字(这例中是*)来判断下一句的 Q26) What does EXIT do ? Q:EXIT语句有什么作用 A:什么都不做,如果用到的话,肯定是作为一段的唯一的一句话,注意:这里不是子程序中用的EXIT *E Q27) 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

18、field of X(100) ? Q:能不能把X(200)的区域重定义成X(100) A:可以,原因同上 Q32) How is sign stored in Packed Decimal fields and Zoned Decimal fields? Q32) Packed Decimal fields: Sign is stored as a hex value in the last nibble (4 bits ) of the storage. Zoned Decimal fields: As a default, sign is over punched with the nu

19、meric value stored in the last bite. Q:在内部十进制区域和显示十进制区域符号是怎么存贮的 A:内部十进制是一个数字占4位(半字节),内存中用16进制来存,最后在追加4位作为符号,如-4=*-*(末尾的1101表示负,1100表示正),而我们用于显示的十进制,符号并不占空间,只是在最后一位上标识一下 Q33) How is sign stored in a comp-3 field? - GS Q:COMP-3区怎么存储符号 A:COMP-3采用的是内部十进制的存储方式,所谓内部十进制就是压缩式的外部十进制存储方式,上题讲过外部十进制每个数值都用1个字节存储

20、,但前4位是存符号的,这样比较浪费存储空间,所以内部十进制的存储方式就用半个字节(4位)存储一个数字,在最后增加4位作为符号(1100(C)为正,1101(D)为负) Q34) How is sign stored in a COMP field ? - GS Q:COMP区怎么存储符号 A:COMP是采用定点二进制的方式存储数据,也就是将一个十进制的数值转化成二进制再进行存储,因为机器存储的形式也是二进制,所以定点二进制的读取是最快速的,因为COMP型的数据是用做计算(也就是说不用再转化成十进制打印),使用定点二进制将会非常高效。这样的存储方式符号是保存在最高有效果位上,如:10=(*-*)

21、?, -10=(*-*)? Q35) What is the difference between COMP COMP-3 ? Q:COMP和COMP-3什么区别 A:这之前讲过了,COMP采用定点二进制存储,COMP-3采用内部十进制存储 Q36) What is COMP-1? COMP-2? Q:COMP-1是什么?什么是COMP-2 A:其实之所以定义计算型数据(COMPCOMP-3)以区别*(能计算,但是要用于打印)是为了考虑效率,因为大家知道文件导入(也就是USER使用的数据)一般是十进制的,而机器存储都是二进制,那么当定义的数据光用来计算不用打印,处于效率考虑会把它定义成COMP

22、型,当然就会衍生出几类COMP以适应不用的数据类型的存储。很明显,这里COMP-1就是采用内部短浮点(4个字节表示一个数,8位指数部分,24位表示数字部分),COMP-2用内部长浮点型(8个字节表示一个书,16位指数部分,48位表示数字部分)以适应浮点数据的存储,长浮点精确度更高. Q37) How do you define a variable of COMP-1? COMP-2? Q:怎么定义一个COMP-1型?COMP-2型 A:不要用*描述,因为是确定分配多少内存的,直接用USAGE,如01 WS-VAR USAGE COMP-1 Q38) How many bytes does a

23、 S9(7) COMP-3 field occupy ? Q:一个S9(7)的COMP-3型占用多少字节? A:占用4字节。COMP-3用内部十进制存储,S9(7)中的S是要占空间的,符号占4位,7个数字,每个4位(半个字节),所以是(4+7*4)/8=4字节(字节和位的比例不要搞错了哦) Q39) How many bytes does a S9(7) SIGN *G *E field occupy ? Q:一个S9(7) SIGN *G *E区域占多少字节 A:这里是每个符号单独分配空间(也就是没个数值用1个字节表示,就象最常用的*型的分配方式),算上S的空间,所以是7+1=8字节。一般情

24、况省略的SIGN子句都是隐含SIGN IS *G的 Q40) How many bytes will a S9(8) COMP field occupy ? Q:一个S9(8) COMP区域占多少字节 A:如果之前关于COMP的解释听懂了的话,那很显然就是4字节了(定点二进制用2字节存储14,4字节存储59,类推,你可以自己推下),如果这块还不懂的可以问我或者查下书 Q41) What is the maximum value that can be stored in S9(8) COMP? Q41) *-* Q:S9(8)COMP型最多存储的最大值是什么 A:除了8个数值外不忽略符号位 Q

25、43) What is the maximum size of a 01 level item in COBOL I? in COBOL II? Q43) In COBOL II: *-* Q:COBOL1定义的01层最大大小是多少,COBOL II中? A:COBOL II中是*-*,没什么说的,自己翻书 Q44) How do you reference the following file formats from COBOL programs: Q:COBOL中如何涉及(引用调用)以下这些文件 A:文件类型这里是COBOL在文件控制区中的文件组织访问形式(SELECT下面那句)这里最好

26、翻翻书或者事例代码反复记忆 定长文件用*ATION IS *IAL. Use *NG MODE IS F, BLOCK *S 0 固定但是不是以块的组织形式用*ATION IS *IAL. Use *NG MODE IS F, 不要使用BLOCK *S(因为不是以块 的组织形式) 变长文件用*ATION IS *IAL. Use *NG MODE IS V,BLOCK ,*S 0.在之后的文件区中 的文件描述FD中不要编码记录长度为4字节变长但是不是以块的组织形式用*ATION IS *IAL. Use *NG MODE IS V,同样不要使用BLOCK *S也不要编 码记录长度为4字节(原因

27、同上) ESDS VSAM文件用*ATION IS *IAL KSDS VSAM文件用*ATION IS *, RECORD KEY IS, *TE RECORD 作为关键字的RRDS文件用*ATION IS *E, *E KEY IS 打印文件用*ATION IS *IAL. Use *NG MODE IS F, BLOCK *S 0. (Use RECFM=FBA in JCL DCB) Q45) What are different file OPEN modes available in COBOL? Q:COBOL中有哪些OPEN方式 A:有INPUT,OUTPUT,I-O,EXTE

28、ND这些OPEN模式 Q46) What is the mode in which you will OPEN a file for writing? - GS Q:当你想OPEN一个文件用来写入的时候,这属于什么方式 A:OUTPUT,EXTEND方式 Q48) Can you * a record in an ESDS file? Can you DELETE a record from it? Q:能否*(重写)一个ESDS文件?能否删除ESDS中的一条记录? A:能够重写(但是记录长度必须相同),但是不能删除 Q51) What is Static and Dynamic linkin

29、g ? Q:什么是静态和动态连接 A:在静态连接中,被调用的子程序是连接到调用程序,但是在动态连接中,被调用子程序和调用主程序的可执行模块是都存在的(分开的)。你可以在连接选项中选择DYNAM或者 *(就算你选择了*,CALL标识符还是回把它自动转换成一个动态调用)。静态子程序下次被调用时不会再处于其初始状态,除非用*初始化或者用 CANCEL。动态的都是以初始状态存在的。 Q53) What compiler option would you use for dynamic linking? Q:如果要动态连接那么要用什么编译选项 A:DYNAM Q62) What is an in line *? When would you use it? Anything else to say about it? Q:*行有什么作用?什么时候使用?简单介绍下它 A:*和END-*配套使用,所有COBOL II程序语句都在这两关键字之间。这和COBOL的*或者* THRU一段是一样的意思。在*的语句中只

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1