2023年COBOL經(jīng)典面試題目_第1頁(yè)
2023年COBOL經(jīng)典面試題目_第2頁(yè)
2023年COBOL經(jīng)典面試題目_第3頁(yè)
2023年COBOL經(jīng)典面試題目_第4頁(yè)
2023年COBOL經(jīng)典面試題目_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JCL——JobControlLanguage(作業(yè)控制語(yǔ)言)

@JCL代表作業(yè)控制語(yǔ)言、JCL是一組控制語(yǔ)句,為需要解決的JOB提供必要的規(guī)范。

@JCL每行80個(gè)字符,至今未變

@JCL必須涉及3個(gè)JCL基本語(yǔ)句

作業(yè)語(yǔ)句(JOB):表達(dá)一個(gè)作業(yè)的開(kāi)始,提供必要的運(yùn)營(yíng)參數(shù)

執(zhí)行語(yǔ)句(EXEC):標(biāo)記一個(gè)作業(yè)步的開(kāi)始,定義本作業(yè)步所要執(zhí)行的程序或過(guò)程

數(shù)據(jù)定義語(yǔ)句(DD):用于描述應(yīng)用程序所需要的數(shù)據(jù)文獻(xiàn)。

@/*語(yǔ)句:表達(dá)流內(nèi)數(shù)據(jù)結(jié)束或調(diào)用JES控制語(yǔ)句

@//*語(yǔ)句:注釋語(yǔ)句,從第4列到第80列寫出注釋內(nèi)容

@〃語(yǔ)句:空語(yǔ)句,用以標(biāo)記一個(gè)作業(yè)的結(jié)束

@PROC語(yǔ)句:流內(nèi)過(guò)程(IN-STREAMPROCEDURE)或編目過(guò)程(CATALOGED

PROCEDURE)的起始標(biāo)記

@PEND語(yǔ)句:表達(dá)一個(gè)流內(nèi)過(guò)程的結(jié)束

@Command語(yǔ)句:操作員用這個(gè)語(yǔ)句在輸入流中寫入操作命令

@名字從第3行寫,長(zhǎng)度必須是1到8個(gè)字符

@JOBLIB和STEPLIB的區(qū)別

JOBLIB語(yǔ)句是放在JOB語(yǔ)句后面的,作用于所有的作業(yè)步,它不能放在編目過(guò)程里

STEPLIB語(yǔ)句是放在EXEC語(yǔ)句后面的,只作用于本作業(yè)步,但是它可以放在編目過(guò)程里。

@一個(gè)順序文獻(xiàn)有多少extents,VSAM?

順序文獻(xiàn)為在一個(gè)卷上為16extents,VSAM文獻(xiàn)為123

@DISP=MOD既可以擴(kuò)展一個(gè)順序DATASET,也可以創(chuàng)建一個(gè)沒(méi)有存在的DATASET,對(duì)于一個(gè)

存在的DATASET,記錄被追加到末尾。假如沒(méi)存在系統(tǒng)將把MOD當(dāng)成NEW看,提供一個(gè)沒(méi)有使

用的空間參數(shù)。假如空間參數(shù)使用過(guò)了,系統(tǒng)則終止JOB并且不創(chuàng)建DATASET,MOD可以被用

來(lái)擴(kuò)展一個(gè)DATASET的空間。經(jīng)常用MOD為一個(gè)編目的DATASET指定CATLG的屬性,既使它已

經(jīng)編目了,因此在編目中可以增長(zhǎng)任何連續(xù)的空間來(lái)寫記錄。

@DATASET怎么從一個(gè)STEP傳遞到另一個(gè)STEP?

傳遞由DISP參數(shù)決定,使用DATASET只能被傳遞到卜.一個(gè)STEP

@//YEARDATDDDSN=JAN.DATA,DISP=SHR

//DDDSN=FEB.DATA,DISP=SHR

//DDDSN=MAR.DATA,DISP=SHR

DATASET怎么級(jí)聯(lián)的?

DATASET級(jí)聯(lián)是通過(guò)先寫一個(gè)一般的DD語(yǔ)句,然后加上一個(gè)沒(méi)有DDNAME的DD語(yǔ)句,

看讀取順序被級(jí)聯(lián)。

@在procs那些JCL語(yǔ)句不能命名

在過(guò)程中不允許的JCL語(yǔ)句:

1.JOB,分隔符(/*),或空語(yǔ)句

2.JOBL1B或JOBCATDD語(yǔ)句

3.DD*或DATA語(yǔ)句

4.任何JES2或JES3控制語(yǔ)句

@一個(gè)數(shù)據(jù)集的初次分派是什么

數(shù)據(jù)集建立時(shí)的空間

@一個(gè)數(shù)據(jù)集的主分派和從分派有什么區(qū)別

從分派是當(dāng)規(guī)定更多空間時(shí)所分派的

@你如何創(chuàng)建一個(gè)臨時(shí)數(shù)據(jù)集嗎?在哪里可以使用它們?

可以創(chuàng)建臨時(shí)數(shù)據(jù)集通過(guò)不指定任何DSNAME或指定DSN=&&TEMP。

我們把它們輸出到在批準(zhǔn)作業(yè)步上的工作。一旦作業(yè)完畢,這個(gè)臨時(shí)數(shù)據(jù)集就會(huì)被刪除。

@甚么是S0C4錯(cuò)誤

存儲(chǔ)違反錯(cuò)誤由多種因素決定,例,READING是一個(gè)美有打開(kāi)的文獻(xiàn),??????

@SD37,SB37,SE37abends是甚么

表達(dá)磁盤空間局限性

SD37沒(méi)有指定的從分派

SB37終止卷,并且沒(méi)有根多的卷被指定

SE37已經(jīng)分派到最大16extents

@甚么是S322abend

需要更多的CPU時(shí)間程序已經(jīng)超過(guò)了默認(rèn)的為該作業(yè)分派的CPU時(shí)間,陷入一個(gè)無(wú)限循環(huán)..

@TIME參數(shù)的意思是甚么?

TIME=1440表達(dá)甚么

TIME當(dāng)程序需要更多的CPU時(shí)間時(shí)用于克服S322abends

TIME=1440表達(dá)作業(yè)的運(yùn)營(yíng)沒(méi)有時(shí)間限制,即24小時(shí)。

@COND=EVEN

即使先前作業(yè)步異常終止,本作業(yè)步都要執(zhí)行

@COND=ONLY

只有先前作業(yè)步異常終止,本作業(yè)步才執(zhí)行

@如何在一個(gè)JCL中檢查是否有語(yǔ)法錯(cuò)誤

在JOB過(guò)程中,TYPERUN=SCAN或JSCAN.

@在PROC中的流數(shù)據(jù)可以編碼嗎

No

如何解決這個(gè)限制呢

在PROC內(nèi)編寫SYSINDDDUMMY,然后從JCL用流數(shù)據(jù)覆蓋它

@當(dāng)一個(gè)JCL中既定義了JOBLIB,又定義了STEPLIB,則會(huì)如何

JOBLIB被忽略

@在(1里尋找?guī)斓捻樞蚴鞘裁矗?/p>

一方面在STEPL1B或JOBLIB指定的庫(kù)中找,然后再系統(tǒng)庫(kù)中找,

例如SYS1。LINKLIBo系統(tǒng)庫(kù)在連接表中指定。

@DCB關(guān)鍵字是什么意思,與它相關(guān)的一些關(guān)鍵字有哪些?

DCB是在DD語(yǔ)句中用來(lái)描述DATASET的關(guān)鍵字,與其相關(guān)的關(guān)鍵字有BLKSIZE,DEN,

LRECL?

@BLKSIZE和LRECL有什么不同?

LRECL是指邏輯記錄長(zhǎng)度。BLKSIZE指多個(gè)記錄長(zhǎng)度。

@實(shí)用程序介紹:

IEFBR14:什么也不做,返回碼0.例如:DD語(yǔ)句中創(chuàng)建數(shù)據(jù)集

IEBGENER:建立順序數(shù)據(jù)集,PDS。打印順序數(shù)據(jù)集

IEBCOPY:拷貝或合并分區(qū)數(shù)據(jù)集和擴(kuò)展分區(qū)數(shù)據(jù)集

COBOL&COBOLII

Q2)WhatarethedifferentdatatypesavailableinCOBOL?

Q:COBOL有哪些可用的數(shù)據(jù)類型

A:字符型(這里指的是包含字母和數(shù)字),字母型,數(shù)字型

Q3)WhatdoestheINITIALIZEverbdo?-GS

Q:INITIALIZE這個(gè)詞做了些什么

A:將字母,字符,數(shù)字區(qū)域都置成空格(置空),將數(shù)字區(qū)置0,FILLER和OCCURS

DEPENDINGON項(xiàng)不解決

Q4)Whatis77levelusedfor?

Q:77層有什么作用

A:基本層數(shù)據(jù)項(xiàng),不能用做細(xì)分別的層,也不能被細(xì)分

Q5)Whatis88levelusedfor?

Q:88層有什么作用

A:條件邏輯層

Q6)Whatislevel66usedfor?

Q:66層有什么作用

A:重命名層

Q7)WhatdoestheISNUMERICclauseestablish?

Q:ISNUMERIC這個(gè)子句怎么擬定(也就是說(shuō)擬定句子的真值)

A:ISNUMERIC用在字符項(xiàng),帶符號(hào)數(shù)字,浮點(diǎn)數(shù),不帶符號(hào)數(shù)-假如目的項(xiàng)只含0~9則返回

TRUE。但是,假如待測(cè)項(xiàng)目是個(gè)帶符號(hào)數(shù),那么他就具有()-9尚有+和-

Q8)Howdoyoudefineatable/arrayinCOBOL?

A8)ARRAYS.

05ARRAY1PICX⑼OCCURS10TIMES.

05ARRAY2PICX(6)OCCURS20TIMESINDEXEDBYWS-INDEX

Q:COBOL中怎么建表/數(shù)組

A:如上.

Q:OCCURS子句能用在第一層嗎

A:不能

Q10)Whatisthedifferencebetweenindexandsubscript?-GS

Q:索引和下標(biāo)有什么區(qū)別

A:下標(biāo)可以指定數(shù)組中任意中位置的元素(只要知道其下標(biāo)),下標(biāo)只能是數(shù)字型常量或者數(shù)字

型變量(但是不能在指定的時(shí)候修改,如:A(K+1)這樣是不行的,要修改的話要在指定的外部

改,如:ADD1TOK,而索引的話是從表頭/數(shù)組頭開(kāi)始檢索(以BYN的指定檢索規(guī)律往后滾)

再者,索引只能通過(guò)PERFORM.SEARCH和SET來(lái)修改,假如要在一個(gè)表中使用SEARCH,

SEARCHALL,那這個(gè)表就要有索引(由于SEARCH,SEARCHALL的參數(shù)中指定索引,所以即使

其有很多限制還是得用它)

Qll)WhatisthedifferencebetweenSEARCHandSEARCHALL?-GS

Q:SERACH和SERACHALL有什么區(qū)別

A:SEARCH是順序查找

SERACHALL是2叉查找(相信數(shù)據(jù)結(jié)構(gòu)學(xué)過(guò)2叉樹的都不會(huì)陌生),在使用SEARCHALL前

表必須有一個(gè)遞增/遞減的KEY,并且表已經(jīng)按照其KEY值排序了,這樣才干使用SEARCHALL

Q12)WhatshouldbethesortingorderforSEARCHALL?-GS

Q:為「使用SEARCHALL,存貯順序是怎么樣的

A:他必須是遞增或者是遞減的,默認(rèn)地政。假如你想在一個(gè)遞減順序存貯的表/數(shù)組使用搜索的

話,那么當(dāng)定義表/數(shù)組的時(shí)候你應(yīng)當(dāng)加一個(gè)DESCENDINGKEY子句(這之前表要已經(jīng)按指定的順

序排序了)

Q14)Myprogramhasanarraydefinedtohave10items.Duetoabug,Ifindthatevenifthe

programaccessthe

11thiteminthisarray,theprogramdoesnotabend.Whatiswrongwithit?

A:必須使用編譯器的一個(gè)選項(xiàng)SSRANGE,假如你想檢杳數(shù)組的超界問(wèn)題.默認(rèn)是NOSSRANGE

Q18)WhatistheuseofEVALUATEstatement?-GS

Q:EVALUATE語(yǔ)句有什么作用

A:EVALUATE就象個(gè)CASE語(yǔ)句(多重開(kāi)關(guān)語(yǔ)句,學(xué)過(guò)C的總知道吧),不同點(diǎn)在于EVALUATE

不需要BREAK,一旦匹配就跳出EVALUATE語(yǔ)句了

Q20)HowdoyoucomeoutofanEVALUATEstatement?-GS

Q:怎么跳出一條EVALUATE語(yǔ)句

A:象18題目說(shuō)的那樣,一旦匹配了某一個(gè)“WHEN"語(yǔ)句就自動(dòng)跳出了,不需要什么額外的代碼

來(lái)跳出

Q21)InanEVALUATEstatement,canIgiveacomplexconditiononawhenclause?

Q:在一個(gè)EVALUATE語(yǔ)句的某個(gè)WHEN分支中能否再插入復(fù)雜的情況(也就是嵌套)

A:當(dāng)然可以,當(dāng)多個(gè)參數(shù)作為控制變量的時(shí)候1個(gè)WHEN內(nèi)部可以嵌套更多的情況

Q22)Whatisascopeterminator?Giveexamples.

Q:什么是結(jié)束終止符

A:結(jié)束終止符是搭配一些范圍指令的,也就是標(biāo)記一些范圍指令的結(jié)束。如:EVALUATE,END-

EVALUATE;IF.END-IF假如沒(méi)有該結(jié)束符,該條語(yǔ)句將終止不了

Q23)Howdoyoudoin-linePERFORM?-GS

Q:怎么使用內(nèi)嵌的PERFORM

A:PERFORM...<UNTIL>...

<sentences>

END-PERFORM

所謂內(nèi)嵌也就是PERFORM被嵌在某些比如循環(huán)語(yǔ)句中擔(dān)當(dāng)執(zhí)行主體,同時(shí)通過(guò)UNTIL來(lái)指定結(jié)束

鑒定

Q24)Whenwouldyouusein-lineperform?

Q:什么時(shí)候使用內(nèi)嵌式PERFORM

A:當(dāng)該段PERFORM的內(nèi)容不被其他段用到,只在某些局部代碼中(當(dāng)然PERFORM的主體所用到

的參數(shù)也都是局部的,例如循環(huán))使用,假如PERFORM主體的代碼是一般的(用到了別的程序段

的變量),還是使用PERFORMParaname這樣的形式比較好(也就是相對(duì)與內(nèi)于PERFORM的外部

PERFORM)?

Q25)WhatisthedifferencebetweenCONTINUE&NEXTSENTENCE?

Q:CONTINUE和NEXTSENTENCE有什么不同

A:兩者比較相似,都是將程序控制權(quán)交給下一句,但是用NEXTSENTENCE的時(shí)候,只有當(dāng)碰到

句結(jié)束符(就是句末的才會(huì)將執(zhí)行下句

這道題我用了2個(gè)例子測(cè)試了一下:

1:IFTEST-NUMERIC>0

THENNEXTSENTENCE

END-IF

DISPLAY'LINE1'DISPLAYUNE2'.DISPLAYLINE3'.(請(qǐng)注意代碼中的號(hào))

結(jié)果輸出:LINE3

2:IFTEST-NUMERIC>0

THENCONTINUE

END-IF

DISPLAY'LINEI'DISPLAY'LINE2'.DISPLAY'LINE3'.

結(jié)果輸出:LINE1

LINE2

LINE3

相信已經(jīng)區(qū)別已經(jīng)比較明顯了,NEXTSENTENCE是靠句末的結(jié)束符(也就是、')來(lái)判斷下一

句的,而CONTINUE是通過(guò)句頭的保存字(這例中是DISPLAY)來(lái)判斷下一句的

Q26)WhatdoesEXITdo?

Q:EXIT語(yǔ)句有什么作用

A:什么都不做,假如用到的話,肯定是作為一段的唯一的一句話,注意:這里不是子程序中用的

EXITPROGRAME

Q27)CanIredefineanX(100)fieldwithafieldofX(200)?

Q:能不能把X(100)的區(qū)域重定義成X(200)

A:可以,重定義只是相稱于把兩個(gè)區(qū)域的首地址放在一起,從上面這個(gè)例子也很好理解

A28)CanIredefineanX(200)fieldwithafieldofX(lOO)?

Q:能不能把X(200)的區(qū)域重定義成X(100)

A:可以,因素同上

Q32)HowissignstoredinPackedDecimalfieldsandZonedDecimalfields?

Q32)PackedDecimalfields:Signisstoredasahexvalueinthelastnibble(4bits)ofthestorage.

ZonedDecimalfields:Asadefault,signisoverpunchedwiththenumericvaluestoredinthe

lastbite.

Q:在內(nèi)部十進(jìn)制區(qū)域和顯示十進(jìn)制區(qū)域符號(hào)是怎么存貯的

A:內(nèi)部十進(jìn)制是?個(gè)數(shù)字占4位(半字節(jié)),內(nèi)存中用16進(jìn)制來(lái)存,最后在追加4位作為符號(hào),如-

4=01001101(末尾的1101表達(dá)負(fù),1100表達(dá)正),而我們用于顯示的十進(jìn)制,符號(hào)并不占空間,只

是在最后一位上標(biāo)記一下

Q33)Howissignstoredinacomp-3field?-GS

Q:COMPS區(qū)怎么存儲(chǔ)符號(hào)

A:COMPS采用的是內(nèi)部十進(jìn)制的存儲(chǔ)方式,所謂內(nèi)部十進(jìn)制就是壓縮式的外部十進(jìn)制存儲(chǔ)方

式,上題講過(guò)外部十進(jìn)制每個(gè)數(shù)值都用I個(gè)字節(jié)存儲(chǔ),但前4位是存符號(hào)的,這樣比較浪費(fèi)存儲(chǔ)空

間,所以內(nèi)部十進(jìn)制的存儲(chǔ)方式就用半個(gè)字節(jié)(4位)存儲(chǔ)一個(gè)數(shù)字,在最后增長(zhǎng)4位作為符號(hào)

(1100(C)為正,11()1(D)為負(fù))

Q34)HowissignstoredinaCOMPfield?-GS

Q:COMP區(qū)怎么存儲(chǔ)符號(hào)

A:COMP是采用定點(diǎn)二進(jìn)制的方式存儲(chǔ)數(shù)據(jù),也就是將一個(gè)十進(jìn)制的數(shù)值轉(zhuǎn)化成二進(jìn)制再進(jìn)行存

儲(chǔ),由于機(jī)器存儲(chǔ)的形式也是二進(jìn)制,所以定點(diǎn)二進(jìn)制的讀取是最快速的,由于COMP型的數(shù)

據(jù)是用做計(jì)算(也就是說(shuō)不用再轉(zhuǎn)化成十進(jìn)制打印),使用定點(diǎn)二進(jìn)制將會(huì)非常高效。這樣的

存儲(chǔ)方式符號(hào)是保存在最高有效果位上,in:10=(00001010)2,

-10=(0(X)11010)2

Q35)WhatisthedifferencebetweenCOMP&COMP-3?

Q:COMP和COMP-3什么區(qū)別

A:這之前講過(guò)了,COMP采用定點(diǎn)二進(jìn)制存儲(chǔ),COMP-3采用內(nèi)部十進(jìn)制存儲(chǔ)

Q36)WhatisCOMP-1?COMP-2?

Q:COMP-1是什么?什么是COMP-2

A:其實(shí)之所以定義計(jì)算型數(shù)據(jù)(COMP~COMP-3)以區(qū)別DISPLAY(能計(jì)算,但是要用于打卬)

是為了考慮效率,由于大家知道文獻(xiàn)導(dǎo)入(也就是USER使用的數(shù)據(jù))一般是十進(jìn)制的,而機(jī)器存

儲(chǔ)都是二進(jìn)制,那么當(dāng)定義的數(shù)據(jù)光用來(lái)計(jì)算不用打印,處在效率考慮會(huì)把它定義成COMP型,當(dāng)

然就會(huì)衍生出幾類COMP以適應(yīng)不用的數(shù)據(jù)類型的存儲(chǔ)。很明顯,這里COMP-1就是采用內(nèi)部短浮

點(diǎn)(4個(gè)字節(jié)表達(dá)一個(gè)數(shù),8位指數(shù)部分,24位表達(dá)數(shù)字部分),COMP-2用內(nèi)部長(zhǎng)浮點(diǎn)型(8個(gè)字節(jié)

表達(dá)一個(gè)書,16位指數(shù)部分,48位表達(dá)數(shù)字部分)以適應(yīng)浮點(diǎn)數(shù)據(jù)的存儲(chǔ),長(zhǎng)浮點(diǎn)精確度更高.

Q37)HowdoyoudefineavariableofCOMP-1?COMP-2?

Q:怎么定義一個(gè)COMP-1型?COMP-2型

A:不要用PICTURE描述,由了是擬定分派多少內(nèi)存的,直接用USAGE,如01WS-VARUSAGE

COMP-1

Q38)HowmanybytesdoesaS9(7)COMP-3fieldoccupy?

Q:一個(gè)S9(7)的COMP-3型占用多少字節(jié)?

A:占用4字節(jié)。COMP-3用內(nèi)部十進(jìn)制存儲(chǔ),S9(7)中的S是要占空間的,符號(hào)占4位,7個(gè)數(shù)字,

每個(gè)4位(半個(gè)字節(jié)),所以是(4+7*4)/8=4字節(jié)(字節(jié)和位的比例不要搞錯(cuò)了哦)

Q39)HowmanybytesdoesaS9(7)SIGNTRAILINGSEPARATEfieldoccupy?

Q:一個(gè)S9(7)SIGNTRAILINGSEPARATE區(qū)域占多少字節(jié)

A:這里是每個(gè)符號(hào)單獨(dú)分派空間(也就是沒(méi)個(gè)數(shù)值用1個(gè)字節(jié)表達(dá),就象最常用的DISPLAY型的

分派方式),算上S的空間,所以是7+1=8字節(jié)。一般情況省略的SIGN子句都是隱含SIGNIS

TRAILING的

Q40)HowmanybyteswillaS9(8)COMPfieldoccupy?

Q:一個(gè)S9(8)COMP區(qū)域占多少字節(jié)

A:假如之前關(guān)于COMP的解釋聽(tīng)懂了的話,那很顯然就是4字節(jié)了(定點(diǎn)二進(jìn)制用2字節(jié)存儲(chǔ)1~4,

4字節(jié)存儲(chǔ)5~9,……類推,你可以自己推下),假如這塊還不懂的可以問(wèn)我或者查下書

Q41)WhatisthemaximumvaluethatcanbestoredinS9(8)COMP?

Q41)99999999

Q:S9(8)COMP型最多存儲(chǔ)的最大值是什么

A:除了8個(gè)數(shù)值外不忽略符號(hào)位

Q43)Whatisthemaximumsizeofa01leveliteminCOBOLI?inCOBOLII?

Q43)InCOBOLII:16777215

Q:COBOL1定義的01層最大大小是多少,COBOLH中?

A:COBOLII中是16777215,沒(méi)什么說(shuō)的,自己翻書

Q44)HowdoyoureferencethefollowingfileformatsfromCOBOLprograms:

Q:COBOL中如何涉及(引用調(diào)用)以卜這些文獻(xiàn)

A:文獻(xiàn)類型這里是COBOL在文獻(xiàn)控制區(qū)中的文獻(xiàn)組織訪問(wèn)形式(SELECT下面那句)這

里最佳翻翻書或者事例代碼反復(fù)記憶

定長(zhǎng)文獻(xiàn)用ORGANISATIONISSEQUENTIAL.UseRECORDING

MODEISF,BLOCKCONTAINS0

固定但是不是以塊的組織形式用ORGANISATIONISSEQUENTIAL.UseRECORDING

MODEISF,不要使用BLOCKCONTAINS(由于不是以塊

的組織形式)

變長(zhǎng)文獻(xiàn)用ORGANISATIONISSEQUENTIAL.UseRECORDING

MODEISV,BLOCK,CONTAINS0.在之后的文獻(xiàn)區(qū)中

的文獻(xiàn)描述FD中不要編碼記錄長(zhǎng)度為4字節(jié)

變長(zhǎng)但是不是以塊的組織形式用ORGANISATIONISSEQUENTIAL.UseRECORDING

MODEISV,同樣不要使用BLOCKCONTAINS也不要編

碼記錄長(zhǎng)度為4字節(jié)(因素同上)

ESDSVSAM文獻(xiàn)fflORGANISATIONISSEQUENTIAL

KSDSVSAM文獻(xiàn)fflORGANISATIONISINDEXED,RECORDKEYIS,

ALTERNATERECORD

作為關(guān)鍵字的RRDS文獻(xiàn)fflORGANISATIONISRELATIVE,RELATIVEKEYIS

打印文獻(xiàn)用ORGANISATIONISSEQUENTIAL.UseRECORDING

MODEISF,BLOCKCONTAINS0.(UseRECFM=FBAin

JCLDCB)

Q45)WhataredifferentfileOPENmodesavailableinCOBOL?

Q:COBOL中有哪些OPEN方式

A:有INPUT,OUTPUT,I-O,EXTEND這些OPEN模式

Q46)WhatisthemodeinwhichyouwillOPENafileforwriting?-GS

Q:當(dāng)你想OPEN一個(gè)文獻(xiàn)用來(lái)寫入的時(shí)候,這屬于什么方式

A:OUTPUT,EXTEND方式

Q48)CanyouREWRITEarecordinanESDSfile?CanyouDELETEarecordfromit?

Q:能否REWRITE(重寫)一個(gè)ESDS文獻(xiàn)?能否刪除ESDS中的一條記錄?

A:可以重寫(但是記錄長(zhǎng)度必須相同),但是不能刪除

Q51)WhatisStaticandDynamiclinking?

Q:什么是靜態(tài)和動(dòng)態(tài)連接

A:在靜態(tài)連接中,被調(diào)用的子程序是連接到調(diào)用程序,但是在動(dòng)態(tài)連接中,被調(diào)用子程序和調(diào)用

主程序的可執(zhí)行模塊是都存在的(分開(kāi)的)。你可以在連接選項(xiàng)中選擇DYNAM或者

NODYNAM(就算你選擇了NODYNAM,CALL標(biāo)記符還是回把它自動(dòng)轉(zhuǎn)換成一-個(gè)動(dòng)態(tài)調(diào)

用)。靜態(tài)子程序下次被調(diào)用時(shí)不會(huì)再處在其初始狀態(tài),除非用INITIAL初始化或者用

CANCEL,,動(dòng)態(tài)的都是以初始狀態(tài)存在的。

Q53)Whatcompileroptionwouldyouusefordynamiclinking?

Q:假如要?jiǎng)討B(tài)連接那么要用什么編譯選項(xiàng)

A:DYNAM

Q62)WhatisaninlinePERFORM?Whenwouldyouuseit?Anythingelsetosayaboutit?

Q:PERFORM行有什么作用?什么時(shí)候使用?簡(jiǎn)樸介紹下它

A:PERFORM和END-PERFORM配套使用,所有COBOLII程序語(yǔ)句都在這兩關(guān)鍵字之間。這和

COBOL的PERFORM或者PERFORMTHRU一段是同樣的意思。在PERFORM的語(yǔ)句中只要沒(méi)

有內(nèi)部GOTO就一直執(zhí)行直到碰到EXIT。在行PERFORM語(yǔ)句中為了可讀型不能超過(guò)一頁(yè)的

長(zhǎng)度,他經(jīng)常會(huì)引用到其他PERFORM段

Q68)Whatisthelinkagesection?

Q:LINKAGESECTION是什么

A:“連接區(qū)”是一個(gè)被調(diào)用程序連接或者映射到調(diào)用程序工作單元的程序部分。被調(diào)用程序中一

些共享項(xiàng)被定義在“連接區(qū)”中(想象下了程序,主程序是沒(méi)有連接區(qū)的)

Q71)Explainthedifferencebetweenaninternalandanexternalsort,theprosandcons,internal

sortsyntaxetc.

Q:解釋下內(nèi)部排序和外部排序的區(qū)別和內(nèi)部排序的語(yǔ)法

A:外部排序不是COBOL,他是通過(guò)JCL和PGM=SORT的形式排序的。這種方式不引用代碼卻容易

理解。內(nèi)部排序用兩中語(yǔ)法:1)USING,GIVING,這種方式比得上外邊排序,不用額外的

文獻(xiàn)解決。2)INPUTPROCEDURE,OUTPUTPROCEDURE,這種方式合用用文獻(xiàn)操作,并

且在排序前后允許數(shù)據(jù)操作

Q72)Whatisthedifferencebetweencompandconip-3usage?ExplainotherCOBOLusage's.

Q:COMP和COMP-3有■什么區(qū)別?解釋下COBOL中的USAGE語(yǔ)句

A:COMP用的是定點(diǎn)二進(jìn)制,COMP-3用的是內(nèi)部十進(jìn)制(壓縮)。其他的不同USAGE語(yǔ)句就是

二進(jìn)制和DISPLAY。DISPLAY是默認(rèn)情況。

Q73)Whenisascopeterminatormandatory?

Q:什么時(shí)候范圍終止符強(qiáng)制執(zhí)行

A:范圍終止符在行內(nèi)PERFORM和EVALUATE語(yǔ)句中強(qiáng)制執(zhí)行。為了程序的可讀性,編碼規(guī)范都

建設(shè)寫上這兩個(gè)終止符。(也就是說(shuō)PERFORM和EVALUATE就算沒(méi)有"END-PERFORM和

END-EVALUATE也會(huì)強(qiáng)制終止,但是為了可讀性還是建議把END-PERFORM和END-

EVALUATE寫上)

Q75)InanEVALUTEstatementistheorderoftheWHENclausessignificant?

Q:在EVALUATE語(yǔ)句中,WHEN子句的順序是否故意義

A:當(dāng)然故意義。EXALUATION通過(guò)WHEN子句從頭到尾的執(zhí)行順序會(huì)決定結(jié)果。

Q76)Whatisthedefaultvalue(s)foranINITIALIZEandwhatkeywordallowsforanoverrideof

thedefault.

Q:INITIALIZE默認(rèn)是值是什么?替代默認(rèn)值的關(guān)鍵字是什么

A:默認(rèn)情況下INITIALIZE將空格移到字符區(qū),將零移到數(shù)字區(qū)。REPLACING作為替代默認(rèn)值的

關(guān)鍵保存字

Q81)WhatwillhappenifyoucodeGOBACKinsteadofSTOPRUNinastandaloneCOBOL

programi.e.a

programwhichisnotcallinganyotherprogram.

Q:在COBOL中假如你用GOBACK代替STOPRUN會(huì)發(fā)生什么,該程序沒(méi)有調(diào)用別的程序

A:當(dāng)然是會(huì)無(wú)限循環(huán)下去

Q83)WhatisthedifferencebetweenaDYNAMICandSTATICcallinCOBOL.

Q:COBOL中動(dòng)態(tài)動(dòng)用和靜態(tài)調(diào)用有什么區(qū)別

A:所有被調(diào)用的模塊都不能單獨(dú)跑除非這些模塊規(guī)定程序通過(guò)連接區(qū)傳遞變量給他們。動(dòng)態(tài)調(diào)用

的模塊就是那些在連接編輯時(shí)(LEWL)沒(méi)有被調(diào)用程序限定的模塊,這些模塊在程序庫(kù)

(JOBLIB,STEPLIB)中被加載以連接JOB。要?jiǎng)討B(tài)調(diào)用一個(gè)模塊,DYNAM的編譯器選項(xiàng)

要被選中,此外,連接編輯器不能是可執(zhí)行的,由于他會(huì)要你解決所有的模塊。一個(gè)靜態(tài)調(diào)

用在連接編輯時(shí)被調(diào)用程序限制,所以變成了可執(zhí)行模塊的一部分。

Q85)WhatisthepurposeofIdentificationDivision?

A85)Documentation.

Q:寫標(biāo)記區(qū)是什么目的

A:標(biāo)記一些作者等信息,便于文檔管理

Q86)WhatisthedifferencebetweenPIC9.99and9v99?

Q:PIC9.99和9V99有什么區(qū)別

A:PIC9.99是一塊占用了4個(gè)位置的區(qū)域,由于涉及了一個(gè)小數(shù)點(diǎn),但是9V99只占用3個(gè)位置,由

于V不占位

Q87)whatisPic9v99Indicates?

Q:PIC9V99指什么

A:PIC9V99指一段具有一個(gè)不占位置的小數(shù)點(diǎn)的占三個(gè)位置的數(shù)值區(qū)域。小數(shù)點(diǎn)位置在第一個(gè)位

置之后,V表達(dá)一個(gè)隱含的小數(shù)點(diǎn)。

Q90)WhatisthedifferencebetweenSEARCHandSEARCHALL?Whatismoreefficient?

Q:SEARCH和SEARCHALL有什么區(qū)別?哪個(gè)更高效

A:SEARCH是順序查找,從頭到尾。SEARCH是二叉搜索。超過(guò)70個(gè)數(shù)據(jù)項(xiàng)的時(shí)候SEARCHALL

效率更高

Q95)GivesomeadvantagesofREDEFINESclause.

Q:說(shuō)明REDEFINES子句的優(yōu)點(diǎn)

A:1:你能用另一個(gè)PICTURE(另一種類型)重定義之前的一種類型,并且以相同的起點(diǎn)

2:在工作單元區(qū)中能通過(guò)REDEFINES初始化變量

3:可以通過(guò)重定義一個(gè)變量而重定義很多子變量。(這個(gè)來(lái)解決Y2023問(wèn)題很方便)

PS:在多維表的元素初始化中也用到REDEFINE,但是這和第3點(diǎn)作用類似

Q96)Whatisthedifferencebetweenstaticcall&Dynamiccall

Q:靜態(tài)調(diào)用和動(dòng)態(tài)調(diào)用有什么區(qū)別

A:在靜態(tài)調(diào)用的情況F,被調(diào)用的程序是單獨(dú)的一段程序,他是一段可執(zhí)行的程序。在跑程序的

時(shí)候可以調(diào)用它。而關(guān)于動(dòng)態(tài)調(diào)用,被調(diào)用程序并不是一段可執(zhí)行程序,但能通過(guò)調(diào)用程序

而執(zhí)行

Q99)WhydowecodeS9(4)comp.Inspiteofknowingcomp-3willoccupylessspace.

Q:既然已經(jīng)知道COMP-3會(huì)占用較少的空間,為什么還要編碼S9(4)COMP

A:這里S9(4)COMP是個(gè)小整數(shù),所以2個(gè)數(shù)值相稱于一個(gè)字節(jié),所以一共占用2字節(jié)。假如是S9

(4)COMP-3的情況就是1個(gè)數(shù)值占半個(gè)字節(jié)。4個(gè)數(shù)值占用2個(gè)字節(jié),符號(hào)占半個(gè)字節(jié),這

么算一共是2個(gè)半字節(jié),但是系統(tǒng)存儲(chǔ)的最小單位是字節(jié),所以一共占3個(gè)字節(jié)

雖然COM

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論