2009年11月軟件設(shè)計(jì)師預(yù)測題及答案解析一
1.某計(jì)算機(jī)系統(tǒng)中,16位浮點(diǎn)數(shù)的表示格式如圖1所示。其中階碼4位(含1位符號)為定點(diǎn)整數(shù),尾數(shù)12位(含1位符號)為定點(diǎn)小數(shù)。
![]() ![]() |
設(shè)一個數(shù)機(jī)器碼為1110 0010 1000 0000,若階碼為移碼且尾數(shù)為原碼,則其十進(jìn)制數(shù)真值為 (1) 。
(1) A.20
B.25
C.0.078 125
D.20.969 375
參考答案:(1)A。
解析:為了充分利用尾數(shù)來表示更多的有效數(shù)字,即提高數(shù)據(jù)的表示精度,通常采用規(guī)格化浮點(diǎn)數(shù)。規(guī)定浮點(diǎn)數(shù)在運(yùn)算結(jié)束將運(yùn)算結(jié)果存到計(jì)算機(jī)中時,必須是規(guī)格化的浮點(diǎn)數(shù)。規(guī)格化浮點(diǎn)數(shù)尾數(shù)的最高數(shù)值位是有效數(shù)字,即正尾數(shù)0.5≤F<1,負(fù)尾數(shù)-1 對于本試題的解答思路是,對給定的機(jī)器碼按浮點(diǎn)數(shù)格式得到階碼和尾數(shù),然后將階碼變?yōu)槭M(jìn)制數(shù),最后得到浮點(diǎn)數(shù)的十進(jìn)制真值。如果給定的浮點(diǎn)數(shù)機(jī)器碼不是用規(guī)格化表示的,則可將其表示為規(guī)格化的機(jī)器碼。規(guī)格化時,先看給定的浮點(diǎn)數(shù)機(jī)器碼的尾數(shù)是用什么碼表示的,然后再看是否已是規(guī)格化數(shù),如果不是,將尾數(shù)小數(shù)點(diǎn)移位,但要注意,為保持浮點(diǎn)數(shù)的真值不變,階碼一定要進(jìn)行相應(yīng)的調(diào)整。在解答此類題目時,一定要注意題目條件中給出的階碼和尾數(shù)是用什么碼表示的,否則很容易出錯,而得不到正確的計(jì)算結(jié)果。 針對本題,對所給機(jī)器碼1110 0010 1000 0000,按所規(guī)定的浮點(diǎn)數(shù)表示形式,可知階碼為1110(最高位為階符1),尾數(shù)為0010 1000 0000(最高位為尾符0)。 0.0101B= 010100B=20。?① 若階碼為移碼,1110表示為十進(jìn)制數(shù)加6,尾數(shù)為原碼表示加0.0101B,所以浮點(diǎn)數(shù)為26 ② 0.101B,階碼-3的補(bǔ)碼為1101,因?yàn)楦↑c(diǎn)數(shù)規(guī)格化要求尾數(shù)最高數(shù)據(jù)位為有效數(shù)據(jù)位,即尾數(shù)絕對值大于等于0.5。?0.0101B=2-3?0.0101B=0.000101B=0.078125D。將此浮點(diǎn)數(shù)用規(guī)格化數(shù)形式表示:2-2?若階碼為補(bǔ)碼,1110表示為十進(jìn)制數(shù)減2,尾數(shù)為補(bǔ)碼,因該尾數(shù)為正數(shù),即加0.0101,該浮點(diǎn)數(shù)為2-2 2.某計(jì)算機(jī)主存按字節(jié)摘取cache的地址變換采用組相聯(lián)映像方式(即組內(nèi)全相聯(lián),組間直接映像)。高速緩存分為2組,每組包含4塊,塊的大小為512B,主存容量為1MB。構(gòu)成高速緩存的地址變換表相聯(lián)存儲器容量為 (2) bit。每次參與比較的存儲單元為 (3) 個。 (2) A.4×10 B.4×11 C.8×10 D.8×11 (3) A.2 B.4 C.8 D.16 參考答案:(2)C;(3)B。 解析:某計(jì)算機(jī)主存按字節(jié)編址,主存與高速緩存Cache的地址變換采用組相聯(lián)映像方式(即組內(nèi)全相聯(lián),組間直接映像)。高速緩存分為2組,每組包含4塊,塊的大小為512B,主存容量為1MB。① 由于主存容量為1MB=220,高速緩存分為2=21組(即區(qū)內(nèi)組號為1位),每組包含4=22塊(即組內(nèi)塊號為2位),塊的大小為512B=29(即塊內(nèi)地址為9位),因此主存區(qū)號=20-1-2-9=8位。 ② 主存與高速緩存Cache的地址變換采用組相聯(lián)映像方式(即組內(nèi)全相聯(lián),組間直接映像),高速緩存的地址變換表的相聯(lián)存儲器中存放的用于比較的是8位的主存區(qū)號和2位的組內(nèi)塊號,因此,相聯(lián)存儲器的一個單元應(yīng)存放10位二進(jìn)制數(shù)。 ③ 由于高速緩存共有8塊,因此,高速緩存的地址變換表的相聯(lián)存儲器容量應(yīng)為8×10位。 ④ 由于組間采用直接映像,不需要進(jìn)行比較,但組內(nèi)采用全相聯(lián)映像,需要在一組的4塊內(nèi)進(jìn)行比較,故每次參與比較的存儲單元為4個。 3. 假設(shè)某程序語言的文法如下: S→S a T∣T T → T b R∣R R→ P d R∣P P→ f S g∣e 其中:VT={a, b, d, e, f, g};VN={S,T,R,P};S是開始符號。那么,此方法是_(4)_方法。這種文法的語法分析通常采用優(yōu)先距陣,優(yōu)先矩陣給出了該文法中各個終結(jié)符之間的優(yōu)先關(guān)系系〔大于,小于,等于,無關(guān)系)。在上述文法中,某些終結(jié)符之間的優(yōu)先關(guān)系如下:b_(5)_a; f_(6)_g; a_(7)_a; d_(8)_d。 供選擇的答案 (4)A.正則文法 B.算符文法 C.二義文法 D.屬性文法 (5)A.大于 B.小于 C.等于 D.無關(guān)系 (6)A.大于 B.小于 C.等于 D.無關(guān)系 (7)A.大于 B.小于 C.等于 D.無關(guān)系 (8)A.大于 B.小于 C.等于 D.無關(guān)系 參考答案:(4) B (5) A (6) C ( 7)A (8)B 解析 :算符優(yōu)先文法的優(yōu)先矩陣是這樣構(gòu)造的: 先求出各非終結(jié)符的FIRSTVT與LASTVT集。 對每條產(chǎn)生式:對于兩個終結(jié)符連在一起或是它們中間只有一個非終結(jié)符的情況,這兩個終結(jié)符相等。 對于一個非終結(jié)符與一個終結(jié)符連在一起的情況,如果終結(jié)符在前,則該終結(jié)符小于該非終結(jié)符的FIRSTVT集中的任一字符,如果終結(jié)符在后,則該非終結(jié)符的LASTVT集中的任一字符大于該終結(jié)符。 注意順序不能顛倒,即A小于B就是A小于B,不能寫成B大于A。 4. 16個微處理器的編號分別為0、1、2、3、…、15,當(dāng)采用四維立方體單級互連函數(shù)Cube3時,7號微處理器與 (9) 號微處理器相連接。 (9) A.3 B.7 C.14 D.15 參考答案:(9)D。 解析:四維立方體單級互聯(lián)函數(shù)(Cube3)的運(yùn)算規(guī)則是,從已知的微處理器編號的二進(jìn)制數(shù)右邊第0位起,數(shù)到第3位,并對該位求反即可得到所求的微處理器編號。因此對于第7號微處理器,其二進(jìn)制編碼為0111,經(jīng)過變換后為1111,即與第15號微處理器相連接。 注意,如果本試題所采用的是全混洗單級互聯(lián)函數(shù)Shuffle(無進(jìn)位左循環(huán)一位的函數(shù)),那么第7號微處理器的編碼(0111)經(jīng)變換后為1110,即為第14號微處理器。 5. 在計(jì)算機(jī)體系結(jié)構(gòu)中,CPU內(nèi)部包括程序計(jì)數(shù)器PC、存儲器數(shù)據(jù)寄存器MDR、指令寄存器IR和存儲器地址寄存器MAR等。若CPU要執(zhí)行的指令為:MOV R0,#100(即將數(shù)值100傳送到寄存器R0中),則CPU首先要完成的操作是(10)。 (10)A.100→R0 B. 100→MDR C. PC→MAR D. PC→IR 參考答案:(10)D 。 解析:程序計(jì)數(shù)器指向指令寄存器地址,然后就可以執(zhí)行下面的指令了 MOV R0,#100,采用的是立即數(shù)尋址方式,這條指令(包含操作數(shù)R0和#100)被匯編器編譯成一條機(jī)器代碼,此指令執(zhí)行前被加載到指令緩沖隊(duì)列里,執(zhí)行時 CPU在讀取此機(jī)器代碼時就讀取了#100,#100立即就可以被送往R0(而不用到寄存器或者內(nèi)存中去取操作數(shù)),因此叫做立即數(shù)尋址,指令執(zhí)行效率最高。 6. 某指令流水線由5段組成,各段所需要的時間如圖2所示。連續(xù)輸入10條指令時的吞吐率為 (11) 。 (11) A.0.1428/Δt B.0.2041/Δt C.0.2857/Δt D.0.3333/Δt 參考答案:(11)C。 解析:從圖3-2中可看出,該流水線各段所經(jīng)歷的時間不一樣,因此,該指令流水線吞吐率的計(jì)算公式為
,式中m為流水線的段數(shù);n為輸入的指令數(shù);Δti為第i段所需時間;Δtj為該段流水線中瓶頸段的時間。將題中已知條件代入上式,則吞吐率TP的計(jì)算結(jié)果如下所示。
7. 設(shè)有定義"enumterm{my,your=4,his,her=his+10};",則
printf("%d,%d,%d,%d ",my,your,his,her);的輸出是(12)
(12) A.0,l,2,3
B.0,4,0,10
C.0,4,5,15
D.1,4,5,15
參考解答:(12) C。
解析:按枚舉類型定義的規(guī)定,枚舉類型team的枚舉常量對應(yīng)的整數(shù)分別是my=0、your=4、his=5、her=15。所以語句輸出0,4,5,15。解答是C。
8.以下對枚舉類型名的定義中,正確的是(13)
(13) A.enuma={one,two,three};
B.enuma{a1,a2,a3};
C. enuma={’1’,’2’,’3’};
D. enuma{"one","two","three"};
參考答案:(13) B。
解析:枚舉類型定義的句法是:
enum枚舉類型名{枚舉類型常量1,枚舉類型常量2,……};
其中枚舉類型常量都是互不相同的標(biāo)識符。所以定義enuma{a1,a2,a3};
是一個正確的定義。任何在枚舉類型名之后接上=,或用字符常量,或用字符串常量作為枚舉類型常量都是不正確的定義。解答應(yīng)是B。
9. CPU執(zhí)行程序時,為了從內(nèi)存中讀取指令,需要先將 (14) 的內(nèi)容輸送到地址總線上。
(14) A.指令寄存器
B.標(biāo)志寄存器
C.程序計(jì)數(shù)器
D.變址寄存器
參考答案:(14)C。
解析:當(dāng)CPU從內(nèi)存中讀取指令的時候(即在存取指令周期中),CPU首先將程序計(jì)數(shù)器(PC)的內(nèi)容送到地址總線上,同時送出內(nèi)存的讀控制信號,將所選中的內(nèi)存單元的內(nèi)容讀入CPU,并將其存放在指令寄存器中。
10. RSA算法的一個比較知名的應(yīng)用是 (15) ,其協(xié)商層利用RSA公鑰進(jìn)行身份認(rèn)證,其記錄層涉及到對應(yīng)用程序提供的信息的分段、壓縮、數(shù)據(jù)認(rèn)證和加密。
(10) A.PGP
B.HTTPS
C.安全RPC
D.SSL
參考答案:(10)D。
解析:公鑰密碼是一種有兩個密鑰的不對稱密鑰技術(shù)。RSA算法是一種常用的公鑰加密算法,它可以實(shí)現(xiàn)加密和數(shù)字簽名,安全套接層協(xié)議(SSL)的記錄層利用RSA公鑰進(jìn)行身份認(rèn)證,記錄層涉及到對應(yīng)用程序提供的信息的分段、壓縮、數(shù)據(jù)認(rèn)證和加密。
11.設(shè)有以下說明和定義:
typedefunion{longi;intk[5];charc;}DATE;
structdate{intcat;DATEcow;doubledog;}too;
DATEmax;
則下列語句的執(zhí)行結(jié)果是(16)
printh("%d",sizeof(structdate)+sizeof(max));
(16) A.26
B. 30
C. 18
D. 8
參考答案:(16) B。
解析:設(shè)long型數(shù)據(jù)占4個字節(jié)、int型數(shù)據(jù)占2個字節(jié),double數(shù)據(jù)占8個字節(jié)。共用型DATE有三個成分:long型成分i,有五個int型元素的數(shù)組k,char型成分c。所以DATE類型的變量需要10個字節(jié)。結(jié)構(gòu)類型date有三個成分:int型成分cat,DATE共用類型cow,double型成分dog。所以結(jié)構(gòu)類型date需要20個字節(jié)。所以表達(dá)式sizeof(structdate)+sizeofmax的值是30。正確解答是B。
12.根據(jù)下面的定義,能打印出字母M的語句是(17)
structperson{charname[9];intage;};
structpersonc[1O]={{"John",17},{"Paul",19},{"Mary",18},{"Adam",16}};
(17)A. printf("%c",c[3].name);
B. printf("%c",c[3].name[1]);
C. printf("%c",c[2].name[1]);
D. printf("%c",c[2].name[0]);
參考答案:(17)D。
解析:結(jié)構(gòu)類型structperson有兩個成分:九個元素的字符數(shù)組name和一個基本整型age。元素類型為structperson的數(shù)組c有10個元素,其中前四個元素被設(shè)定了初值。在已設(shè)定初值的元素中,只有c[2].mame[0]的值是字符M。其余元素及元素的成分都不是字符比正確解答是D。
13. 以下關(guān)于防火墻技術(shù)的描述中,說法錯誤的是 (18) 。
(18) A.防火墻可以對請求服務(wù)的用戶進(jìn)行控制
B.防火墻可以對用戶如何使用特定服務(wù)進(jìn)行控制
C.防火墻可以有效地防止內(nèi)網(wǎng)的攻擊
D.防火墻可以對網(wǎng)絡(luò)服務(wù)類型進(jìn)行控制
參考答案:(18)C。
解析:防火墻是建立在內(nèi)外網(wǎng)邊界上的過濾封鎖機(jī)制,能夠防止外網(wǎng)在未經(jīng)授權(quán)的情況下訪問內(nèi)網(wǎng),以及外網(wǎng)對內(nèi)網(wǎng)的攻擊;也能防止內(nèi)網(wǎng)在未經(jīng)授權(quán)的情況下訪問外網(wǎng)。但是,僅使用防火墻不能有效地防止內(nèi)網(wǎng)的攻擊,通常也不具備反向追蹤網(wǎng)絡(luò)攻擊的能力。
14. 在病毒的生存期內(nèi),病毒將與自身完全相同的副本放入其他程序或者硬盤上的某些特定分區(qū)中,這個階段稱之為 (19) 。
(19) A.潛伏階段
B.觸發(fā)階段
C.執(zhí)行階段
D.繁殖階段
參考答案:(19)D。
解析:在病毒的生存期內(nèi),典型的病毒將經(jīng)歷①潛伏階段、②繁殖階段、③觸發(fā)階段和④執(zhí)行階段等4個過程。其中,①潛伏階段,處于此階段的病毒最終要通過某個事件(例如,一個日期、另一個程序或文件的存在,或者磁盤的容量超出了某個限制)來激活。并不是所有的病毒都有這個時期;
②繁殖階段,病毒將與自身完全相同的副本放人其他程序或者磁盤上的特定系統(tǒng)區(qū)域。每個受感染的程序?qū)《镜囊粋€克隆,這個病毒本身便進(jìn)入了一個繁殖階段;
③觸發(fā)階段,病毒被激活來進(jìn)行它想要完成的功能。和潛伏階段一樣,觸發(fā)階段可能被不同的系統(tǒng)事件所引起;
④執(zhí)行階段,完成病毒所具有的功能。這個功能可能是無害的(如顯示在屏幕上的一個消息)或者是具有破壞性的(如破壞程序和數(shù)據(jù)文件)。
15.設(shè)有如下定義,則對data中的a成員的正確引用是(20)
structsk{inta;floatb;}data,*p=&data;
(20)A. (*p).data.a
B. (*p).a
C. p->data.a
D. p.data.a
參考答案:(20) B。
解析:結(jié)構(gòu)變量data有兩個成分a和b。結(jié)構(gòu)指針變量p指向結(jié)構(gòu)變量data。引用結(jié)構(gòu)變量data的成分a有兩種方法:一是直接由變量data引用其自己的成分a,寫成data.a;二是通過指針變量p引用它所指的結(jié)構(gòu)的成分a,這又有兩種寫法,分別是p->a和(*p).a。正確解答是B。
16. 某教授于2006年6月1日自行將《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》譯成英文,投遞給某國家的核心期刊,并于2006年11月1日發(fā)表。國家相關(guān)部門認(rèn)為該教授的譯文質(zhì)量很高,經(jīng)與該教授協(xié)商,于2007年1月5日發(fā)文將該譯文定為官方正式譯文。(21) 。
(21) A.由于該教授未經(jīng)相關(guān)部門同意而自行翻譯官方條例,因此對其譯文不享有著作權(quán)
B.該教授對其譯文自2006年6月1日起一直享有著作權(quán)
C.該教授對其譯文自2006年6月1日至2007年1月4日期間享有著作權(quán)
D.該教授對其譯文自2006年11月1日至2007年1月4日期間享有著作權(quán)
參考答案:(21)C。
解析:我國《著作權(quán)法》第二章第二節(jié)第十二條規(guī)定,“改編、翻譯、注釋、整理已有作品而產(chǎn)生的作品,其著作權(quán)由改編、翻譯、注釋和整理人享有,但行使著作權(quán)時不得侵犯原作品的著作權(quán)。”因此,該教授自2006年6月1日至2007年1月4日期間享有該翻譯作品的著作權(quán)。
17. (22) 圖像通過使用彩色查找來獲得圖像顏色。
(22) A.真彩色
B.偽彩色
C.直接色
D.矢量
參考答案:(22)B。
解析:在組成一幅彩色圖像的每個像素值中,有R、G和B共3個基色分量,每個基色分量直接決定顯示設(shè)備的基色強(qiáng)度,這樣產(chǎn)生的彩色稱為選項(xiàng)A的“真彩色”。
偽彩色圖像是將像素值當(dāng)做彩色查找表的表項(xiàng)入口地址,去查找一個顯示圖像時使用的R、G、B值。用查找出的R、G、B值產(chǎn)生的彩色稱為偽彩色。
直接色圖像中把每個像素值分成R、G和B分量,每個分量作為單獨(dú)的索引值對它做變換,通過變換表找出基色強(qiáng)度。用變換后得到的R、G和B強(qiáng)度值產(chǎn)生的彩色稱為直接色
矢量圖像中使用一系列計(jì)算機(jī)指令來表示一幅圖,如畫點(diǎn)、線、曲線和矩形等,其中,顏色屬性表示了這些形狀的顏色。
18. 對于MPEG視頻中的空間冗余信息可以采用 (23) 的方法來進(jìn)行壓縮編碼。
(23) A.幀間預(yù)測和變換編碼
B.哈夫曼編碼和運(yùn)動補(bǔ)償
C.變換編碼和幀內(nèi)預(yù)測
D.幀內(nèi)預(yù)測和運(yùn)動補(bǔ)償
參考答案:(23)C。
解析:視頻圖像本身在時間上和空間上都存在冗余信息。對視頻進(jìn)行編碼就是去除時間和空間上的冗余信息。
去除空間上的冗余信息時,不參照任何過去的或者將來的其他圖像幀,壓縮編碼可以采用類似JPEG的壓縮方法,主要采用的壓縮技術(shù)包括幀內(nèi)預(yù)測編碼和變換編碼。
19. 某幅圖像具有640×480個像素點(diǎn),若每個像素具有8位的顏色深度,經(jīng)5:1壓縮后,其圖像數(shù)據(jù)需占用的存儲空間為 (24) 字節(jié)。
(24) A.61 440
B.307 200
C.384 000
D.3 072 000
參考答案:(24)A。
解析:若每個像素具有n=8位的顏色深度,則可表示2n=28=256種不同的顏色。若一幅圖像具有640×480個像素點(diǎn),每個像素具有8位的顏色深度,未進(jìn)行壓縮時其圖像數(shù)據(jù)所占用的存儲空間為(640×480×8)b=(640×480)B。經(jīng)5:1壓縮后,圖像數(shù)據(jù)所占用的存儲空間為 。
20. 新軟件項(xiàng)目與過去成功開發(fā)過的一個項(xiàng)目類似,但規(guī)模更大,此時比較適合使用 (25) 進(jìn)行項(xiàng)目開發(fā)設(shè)計(jì)。
(25) A.原型法
B.變換模型
C.瀑布模型
D.螺旋模型
參考答案:(25)C。
解析:由于新項(xiàng)目與過去成功開發(fā)過的一個項(xiàng)目類似,已經(jīng)有了成功的項(xiàng)目開發(fā)經(jīng)驗(yàn)和積累的軟件模塊,因此,應(yīng)盡可能將這些經(jīng)驗(yàn)和軟件模塊應(yīng)用到新項(xiàng)目中,即對于這個規(guī)模更大的軟件項(xiàng)目應(yīng)該使用瀑布模型進(jìn)行開發(fā)。
【編輯推薦】