您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > COBOL经典面试题库
COBOL经典面试题库(中英文版)2009年03月16日|5:07下午分类:大型机|Mainframe|标签:CICS、cobol、DB2、JCL、大机、文档资料、面试、题库|我们经常用来复习用的,大多数版本只有英文,这个好像还是基地的同事们一起翻译出来的Q1)NamethedivisionsinaCOBOLprogram?.A1)IDENTIFICATIONDIVISION,ENVIRONMENTDIVISION,DATADIVISION,PROCEDUREDIVISION.Q:列举COBOL的DEVISIONA:标识部,环境部,数据部,过程部Q2)WhatarethedifferentdatatypesavailableinCOBOL?A2)Alpha-numeric(X),alphabetic(A)andnumeric(9).Q:COBOL有哪些可用的数据类型A:字符型(这里指的是包含字母和数字),字母型,数字型Q3)WhatdoestheINITIALIZEverbdo?-GSA3)Alphabetic,Alphanumericfields&alphanumericediteditemsaresettoSPACES.Numeric,NumericediteditemssettoZERO.FILLER,OCCURSDEPENDINGONitemsleftuntouched.Q:INITIALIZE这个词做了些什么A:将字母,字符,数字区域都置成空格(置空),将数字区置0,FILLER和OCCURSDEPENDINGON项不处理Q4)Whatis77levelusedfor?A4)Elementarylevelitem.Cannotbesubdivisionsofotheritems(cannotbequalified),norcantheybesubdividedthemselves.Q:77层有什么作用A:基本层数据项,不能用做细分别的层,也不能被细分(来源:)Q5)Whatis88levelusedfor?A5)Forconditionnames.Q:88层有什么作用A:条件逻辑层Q6)Whatislevel66usedfor?A6)ForRENAMESclause.Q:66层有什么作用A:重命名层Q7)WhatdoestheISNUMERICclauseestablish?A7)ISNUMERICcanbeusedonalphanumericitems,signednumeric&packeddecimalitemsandunsignednumeric&packeddecimalitems.ISNUMERICreturnsTRUEiftheitemonlyconsistsof0-9.However,iftheitembeingtestedisasigneditem,thenitmaycontain0-9,+and-.Q:ISNUMERIC这个子句怎么确定(也就是说确定句子的真值)A:ISNUMERIC用在字符项,带符号数字,浮点数,不带符号数。如果目标项只含0~9则返回TRUE。但是,如果待测项目是个带符号数,那么他就含有0-9还有+和-Q8)Howdoyoudefineatable/arrayinCOBOL?A8)ARRAYS.05ARRAY1PICX(9)OCCURS10TIMES.05ARRAY2PICX(6)OCCURS20TIMESINDEXEDBYWS-INDEXQ:COBOL中怎么建表/数组A:如上.Q9)CantheOCCURSclausebeatthe01level?A9)No.Q:OCCURS子句能用在第一层吗A:不能(来源:)Q10)Whatisthedifferencebetweenindexandsubscript?-GSA10)Subscriptreferstothearrayoccurrencewhileindexisthedisplacement(innoofbytes)fromthebeginningofthearray.AnindexcanonlybemodifiedusingPERFORM,SEARCH&SET.NeedtohaveindexforatableinordertouseSEARCH,SEARCHALL.Q:索引和下标有什么区别A:下标可以指定数组中任意中位置的元素(只要知道其下标),下标只能是数字型常量或者数字型变量(但是不能在指定的时候修改,如:A(K+1)这样是不行的,要修改的话要在指定的外部改,如:ADD1TOK,而索引的话是从表头/数组头开始检索(以BYN的指定检索规律往后滚)再者,索引只能通过PERFORM,SEARCH和SET来修改,如果要在一个表中使用SEARCH,SEARCHALL,那这个表就要有索引(因为SEARCH,SEARCHALL的参数中指定索引,所以即使其有很多限制还是得用它)Q11)WhatisthedifferencebetweenSEARCHandSEARCHALL?-GSA11)SEARCH-isaserialsearch.SEARCHALL-isabinarysearch&thetablemustbesorted(ASCENDING/DESCENDINGKEYclausetobeused&dataloadedinthisorder)beforeusingSEARCHALL.Q:SERACH和SERACHALL有什么区别A:SEARCH是顺序查找SERACHALL是2叉查找(相信数据结构学过2叉树的都不会陌生),在使用SEARCHALL前表必须有一个递增/递减的KEY,并且表已经按照其KEY值排序了,这样才能使用SEARCHALLQ12)WhatshouldbethesortingorderforSEARCHALL?-GSA12)ItcanbeeitherASCENDINGorDESCENDING.ASCENDINGisdefault.Ifyouwantthesearchtobedoneonanarraysortedindescendingorder,thenwhiledefiningthearray,youshouldgiveDESCENDINGKEYclause.(Youmustloadthetableinthespecifiedorder).Q:为了使用SEARCHALL,存贮顺序是怎么样的A:他必须是递增或者是递减的,默认地政。如果你想在一个递减顺序存贮的表/数组使用搜索的话,那么当定义表/数组的时候你应该加一个DESCENDINGKEY子句(这之前表要已经按指定的顺序排序了)Q13)Whatisbinarysearch?A13)Searchonasortedarray.Comparetheitemtobesearchedwiththeitematthecenter.Ifitmatches,fineelserepeattheprocesswiththelefthalfortherighthalfdependingonwheretheitemlies.Q:什么是2叉查找A:将你要找的目标项与数组的正中项比较,找到就结束搜索,没找到则继续如此循环(比较下一个中值),取哪一半取决于目标值大于中值还是小于中值PS:联想2叉树的查找规律就很好理解,因为所谓的“表“本身也就是数组Q14)Myprogramhasanarraydefinedtohave10items.Duetoabug,Ifindthateveniftheprogramaccessthe11thiteminthisarray,theprogramdoesnotabend.Whatiswrongwithit?A14)MustusecompileroptionSSRANGEifyouwantarrayboundschecking.DefaultisNOSSRANGE.Q:我的程序有个数组定义了10项。因为有个BUG,我发现即使访问第11项,程序也不异常终止。那是出了什么问题A:必须使用编译器的一个选项SSRANGE,如果你想检查数组的超界问题。默认是NOSSRANGEQ15)HowdoyousortinaCOBOLprogram?Givesortfiledefinition,sortstatementsyntaxandmeaning.-GSA15)Syntax:SORTfile-1ONASCENDING/DESCENDINGKEYkey….USINGfile-2GIVINGfile-3.USINGcanbesubstitutedbyINPUTPROCEDUREISpara-1THRUpara-2GIVINGcanbesubstitutedbyOUTPUTPROCEDUREISpara-1THRUpara-2.file-1isthesort(work)fileandmustbedescribedusingSDentryinFILESECTION.file-2istheinputfilefortheSORTandmustbedescribedusinganFDentryinFILESECTIONandSELECTclauseinFILECONTROL.file-3istheoutfilefromtheSORTandmustbedescribedusinganFDentryinFILESECTIONandSELECTclauseinFILECONTROL.file-1,file-2&file-3shouldnotbeopenedexplicitly.INPUTPROCEDUREisexecutedbeforethesortandrecordsmustbeRELEASEdtothesortworkfilefromtheinputprocedure.OUTPUTPROCEDUREisexecutedafterallrecordshavebeensorted.RecordsfromthesortworkfilemustbeRETURNedoneatatimetotheoutputprocedure.Q:怎么在一个COBOL程序中排序?给出排序文件的定义,排序语法和意思A:语法就是SORTfile-1ONASCENDING/DESCENDINGKEYkey….USINGfile-2GIVINGfile-3.USING后程序的输入接口,这个地方可以替换成一个输出过程,也就是说写一个过程往USING这个接口中导数据(要在这个过程中READ,ATEND,……),这个过程在将数据释放到执行排序的文件中之前执行,GIVING后是输出借口,用法类似。此例中输入文件是file-2输出文件是file3(这样个文件必须在文件区中用FD和在文件控制中用到SELECT)真正执行排序的file-1,这里需要注意的是file-1中的文件区不能用FD,应该用SD,file-2和3还是一样(用FD),具体可以看一下书上的例子Q16)HowdoyoudefineasortfileinJCLthatrunstheCOBOLprogram?A16)UsetheSORTWK01,SORTWK02,…..ddnamesinthestep.Numberofsortdatasetsdependsonthevolumeofdatabeingsorted,butaminimumof3isrequired.Q:怎么在JCL中定义一个排序文件来跑这个COBOL程序A:用SORTWK01,SORTWK02,…..作为DATASETNAME。用多少取决于你要排序的数量,但是至少3个。Q17)WhatisthedifferencebetweenperformingaSECTIONandaPARAGRAPH?-GSA17)Performi
本文标题:COBOL经典面试题库
链接地址:https://www.777doc.com/doc-2906548 .html