89.若有以下定義,則不能表示a數(shù)組元素的表達(dá)式是(94)
inta[10]={1,2,3,4,5,6,7,8,9,1o},*p=a;
(94)A.*p
B. a[10]
C. *a
D. a[p-a]
參考答案:(94)B。
解析:上述代碼定義了有10個(gè)元素的整型數(shù)組。,和定義指針變量p,并讓p指向數(shù)組元素a[0]。所以代碼*p是引用a[0]。由于數(shù)組a只有10個(gè)元素,最后一個(gè)元素是a[9],表達(dá)式a[10]是錯(cuò)誤的。數(shù)組名a可以作為a的首元素的指針,表達(dá)式*a就是a[0],是對(duì)數(shù)組a的首元素a[0]的引用。指針p的值是a,表達(dá)式p-a。的值是0,所以a[p-a]就是a[0]。所以解答是B。90.若有以下定義,則值為3的表達(dá)式是(95)
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
(95)A. p+=2,*(p++)
B. p+=2,*++p
C. p+=3,*p++
D. p+=2,++*p
參考答案:(95)A。
解析:數(shù)組a有10個(gè)元素,分別有值1至10,指針變量p指向a[0],A逗號(hào)表達(dá)式p+=2,*(P++),先是P+=2使P指向a[2],接著是*(P++),以當(dāng)時(shí)P所指變量a[2]取內(nèi)容3為表達(dá)式的值,同時(shí)使p指向a[3]。B返號(hào)表達(dá)式p+=2,*++p,先是p+=2使p指向a[2],以后是*++p,又使p增1,讓它指向a[3],并取指針p所指變量a[3]的內(nèi)容4作為表達(dá)式的值。C逗號(hào)表達(dá)式p+=3,*p++,先是p+=3使p指向a[3],以后是*p++,表達(dá)式的值是a[3]為4,而使p指向a[4]。D逗號(hào)表達(dá)式p+=2,++*p,先是p+=2,使p指向a[2],以后是++*p,因當(dāng)時(shí)的*p就是a[2],++a[2]使a[2]增1,變成4,并以4為表達(dá)式的值。所以只有p+=2,*(p++)的值是3。所以解答是A。
91. 若二叉樹的先序遍歷序列為ABCEDF,后序遍歷序列為CEBFDA,則其中序遍歷序列為 (96) 。
(96) A.CEFBDA B.CBEAFD C.CEBAFD D.CBEDFA
參考答案:(96)B。
解析:對(duì)于二叉樹遍歷序列有一個(gè)性質(zhì),包含有中序遍歷序列的任意兩個(gè)遍歷序列可以唯一確定該二叉樹。那么由題中的先序遍歷序列和后序遍歷序列就可以唯一確定此二叉樹,如圖10所示,再對(duì)其進(jìn)行中序遍歷,中序遍歷序列為CBEAFD。
圖1092. 在C++中,使用靜態(tài)成員解決同一個(gè)類的不同對(duì)象之間的數(shù)據(jù)共享問題。以下關(guān)于一個(gè)類的靜態(tài)成員的敘述中,說法錯(cuò)誤的是 (97) 。
(97) A.靜態(tài)成員變量可被該類的所有方法訪問
B.該類的對(duì)象共享其靜態(tài)成員變量的值
C.該類的靜態(tài)數(shù)據(jù)成員變量的值不可修改
D.該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量
參考答案:(97)D。
解析:靜態(tài)成員作為類的一種成員,它被類的所有對(duì)象共享,而不是屬于某個(gè)對(duì)象的。靜態(tài)成員可分為靜態(tài)成員變量和靜態(tài)方法。
靜態(tài)成員變量的值可以被更新。只要對(duì)靜態(tài)成員變量的值更新一次,所有對(duì)象的該靜態(tài)成員變量值都會(huì)被更新。
靜態(tài)成員函數(shù)可以直接訪問靜態(tài)成員,但不能直接訪問非靜態(tài)成員。
選項(xiàng)D“該類的靜態(tài)方法只能訪問該類的靜態(tài)成員變量”的說法不夠準(zhǔn)確。
93. 在面向?qū)ο筌浖_發(fā)過程中,采用設(shè)計(jì)模式 (98) 。
(98) A.以減少設(shè)計(jì)過程創(chuàng)建的類的個(gè)數(shù)
B.以保證程序的運(yùn)行速度達(dá)到最優(yōu)值
C.以復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)
D.以允許在非面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中使用面向?qū)ο蟮母拍顓⒖即鸢福?98)C。
解析:設(shè)計(jì)模式是對(duì)被用來在特定場(chǎng)景下,解決一般設(shè)計(jì)問題的類和相互通信的對(duì)象的描述。通常,一個(gè)設(shè)計(jì)模式有4個(gè)基本要素:模式名稱、問題(模式的使用場(chǎng)合)、解決方案和效果。
每一個(gè)設(shè)計(jì)模式系統(tǒng)地命名、解釋和評(píng)價(jià)了面向?qū)ο笙到y(tǒng)中一個(gè)重要的和重復(fù)出現(xiàn)的設(shè)計(jì)。設(shè)計(jì)模式使人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu);將己證實(shí)的技術(shù)表述成設(shè)計(jì)模式,也會(huì)使新系統(tǒng)的開發(fā)者更加容易理解其設(shè)計(jì)思路。設(shè)計(jì)模式可以幫助開發(fā)者做出有利于復(fù)用的選擇,避免設(shè)計(jì)時(shí)損害系統(tǒng)復(fù)用性。
綜合以上分析,本試題的正確答案是選項(xiàng)C。
94. (99) 模式的設(shè)計(jì)意圖是:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。
(99) A.Observer(觀察者)
B.Visitor(訪問者)
C.Interpreter(解釋器)
D.Adapter(適配器)
參考答案:(99)A。
解析:Observer(觀察者)模式的設(shè)計(jì)意圖是定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。
Visitor(訪問者)模式的設(shè)計(jì)意圖是表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。它可在不改變各元素的類的前提下定義作用于這些元素的新操作。Interpreter(解釋器)模式的設(shè)計(jì)意圖是給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義一個(gè)解釋器,這個(gè)解釋器使用該表示來解釋語(yǔ)言中的句子。
Adapter(適配器)模式是一種類對(duì)象結(jié)構(gòu)型模式。通過將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些類可以一起工作。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |