第 1 頁:選擇題 |
第 3 頁:基本操作題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
21繼承機(jī)制的作用是( )。
A.信息隱藏B.數(shù)據(jù)封裝C.定義新類D.數(shù)據(jù)抽象
參考答案:C
參考解析:數(shù)據(jù)封裝就是數(shù)據(jù)抽象,即信息隱藏;而繼承是實(shí)現(xiàn)程序復(fù)用的基礎(chǔ)。
)22模板對類型的參數(shù)化提供了很好的支持,因此( )。
A.類模板的主要作用是生成抽象類
B.類模板實(shí)例化時(shí),編譯器將根據(jù)給出的模板實(shí)參生成一個(gè)類
C.在類模板中的數(shù)據(jù)成員都具有同樣類型
D.類模板中的成員函數(shù)都沒有返回值
參考答案:B
參考解析:本題考查類模板的基本概念。類模板的定義和聲明都以關(guān)鍵字template開頭。關(guān)鍵字后面是一個(gè)用逗號分隔的模板參數(shù)表,用尖括號“<>”括起來,這個(gè)表被稱為類模板的模板參數(shù)表。類模板是類的抽象,類是類模板的實(shí)例。類模板使類中的一些數(shù)據(jù)成員和成員函數(shù)的參數(shù)或返回值可以取任意的數(shù)據(jù)類型。所以B選項(xiàng)正確。
23if語句的語法格式可描述為:
格式l:if(<條件>)<語句>
或
格式2:if(<條件>)<語句l>
else<語句2>
關(guān)于上面的語法格式,下列表述中錯(cuò)誤的是( )。
A.<條件>部分可以是一個(gè)if語句,例如if(if(a==0)…)…
B.<語句>部分可以是一個(gè)if語句,例如if(…)if(…)…
C.如果在<條件>前加上邏輯非運(yùn)算符!并交換<語句l>和<語句2>的位置,語句功能不變
D.<語句>部分可以是一個(gè)循環(huán)語句,例如if(…)while(…)…
參考答案:A
參考解析:本題考查if語句,if語句的條件部分不能嵌套if語句,所以A選項(xiàng)錯(cuò)誤;B選項(xiàng)就是if語句嵌套;C選項(xiàng)其實(shí)就是將判斷條件顛倒,然后執(zhí)行語句也顛倒,所以效果一樣;D選項(xiàng)也正確。
24下面的程序中,錯(cuò)誤的語句是( )。
、#inClude
、趘oid main()
、踸
④ int *p=new int[1];
、郟=9;
⑥cout<<.*P<
、遜elete[]p;
⑧}
A.④B.⑤C.⑥D(zhuǎn).⑦
參考答案:B
參考解析:本題考查的是指針的使用,P是指向int 型的指針,若想給它指向的元素賦值,應(yīng)使用*符號,贏接賦值相當(dāng)于改變了原來P存儲的地址。
25下面有關(guān)for循環(huán)的正確描述是( )。
A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式C.在for循環(huán)中,不能用break語句跳出循環(huán)體D.在for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來
參考答案:D
參考解析:選項(xiàng)A中for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項(xiàng)8中for循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)體語句;選項(xiàng)c中for循環(huán)可以用break語句跳出循環(huán)體,從而接著執(zhí)行循環(huán)體后面的語句。
26下列敘述中正確的是( )。
A.算法就是程序
B.設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)
C.設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性
D.以上三種說法都不對
參考答案:D
參考解析:算法是指解題方案的準(zhǔn)確而完整的描述,算法不等于程序,也不等于計(jì)算方法,所以A錯(cuò)誤。設(shè)計(jì)算法時(shí)不僅要考慮對數(shù)據(jù)對象的運(yùn)算和操作,還要考慮算法的控制結(jié)構(gòu)。
27由于常對象不能被更新,因此( )。
A.通過常對象只能調(diào)用它的常成員函數(shù)
B.通過常對象只能調(diào)用靜態(tài)成員函數(shù)
C.常對象的成員都是常成員
D.通過常對象可以調(diào)用任何不改變對象值的成員函數(shù)
參考答案:A
參考解析:本題考查常對象的基本知識,常對象只能調(diào)用它的常成員函數(shù),而不能調(diào)用非const函數(shù),常對象的成員函數(shù)不一定都是常成員函數(shù),只需保證其數(shù)據(jù)成員是常數(shù)據(jù)成員即可。所以本題選A。
28有如下程序:
#include
using namespace std;
class MyClass{
public:
MyClass(){cout<<’A’;}
MyClass(char C.{cout<
~MyClass(){cout<<’B’;}
};
int main(){
MyClass pl,+p2;
p2=new MyClass(’X’);
delete p2;
return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.ABXB.ABXBC.AXBD.AXBB
參考答案:D
參考解析:構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序?yàn)橄葮?gòu)造的后析構(gòu),后構(gòu)造的先析構(gòu)。所以本題答案為D。
29有如下程序:
#include
using namespace std;
class Pair{
int m,n;
public:
Pair(int j,int k):m(j),n(k){}
int get(){return m;}
int get()const{return m+n;}
};
int main(){
Pair a(3,5);
const Pair b(3,5);
tout<
return U:
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.33B.38C.83D.88
參考答案:B
參考解析:本題考查常對象、常成員函數(shù)及構(gòu)造函數(shù)。常對象只能調(diào)用常成員函數(shù),所以本題中,對象a為普通對象,執(zhí)行a.get()后,會(huì)執(zhí)行默認(rèn)構(gòu)造函數(shù),輸出3;對象b為常對象,執(zhí)行b.get()后,會(huì)執(zhí)行常構(gòu)造函數(shù),輸出8。
30執(zhí)行下列語句段后,輸出字符“*”的個(gè)數(shù)是( )。
for(int i=50;i>1;--i) Cout<<'*':
A.48B.49C.50D.51
參考答案:B
參考解析:本題考查for循環(huán)語句,--i表示用之前先減1,那么這個(gè)for循環(huán)語句只有50到2時(shí)才會(huì)輸出“*”,所以總共輸出49次。
31有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.交C.投影D.并
參考答案:A
參考解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以根據(jù)T中元組可以判斷R和S做的是自然連接操作。
32軟件測試的目的是( )。
A.評估軟件可靠性
B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤
C.改正程序中的錯(cuò)誤
D.發(fā)現(xiàn)程序中的錯(cuò)誤
參考答案:D
參考解析:軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,測試要以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能。不是為了評估軟件或改正錯(cuò)誤。
33軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是( )。
A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合
參考答案:B
參考解析:一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
34下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進(jìn)后出”原則存取數(shù)據(jù)的是( )。
A.循環(huán)隊(duì)列B.棧C.隊(duì)列D.二叉樹
參考答案:B
參考解析:棧是按先進(jìn)后出的原則組織數(shù)據(jù)的。隊(duì)列足先進(jìn)先出的原則組織數(shù)據(jù)。
35有如下程序:
#inClude using namespaCe std; Class Base{
publiC:
Base(int x=0){Cout<
Class Derived:publiC Base{ publiC:
Derived(int X=0){Cout<
Base val; };
int main() {
Derived d(1); return 0;
}
執(zhí)行這個(gè)程序的輸出結(jié)果是( )。
A.0B.1C.01D.001
參考答案:D
參考解析:本題考查派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù),在定義一個(gè)派生類的對象時(shí),先調(diào)用基類的構(gòu)造函數(shù),然后再執(zhí)行派生類的構(gòu)造函數(shù),對象釋放時(shí),先執(zhí)行派生類的析構(gòu)函數(shù),再執(zhí)行基類的析構(gòu)函數(shù)。所以本題中定義了一個(gè)對象d,先執(zhí)行基類的構(gòu)造函數(shù)輸出0,因?yàn)榕缮愔械乃接袛?shù)據(jù)成員為Base,所以還會(huì)執(zhí)行一次基類的構(gòu)造函數(shù)輸出0,最后執(zhí)行派生類的構(gòu)造函數(shù)輸出1,所以本題答案為D。
36已知Value是一個(gè)類,value是Value的一個(gè)對象。下列以非成員函數(shù)形式重載的運(yùn)算符函數(shù)原型中,正確的是( )。
A.Value operator+(Value v,int i);
B.Value operator+(Value v=value,int i);
C.Value operator+(Value v,inl:i=0):
D.Value operator+(Value v=vallle,int i=0);
參考答案:A
參考解析:本題考查運(yùn)算符重載,其中重載運(yùn)算符的函數(shù)不能有默認(rèn)的參數(shù),所以本題答案為A。
點(diǎn)擊查看試題筆記(3)37有如下程序段:
int i=0,J=1;
nt&r=i;//④ ’ r=j;//②
int * P=&i;//③ * P=&r;//④
其中會(huì)產(chǎn)生編譯錯(cuò)誤的語句是( )。
A.④B.③C.②D.①
參考答案:A
參考解析:本題考查指針和引用。①為引用,使用正確;④中&r表示一個(gè)地址,而*P已經(jīng)是-一個(gè)值了,不能將一個(gè)指針賦值給一個(gè)值,所以編譯錯(cuò)誤。
38有如下程序:
﹟nclude
using namespace std;
int main()
{
int*P;
*P=9:
cout<<”The value at p:”<< *p;
return 0;
}
編譯運(yùn)行程序?qū)⒊霈F(xiàn)的情況是( )。
A.編譯時(shí)出現(xiàn)語法錯(cuò)誤,不能生成可執(zhí)行文件
B.運(yùn)行時(shí)一定輸出:l'lle value at P:9
C.運(yùn)行時(shí)一定輸出:llle value at P:*9
D.運(yùn)行時(shí)有可能出錯(cuò)
參考答案:D
參考解析:先定義指針變量,然后給指針變量賦初值有三種情況:①用取地址運(yùn)算符“&”將變量地址賦給指針變量,如P=&a;②將一個(gè)指針變量中的地址賦給另一個(gè)指針變量,如P=p1;③給指針變量賦空值0,如q=0,表示該指針變量不指向任何變量。而不能用一個(gè)常量給指針變量賦初值,所以本題選D。
39在軟件設(shè)計(jì)中不使用的工具是( )。
A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖(DFD圖)D.程序流程圖
參考答案:C
參考解析:系統(tǒng)結(jié)構(gòu)圖是對軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)的圖形顯示。在需求分析階段,已經(jīng)從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),是在概要設(shè)計(jì)階段用到的。PAD圖是在詳細(xì)設(shè)計(jì)階段用到的。程序流程圖是對程序流程的圖形表示,在詳細(xì)設(shè)計(jì)過程中用到。數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的而非軟件設(shè)計(jì)時(shí)用到,所以選擇C。
40C++中的模板包括( )。
A.對象模板和函數(shù)模板B.對象模板和類模板C.函數(shù)模板和類模板D.變量模板和對象模板
參考答案:C
參考解析:本題考查函數(shù)模板和類模板.所以答案為C。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |