2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)試卷號(hào)45_第1頁(yè)
2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)試卷號(hào)45_第2頁(yè)
2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)試卷號(hào)45_第3頁(yè)
2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)試卷號(hào)45_第4頁(yè)
2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)試卷號(hào)45_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

1、住在富人區(qū)的她2022年職業(yè)考證-軟考-程序員考試名師押題精選卷I(帶答案詳解)(圖片可根據(jù)實(shí)際調(diào)整大?。╊}型12345總分得分一.綜合題(共50題)1.單選題衡量系統(tǒng)可靠性的指標(biāo)是( )。 問題1選項(xiàng)A.周轉(zhuǎn)時(shí)間和故障率B.周轉(zhuǎn)時(shí)間和吞吐量C.平均無(wú)故障時(shí)間MTBF和故障率D.平均無(wú)故障時(shí)間MTBF和吞吐量【答案】C【解析】本題考查計(jì)算機(jī)系統(tǒng)性能方面的基礎(chǔ)知識(shí)。計(jì)算機(jī)系統(tǒng)的可靠性是指從它開始運(yùn)行(t=0)到某時(shí)刻t這段時(shí)間內(nèi)能正常運(yùn)行的概率,用R(t)表示。所謂失效率,是指單位時(shí)間內(nèi)失效的元件數(shù)與元件總數(shù)的比例, 用表示。兩次故障之間系統(tǒng)能正常 工作的時(shí)間的平均值稱為平均無(wú)故障時(shí)間(MTBF

2、),MTBF=1/。衡量系統(tǒng)可靠性的指標(biāo)是平均無(wú)故障時(shí)間MTBF和故障率。2.單選題設(shè)碼長(zhǎng)為8,原碼10000000所表示的十進(jìn)制整數(shù)的值為( )。問題1選項(xiàng)A.-128B.-0C.1D.128【答案】B【解析】本題考查計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)表示的基礎(chǔ)知識(shí)。原碼、反碼和補(bǔ)碼表示是數(shù)值數(shù)據(jù)的三種基本的編碼方法,對(duì)于正數(shù),三種編碼表示是相同的,不同之處在于負(fù)數(shù)的表示。碼長(zhǎng)為8即用8位二進(jìn)制形式來(lái)表示數(shù)值,其中最左邊的位是符號(hào)位,0表示是正數(shù),1表示是負(fù)數(shù),剩余的7位表示數(shù)值部分,原碼表示的規(guī)則是直接表示出數(shù)值的絕對(duì)值。本題中10000000的最高位為1,表示是負(fù)數(shù)。數(shù)值部分為0,即絕對(duì)值為0的數(shù)值。在

3、原碼表示中,0由于符號(hào)部分不同占用00000000和10000000兩個(gè)編碼。3.單選題給出關(guān)系R(A,B,C)和S(A,B,C),R和S的函數(shù)依賴集F=AB,BC。若R和S進(jìn)行自然連接運(yùn)算,則結(jié)果集有( )個(gè)屬性。關(guān)系R和S( )。問題1選項(xiàng)A.3B.4C.5D.6問題2選項(xiàng)A.不存在傳遞依賴B.存在傳遞依賴ABC.存在傳遞依賴ACD.存在傳遞依賴BC【答案】第1題:A第2題:C【解析】本題考查數(shù)據(jù)庫(kù)中關(guān)系代數(shù)運(yùn)算方面的基礎(chǔ)知識(shí)。當(dāng)R和S進(jìn)行自然連接運(yùn)算時(shí),結(jié)果集會(huì)去掉所有重復(fù)屬性列,所以結(jié)果集有3個(gè)屬性。根據(jù)題干“R和S的函數(shù)依賴集F=AB,BC”以及Armstrong公理系統(tǒng)的傳遞律規(guī)則

4、(傳遞律:若XY 和 YZ在R 上成立,則X Z 在R 上成立。)可知,函數(shù)依賴“AC”為F所蘊(yùn)涵。4.單選題在( )中,要按照確定的計(jì)算關(guān)系來(lái)找到給定關(guān)鍵碼的存儲(chǔ)位置。問題1選項(xiàng)A.順序表B.哈希表C.單向鏈表D.雙向鏈表【答案】B【解析】本題考查數(shù)據(jù)結(jié)構(gòu)哈希查找基礎(chǔ)知識(shí)。在哈希表(散列表)中,通過把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪問記錄,以加快查找的速度。這個(gè)映射函數(shù)叫作散列函數(shù),存放記錄的數(shù)組叫作哈希表(散列表)。哈希查找的操作步驟:(1)用給定的哈希函數(shù)構(gòu)造哈希表;(2)根據(jù)選擇的沖突處理方法解決地址沖突;(3)在哈希表的基礎(chǔ)上執(zhí)行哈希查找。5.單選題對(duì)關(guān)鍵碼序列12,15,18,23,

5、29,34,56,71,82進(jìn)行二分查找(折半查找), 若要查找關(guān)鍵碼71,則( )。問題1選項(xiàng)A.需依次與29、56、71進(jìn)行比較B.僅需與71進(jìn)行比較C.需依次與29、34、71進(jìn)行比較D.僅需與29進(jìn)行比較【答案】A【解析】本題考查數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)知識(shí)。在有序順序表中進(jìn)行二分查找時(shí),總是先與表中間位置的元素進(jìn)行比較,若相等,則查找成功結(jié)束,若比中間元素小,則進(jìn)一步到前半?yún)^(qū)(由不大于中間元素者構(gòu)成)進(jìn)行二分查找,否則到后半?yún)^(qū)(由不小于中間元素者構(gòu)成)繼續(xù)進(jìn)行二分查找。二分法查找(折半查找)的基本思想是:(設(shè)Rlow,high是當(dāng)前的查找區(qū))(1)確定該區(qū)間的中點(diǎn)位置:mid=(low+high

6、)/2;(2)將待查的k值與Rmid.key比較,若相等,則查找成功并返回此位置,否則需確定新的查找區(qū)間,繼續(xù)二分查找,具體方法如下。若Rmid.keyk,則由表的有序性可知Rmid,n.key均大于k,因此若表中存在關(guān)鍵字等于k的結(jié)點(diǎn),則該結(jié)點(diǎn)必定是在位置mid左邊的子表Rlow,mid1中。因此,新的查找區(qū)間是左子表Rlow,high,其中high=mid1。若Rmid.keyk,則要查找的k必在mid的右子表Rmid+1,high中,即新的查找區(qū)間是右子表Rlow,high,其中l(wèi)ow=mid+1。若Rmid.key=k,則查找成功,算法結(jié)束。(3)下一次查找是針對(duì)新的查找區(qū)間進(jìn)行,重復(fù)

7、步驟(1)和(2)。(4)在查找過程中,low逐步增加,而high逐步減少。如果highAk的情況,此時(shí),第二個(gè)判斷為Y,會(huì)執(zhí)行語(yǔ)句k=j,而選項(xiàng)D給出的測(cè)試用例在第二個(gè)判斷均為N,不會(huì)執(zhí)行k=j這條語(yǔ)句。32.案例題閱讀以下說(shuō)明和流程圖,填寫流程圖中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。【說(shuō)明】下面流程圖所示算法的功能是:在一個(gè)二進(jìn)制位串中,求出連續(xù)的“1”構(gòu)成的所有子串的最大長(zhǎng)度M。例如,對(duì)于二進(jìn)制位串0100111011110,M=4。該算法中,將長(zhǎng)度為n的二進(jìn)制位串的各位數(shù)字,按照從左到右的順序依次存放在數(shù)組A1.n。在對(duì)各個(gè)二進(jìn)制位掃描的過程中,變量L動(dòng)態(tài)地記錄連續(xù)“1”的個(gè)數(shù)?!玖鞒?/p>

8、圖】注:循環(huán)開始框內(nèi)應(yīng)給出循環(huán)控制變量的初值和終值,默認(rèn)遞增值為1。格式為:循環(huán)控制變量=初值,終值 ,遞增值【答案】(1) 0(2) L+1或等效形式(3) 0L或等效形式(4) LM或LM或等效形式(5) M【解析】本流程圖采用的算法是對(duì)二進(jìn)制位串從左到右進(jìn)行逐位判斷,并累計(jì)連續(xù)遇到數(shù)字1的個(gè)數(shù)L,再以動(dòng)態(tài)地得到當(dāng)前L的最大值M。初始時(shí),L和M都應(yīng)該是0,故初值為0,因此,流程圖的空(1)處應(yīng)填0。接著開始對(duì)i=1,2,n循環(huán),依次判斷二進(jìn)制數(shù)位Ai是否為1。如果Ai=1,就應(yīng)該將L增1,即執(zhí)行L+1L,因此流程圖的空(2)處應(yīng)填L+1;如果Ai=0,則應(yīng)該將數(shù)字1的累計(jì)長(zhǎng)度L清0,重新開

9、始累計(jì),因此,流程圖的空(3)處應(yīng)填0L。當(dāng)遇到數(shù)字1進(jìn)行累計(jì)L后,應(yīng)將L與現(xiàn)行的擂臺(tái)值M進(jìn)行比較。如果LM,則顯然應(yīng)該以新的L值代替原來(lái)的M值,即執(zhí)行LM;如果LM或LM (填前者更好),而空(5)處應(yīng)填M。33.單選題以下關(guān)于數(shù)據(jù)流圖基本加工的敘述中,錯(cuò)誤的是( )。問題1選項(xiàng)A.對(duì)數(shù)據(jù)流圖中的每一個(gè)基本加工,應(yīng)該對(duì)應(yīng)一個(gè)加工規(guī)格說(shuō)明B.加工規(guī)格說(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流轉(zhuǎn)換為輸出數(shù)據(jù)流的加工規(guī)則C.加工規(guī)格說(shuō)明必須描述如何實(shí)現(xiàn)加工的細(xì)節(jié)D.加工規(guī)格說(shuō)明中包含的信息應(yīng)是充足的、完備的和有用的【答案】C【解析】本題考查軟件工程結(jié)構(gòu)化分析的基礎(chǔ)知識(shí)。數(shù)據(jù)流圖是結(jié)構(gòu)化分析的核心模型,描

10、述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能),用于功能建模。進(jìn)行軟件系統(tǒng)開發(fā)時(shí),一般會(huì)建立分層的數(shù)據(jù)流圖,不斷細(xì)化對(duì)系統(tǒng)需求的理解。數(shù)據(jù)流圖的基本要素包括外部實(shí)體、加工、數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)。通過對(duì)加工的分解得到分級(jí)式數(shù)據(jù)流圖,直到加工變成基本加工。此時(shí)應(yīng)該對(duì)每個(gè)基本加工提供一個(gè)加工規(guī)格說(shuō)明,描述基本加工如何把輸入數(shù)據(jù)流轉(zhuǎn)換為輸出數(shù)據(jù)流的加工規(guī)則。 在說(shuō)明中,信息應(yīng)是充足的、完備的和有用的。但是加工規(guī)格說(shuō)明不是算法實(shí)現(xiàn),因此不需要描述如何實(shí)現(xiàn)加工的細(xì)節(jié)。34.單選題某企業(yè)擬開發(fā)一套大數(shù)據(jù)可視化平臺(tái),其系統(tǒng)架構(gòu)包括:集成與管理層、數(shù)據(jù)可視化層、數(shù)據(jù)分析處理層、數(shù)據(jù)訪問接

11、入層,可圖示如( )。問題1選項(xiàng)A.B.C.D.【答案】D【解析】本題考查網(wǎng)絡(luò)新技術(shù)-大數(shù)據(jù)知識(shí)。首先數(shù)據(jù)可視化層最接近用戶層,位于最上層;數(shù)據(jù)訪問接入層位于最底層,其次再是數(shù)據(jù)分析處理層。35.單選題CPU主要由運(yùn)算器、控制器組成,下列不屬于運(yùn)算器的部件是( )。問題1選項(xiàng)A.算術(shù)邏運(yùn)算單元B.程序計(jì)數(shù)器C.累加器D.狀態(tài)寄存器【答案】B【解析】CPU主要由運(yùn)算器、控制器(Control Unit,CU)、寄存器組和內(nèi)部總線組成。運(yùn)算器(ALU)主要完成算術(shù)運(yùn)算和邏輯運(yùn)算,實(shí)現(xiàn)對(duì)數(shù)據(jù)的加工與處理。包括算術(shù)和邏輯運(yùn)算單元(ALU)、累加器(AC)、狀態(tài)寄存器(PSW)、寄存器組及多路轉(zhuǎn)換器等邏

12、輯部件。控制器的主要功能是從內(nèi)存中取出指令,并指出下一條指令在內(nèi)存中的位置,將取出的指令送入指令寄存器,啟動(dòng)指令譯碼器對(duì)指令進(jìn)行分析,最后發(fā)出相應(yīng)的控制信號(hào)和定時(shí)信息,控制和協(xié)調(diào)計(jì)算機(jī)的各個(gè)部件有條不紊地工作,以完成指令所規(guī)定的操作??刂破髦饕沙绦蛴?jì)數(shù)器(PC)、 指令寄存器(IR)、 指令譯碼器、狀態(tài)寄存器(PSW)、時(shí)序產(chǎn)生器和微操作信號(hào)發(fā)生器等組成。36.單選題在電子郵件系統(tǒng)中,客戶端代理( )。問題1選項(xiàng)A.通常都使用SMTP協(xié)議發(fā)送郵件和接收郵件B.發(fā)送郵件通常使用SMTP協(xié)議,而接收郵件通常使用POP3協(xié)議C.發(fā)送郵件通常使用POP3協(xié)議,而接收郵件通常使用SMTP協(xié)議D.通常都

13、使用POP3協(xié)議發(fā)送郵件和接收郵件【答案】B【解析】本題考查網(wǎng)絡(luò)的基礎(chǔ)知識(shí)。電子郵件傳輸原理如下:發(fā)信人使用主機(jī)上的客戶端軟件編寫好郵件,同時(shí)輸入發(fā)件人、收件人地址。通過SMTP協(xié)議與所屬發(fā)送方郵件服務(wù)器建立連接,并將要發(fā)送的郵件發(fā)送到所屬發(fā)送方郵件服務(wù)器。發(fā)送方郵件服務(wù)器查看接收郵件的目標(biāo)地址,如果收件人為本郵件服務(wù)器的用戶,則將郵件保存在收件人的郵箱中。如果收件人不是本郵件服務(wù)器的用戶,則將交由發(fā)送方郵件服務(wù)器的SMTP客戶進(jìn)程處理。發(fā)送方郵件服務(wù)器的客戶進(jìn)程向收件人信箱所屬郵件服務(wù)器發(fā)出連接請(qǐng)求,確認(rèn)后,郵件按SMTP協(xié)議的要求傳輸?shù)绞占诵畔溧]件服務(wù)器。收件人信箱郵件服務(wù)器收到郵件后,

14、將郵件保存到收件人的郵箱中。當(dāng)收件 人想要查看其郵件時(shí),啟動(dòng)主機(jī)上的電子郵件應(yīng)用軟件,通過POP3取信協(xié)議進(jìn)程向收件人信箱郵件服務(wù)器發(fā)出連接請(qǐng)求。確認(rèn)后,收件人信箱郵件服務(wù)器上的POP3服務(wù)器進(jìn)程檢查該用戶郵箱,把郵箱中的郵件按POP3協(xié)議的規(guī)定傳輸?shù)绞招湃酥鳈C(jī)的POP3客戶進(jìn)程,最終交給收信人主機(jī)的電子郵件應(yīng)用軟件,供用戶查看和管理。37.單選題判定覆蓋法要求測(cè)試用例能使被測(cè)程序中每個(gè)判定表達(dá)式的每條分支都至少通過一次。若某程序的流程圖如下圖所示,則用判定覆蓋法對(duì)該程序進(jìn)行測(cè)試時(shí),至少需要設(shè)計(jì)( )個(gè)測(cè)試用例。問題1選項(xiàng)A.4B.5C.6D.8【答案】B【解析】本題考查軟件工程的基礎(chǔ)知識(shí)。上

15、述流程圖中,從begin到return result有五條路使所有的判定分支都至少通過一次:(1)b=0;(2)b為正數(shù),a為非負(fù)數(shù);(3)b為正數(shù),a為負(fù)數(shù);(4)b為非正數(shù),a為非負(fù)數(shù);(5)b為非正數(shù),a為負(fù)數(shù)。而且用例不能再少了。38.單選題As each application module is completed, it undergoes ( ) to ensure that it operates correctly and reliably.問題1選項(xiàng)A.unit testingB.integration testingC.system testingD.acceptanc

16、e testing【答案】A【解析】本題考查計(jì)算機(jī)專業(yè)英語(yǔ)知識(shí)。當(dāng)每個(gè)應(yīng)用程序模塊完成后,它將執(zhí)行(),以確保其正確、可靠地運(yùn)行。A.單元測(cè)試B.集成測(cè)試C.系統(tǒng)測(cè)試D.驗(yàn)收測(cè)試39.單選題某個(gè)不確定有限自動(dòng)機(jī)(s0為初態(tài),s3為終態(tài))如下圖所示,( )是該自動(dòng)機(jī)可識(shí)別的字符串(即從初態(tài)到終態(tài)的路徑中,所有邊上標(biāo)記的字符構(gòu)成的序列)。問題1選項(xiàng)A.baabbB.bbaabC.aababD.ababa【答案】A【解析】本題考查程序語(yǔ)言有限自動(dòng)機(jī)的基礎(chǔ)知識(shí)。有限自動(dòng)機(jī)是高級(jí)程序語(yǔ)言翻譯過程中進(jìn)行詞法分析的概念工具。對(duì)于習(xí)(字符集,本題為a,b)中的任何字符串,若有限自動(dòng)機(jī)M中存在一條從初態(tài)結(jié)點(diǎn)到某

17、一終止?fàn)顟B(tài)結(jié)點(diǎn)的路徑,且這條路徑上所有弧的標(biāo)記符連接成的字符串等于 ,則稱 可由M識(shí)別(接受或讀出)。若一個(gè)M的初態(tài)結(jié)點(diǎn)同時(shí)又是終態(tài)結(jié)點(diǎn), 則空字可由該DFA識(shí)別(或接受)。從圖示可以看出,要想到達(dá)終止?fàn)顟B(tài)結(jié)點(diǎn),結(jié)尾必須是abb字符串,因此選擇A選項(xiàng)??梢则?yàn)證下:對(duì)于baabb,存在從s0-s0-s0-s1-s2-s3(終態(tài))的識(shí)別路徑。40.單選題假設(shè)系統(tǒng)有n(n5)個(gè)并發(fā)進(jìn)程,它們競(jìng)爭(zhēng)互斥資源R。若采用PV操作,當(dāng)有3 個(gè)進(jìn)程同時(shí)申請(qǐng)資源R,而系統(tǒng)只能滿足其中1個(gè)進(jìn)程的申請(qǐng)時(shí),資源R對(duì)應(yīng)的信號(hào)量 S的值應(yīng)為( )。問題1選項(xiàng)A.-1B.-2C.-3D.0【答案】B【解析】本題考查操作系統(tǒng)中

18、信號(hào)量機(jī)制基本概念方面的基礎(chǔ)知識(shí)。根據(jù)題目敘述“若采用PV操作,當(dāng)有3個(gè)進(jìn)程分別申請(qǐng)1個(gè)資源R,系統(tǒng)只能滿足1個(gè)進(jìn)程的申請(qǐng)”,意味著有2個(gè)進(jìn)程等待資源R。按照信號(hào)量的物理意義“當(dāng)S0 時(shí),其絕對(duì)值等于等待該資源的進(jìn)程數(shù)”,故S=-2。41.單選題用戶打開某網(wǎng)站的主頁(yè)面文件index.html時(shí),看到一幅圖像X并聽到樂曲Y,則( )。問題1選項(xiàng)A.圖像X存儲(chǔ)在index.html中,樂曲Y以獨(dú)立的文件存儲(chǔ)B.樂曲Y存儲(chǔ)在index.html中,圖像X以獨(dú)立的文件存儲(chǔ)C.圖像X和樂曲Y都存儲(chǔ)在index.html中D.圖像X和樂曲Y都以獨(dú)立的文件存儲(chǔ)【答案】D【解析】本題考查網(wǎng)絡(luò)的基礎(chǔ)知識(shí)。ind

19、ex.html一般是表示網(wǎng)站首頁(yè)的文件名稱,除此以外還有defult.html或者h(yuǎn)ome.html等,還有動(dòng)態(tài)頁(yè)面結(jié)尾的.asp/.php/jsp/aspx等形式。網(wǎng)頁(yè)中的圖片和樂曲都以獨(dú)立的文件存儲(chǔ)。42.案例題閱讀以下說(shuō)明和C代碼,填寫程序中的空缺,將解答寫入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(shuō)明】某市根據(jù)每天早上5點(diǎn)測(cè)得的霧霾指數(shù)(pm2.5值)決定是否對(duì)車輛進(jìn)行限行。規(guī)則 如下:(1)限行時(shí)間為周內(nèi)(即周一到周五),周六周日不限行;(2)根據(jù)車牌號(hào)的尾號(hào)(最后1位數(shù)字)設(shè)置限行車輛(車牌號(hào)由英文字母和十進(jìn)制數(shù)字構(gòu)成,長(zhǎng)度為6位,至少包含1位數(shù)字);(3)霧霾指數(shù)低于200時(shí),不限行;(4)霧霾指數(shù)

20、在區(qū)間200,400)時(shí),周內(nèi)每天限行兩個(gè)尾號(hào)的汽車:周一限行1和6,周二限行2和7,周三限行3和8,周四限行4和9,周五限行5和0,即尾號(hào)除以5的 余數(shù)相同者在同一天限行;(5)霧霾指數(shù)大于等于400時(shí),周內(nèi)每天限行五個(gè)尾號(hào)的汽車:周一、周三和周五限行1,3,5,7,9,周二和周四限行0,2,4,6,8,即尾號(hào)除以2的余數(shù)相同者在同一天限行;下面程序運(yùn)行時(shí),輸入霧霾指數(shù)、星期(數(shù)字1表示星期一,數(shù)字2表示星期二, 數(shù)字7表示星期日)和車牌號(hào),輸出該車牌號(hào)是否限行的信息?!綜代碼】#include#define PM25_L1 200#define PM25_L2 400typedef enu

21、m YES,NO MARKTAG;int isDigit(char ch)/判斷ch是否為十進(jìn)制數(shù)字字符,是則返回1,否則返回0 return (ch=0 & chint isMatched(int weekday, int t, int d) /判斷是否符合限行規(guī)則,是則返回1,否則返回0 return (weekday%d = t%d); void proc(int pm25, int weekday, char *licence) int i,lastd; if (weekday = 6 | weekday = 7 | (1) ) prt_msg(licence, NO); else f

22、or( i=5; i=0; i- ) if (isDigit(licencei) lastd= (2) ; /獲取車牌號(hào)的尾號(hào) break; if(pm25= PM25_L2 ) /限行5個(gè)尾號(hào)的汽車 if (isMatched( (3) ) prt_msg(licence, YES); else prt_msg(licence, NO); else /限行2個(gè)尾號(hào)的汽車 if (isMatched( (4) ) prt_msg(licence, YES); else prt_msg(licence, NO); int main() int weekday=0, pm25=0; char li

23、cence7; scanf(%d %d %s,&pm25, &weekday, licence); /輸入數(shù)據(jù)的有效性檢測(cè)略,下面假設(shè)輸入數(shù)據(jù)有效、正確 proc( (5) ); return 0;【答案】(1)pm25(1)表示什么時(shí)候不限行,按照題意,周六周日不限行,霧霾指數(shù)低于200以下也不限行;所以這里填pm25200或pm25name = name; this-num = num; string toString( ) return this-getType( ) + cardname = + name + ,num = + num + ; ) void pay(int cents)

24、 coutexecuteTransaction(cents); protected: virtual string getType( )=0; virtual void (1) =0:;class CreditCard (2) public: CreditCard(stringname, stringnum) (3) protected: string getType( ) return CREDIT ; void executeTransaction(int cents) coutclass Bill /包含所有購(gòu)買商品的賬單private: vector items; /包含物品的 vec

25、torpublic: void add(Item* item) items.push_back(item); int getTotalPrice( ) /*計(jì)算所有item的總價(jià)格,代碼略*/ void pay(PaymentMethod* paymentMethod) /用指定的支付方式完成支付 (4) (getTotalPrice( ); ;class PaymentSystempublic: void pay( ) Bill* bill = new Bill( ); Item* item1= new Item1234,10); Item* item2 = new Item(5678,40

26、); bill-add(item1); bill-add(item2); /將物品添加到賬單中 (5) (new CreditCard(LI SI, 98765432101); /信用卡支付 ;Intmain( ) (6) = new PaymentSystem( ); payment-pay( ); return 0;【答案】(1)executeTransaction(int cents)(2):public Card(3):Card(name,num)(4)paymentMethod-pay(5)bill-pay(6)PaymentSystem *payment【解析】(1)定義虛方法,在

27、子類中實(shí)現(xiàn),包含getType()和executeTransaction(int cents)兩個(gè)。(2)CreditCard繼承Card,所以這里填繼承,用::public Card。(3)CreditCard內(nèi)有構(gòu)造方法,并將方法內(nèi)的參數(shù)傳遞給父類的私有成員,填 :Card(name,num)。(4)利用paymentMethod對(duì)象調(diào)用pay方法,并傳入具體價(jià)格getTotalPrice,這里填paymentMethod-pay。(5)調(diào)用bill的pay方法,bill-pay。(6)通過PaymentSystem *payment=new PaymentSystem進(jìn)行創(chuàng)建對(duì)象指針。4

28、6.案例題閱讀下列說(shuō)明和C+代碼,填寫代碼中的空缺,將解答寫入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(shuō)明】球類比賽記分系統(tǒng)中,每場(chǎng)有兩支球隊(duì)(Team)進(jìn)行比賽(Game),分別記錄各自的得分。圖6-1所示為記分系統(tǒng)的類圖。【C+代碼】【答案】(1) int goals或int goals= 0(2)this-name(3)goals+或+goals或等價(jià)表示(4)Team*(5)new Game(t1, t2)【解析】本題考查考生應(yīng)用C+語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力,涉及類、對(duì)象、函數(shù)的定義和相關(guān)操作。要求考生根據(jù)給出的案例和代碼說(shuō)明,閱讀并完成程序填空。本題中涉及比賽和球隊(duì)。根據(jù)說(shuō)明進(jìn)行設(shè)計(jì),題目給出了類圖(圖6

29、-1類圖所示)。圖中類Game和Team之間是聚合關(guān)系。Game類有兩個(gè)public的函數(shù):getResults() 和incrementGoal:分別表示獲取比賽結(jié)果和某支球隊(duì)進(jìn)1球后增加比分;private屬性就是參加比賽的兩支球隊(duì)。Team類中有3個(gè)public函數(shù),分別為本球隊(duì)進(jìn)1球后增加得分、獲得本隊(duì)得分和獲得球隊(duì)名稱;private的屬性為球隊(duì)名稱和得分。球隊(duì)名采用string類型,得分信息從上下文可知是goals,用int類型。在Team對(duì)象創(chuàng)建時(shí),初始化球隊(duì)名稱和得分。C+11標(biāo)準(zhǔn)之后,對(duì)象的屬性定義時(shí)才可顯式初始化;對(duì)象的屬性name類型為string,需要在構(gòu)造器中對(duì)球隊(duì)名

30、稱加以顯式初始化。其構(gòu)造器接收球隊(duì)名稱,參數(shù)名稱與對(duì)象的屬性名均為name,用this關(guān)鍵字加以區(qū)分。其中this關(guān)鍵字用來(lái)引用當(dāng)前對(duì)象或類實(shí)例,可以用-取屬性或行為,即:this-name = name;this-goals =0;注:沒有同名時(shí)是否有this-都表示名稱所表示的對(duì)象屬性。從函數(shù)getGoals()中的return goals判斷,缺少屬性goals來(lái)表示得分。再?gòu)纳舷挛呐袛啵瘮?shù)increamentGoal()中,表示在比賽中某球隊(duì)進(jìn)1球,即goals的值增加1。創(chuàng)建Game對(duì)象表示兩支球隊(duì)的一場(chǎng)比賽。構(gòu)造器參數(shù)為兩支球隊(duì),用以初始化 Game對(duì)象的兩個(gè)屬性。函數(shù)getRe

31、sults()用于輸出當(dāng)前比分。函數(shù)incrementGoal()用于表示一支球隊(duì)進(jìn)1球,具體是哪支球隊(duì)由參數(shù)給定,所以參數(shù)類型為Team*。主控邏輯代碼在程序主入口函數(shù)main()中實(shí)現(xiàn)。在main()函數(shù)中,先創(chuàng)建兩支球隊(duì)(用new關(guān)鍵字),即兩個(gè)Team類的對(duì)象指針,球隊(duì)名稱分別為“TA”和“TB”,指針名稱分別為t1和t2,即:Team *t1 = new Team(TA);Team *t2 = new Team(TB);以這兩個(gè)對(duì)象指針名稱為參數(shù),創(chuàng)建一場(chǎng)比賽對(duì)象(用new 關(guān)鍵字),指針名稱為 football,即:Game *football = new Game(t1,t2);

32、然后用:football-incrementGoal(t1);football-incrementGoal(t2);表示球隊(duì)TA進(jìn)一球,球隊(duì)TB進(jìn)一球。然后調(diào)用getResults()函數(shù)輸出此時(shí)的比分,即:football-getResults ();然后TB再進(jìn)一球,再調(diào)用getResults()函數(shù)輸出此時(shí)的比分,即:football-incrementGoal(t2);football-getResults() ;綜上所述,空(1)需要定義表示一支球隊(duì)的得分goals,題目代碼中已經(jīng)給出用分號(hào)結(jié)尾,所以空(1)為int goals(或c+11標(biāo)準(zhǔn)之后int goals=0也支持);空(2)需要表示Team對(duì)象指針的name屬性,即this-name;空(3)需要表示當(dāng)前球隊(duì)得分加1, 因?yàn)橹挥幸粭l語(yǔ)句,只要表示goals

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論