- 相關(guān)推薦
計(jì)算機(jī)二級(jí)《C++語言程序設(shè)計(jì)》精選試題與答案
1.按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是( )。
A.隊(duì)列
B.棧
C.雙向鏈表
D.二叉樹
2.下列對(duì)于軟件測試的描述中正確的是( )。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
3.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)是模塊的( )。
A.抽象和信息隱蔽
B.局部化和封裝化
C.內(nèi)聚性和耦合性
D.激活機(jī)制和控制方法
4.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是( )。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
5.對(duì)如下二叉樹進(jìn)行后序遍歷的結(jié)果為( )。
A.ABCDEF
B.DBEAFC
C.ABDECF
D.DEBFCA
6.同一概念在一處為實(shí)體而在另一處為屬性或聯(lián)系的沖突在視圖集成中稱為( )。
A.命名沖突
B.概念沖突
C.域沖突
D.約束沖突
7.面向?qū)ο蟮臎]計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是( )。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
D.鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考
8.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是( )。
A.DB包含DBS和DBMS
B.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.沒有任何關(guān)系
9.索引屬于( )。
A.模式
B.內(nèi)模式
C.外模式
D.概念模式
10.下列關(guān)于關(guān)系運(yùn)算的敘述中正確的是( )。
A.投影、選擇、連接是從二維表的行的方向來進(jìn)行運(yùn)算
B.并、交、差是從二維表的列的方向來進(jìn)行運(yùn)算
C.投影、選擇、連接是從二維表的列的方向來進(jìn)行運(yùn)算
D.以上三種說法都不對(duì)
11.下面不正確的描述為( )。
A.調(diào)用函數(shù)時(shí),實(shí)參可以是表達(dá)式
B.調(diào)用函數(shù)時(shí),實(shí)參與形參可以共用內(nèi)存單元
C.調(diào)用函數(shù)時(shí),將為形參分配內(nèi)存單元
D.調(diào)用函數(shù)時(shí),實(shí)參與形參的類型必須一致
12.在C++程序中,如果要求通過函數(shù)來實(shí)現(xiàn)一種簡單的功能,并且要求盡可能加快程序執(zhí)行速度,則應(yīng)該選用( )。
A.內(nèi)聯(lián)函數(shù)
B.重載函數(shù)
C.遞歸調(diào)用
D.嵌套調(diào)用
13.每個(gè)C++程序中都必須有且僅有一個(gè)( )。
A.類
B.預(yù)處理命令
C.主函數(shù)
D.語句
14.存取指針?biāo)傅闹禃r(shí),采用的運(yùn)算符是( )。
A.#
B.&
C.%
D.*
15.設(shè)有“intx=11;”,則表達(dá)式(x++*2/3)的值是( )。
A.7
B.8
C.11
D.12
16.已經(jīng)有“語句intm=10;”則下列表示引用的表示中正確的是( )。
A.int&x=m;
B.int&y=10;
C.int&z;
D.float&t=8m;
17.C++語言本身沒有定義I/O操作,但I(xiàn)/O操作包含在C++實(shí)現(xiàn)中。C++標(biāo)準(zhǔn)庫iostream提供了基本的I/O類。I/O操作分別由兩個(gè)類istreanl和( )提供。
A.fstream
B.iostream
C.ostream
D.cin
18.將x+y*z中的“+”用成員函數(shù)重載,“*”是友元函數(shù)重載應(yīng)寫為( )。
A.operator+(operator*(y,z))
B.x.operator+(operator*(y,z))
C.x.operator+(X*(y,z))
D.x+(operator*(y,z))
19.下列函數(shù)的運(yùn)行結(jié)果是( )。
#include
intf(inta,intb)
{intC;
if(a>b)c=l;
elseif(a==b)c=0;
elsec=-1:
return(c);}
voidmain( )
{inti=2,j=3;
intp=f(i,j);
cout
B.1
C.2
D.編譯出錯(cuò),無法運(yùn)行
20.以下程序的輸出結(jié)果是( )。
voidmain( )
{inta=4,b=5,c=0,d;
d=!a&&!b‖!c;
cout<}
A.1
B.0
C.非0的數(shù)
D.-l
21.下列關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是( )。
A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)
B.成員函數(shù)可以重載
C.成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值
D.成員函數(shù)可以是靜態(tài)的
22.考慮以下的函數(shù)原型:
voldA(inta,intb=5,charZ=’*’);
下面的函數(shù)調(diào)用中,不正確的是( )。
A.A(7)
B.A(3,4)
C.A(16,’#’)
D.A(0,2,’*’)
23.關(guān)于靜態(tài)數(shù)據(jù)成員的描述中正確的是( )。
A.類的靜態(tài)數(shù)據(jù)成員不是類的所有對(duì)象共享的數(shù)據(jù)
B.類的靜態(tài)數(shù)據(jù)成員不能被類的成員函數(shù)調(diào)用
C.類的靜態(tài)數(shù)據(jù)成員不能被類的構(gòu)造函數(shù)調(diào)用
D.類的靜態(tài)數(shù)據(jù)成員必須進(jìn)行初始化
24.設(shè)有以下類和對(duì)象的定義:
ClaSSA
{public:
intm;
};
Ak1,k2,*p1,*p2;
則下面針對(duì)成員變量m的引用,錯(cuò)誤的是( )。
A.k1.m=1
B.k2→m=2
C.p1→m=3
D.(*p2).m=4
25.有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=d.year;
month=d.month;
day=d.day;
}
voidprint( )
{
cout<}
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序執(zhí)行時(shí),Date類的拷貝構(gòu)造函數(shù)被調(diào)用的次數(shù)是( )。
A.2
B.3
C.4
D.5
26.下列關(guān)于純虛函數(shù)與抽象類的描述巾,錯(cuò)誤的是( )。
A.純虛函數(shù)是一種特殊的虛函數(shù),它沒有具體的實(shí)現(xiàn)
B.抽象類是指具有純虛函數(shù)的類
C.一個(gè)基類聲明了純虛函數(shù),該基類的派生類一定不是抽象類
D.抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出
27.以下程序的輸出結(jié)果是( )。
#include
longfun(intn)
{longs;
if(n=-1‖n==2)s=2;
elses=n-fun(n-l):
returns;
}
voidmain( ){cout
B.2
C.3
D.4
28.對(duì)于模板定義關(guān)鍵字class和typename說法不正確的是( )。
A.程序中的class并不能都替換為typename
B.class和typename都可互相替換
C.程序中的typename都能替換為class
D.程序中的部分class可以替換為typename
29.有如下程序:
#include(iostream>
usingnamespacestd;
classCon
{
charID;
public:
Con( ):ID(’A){cout<<1;}
Con(charID):ID(ID){cout((2;)
Con(Con8Lc):ID(c.getlD( )){cout<<3;}
chargetID( )const{returnID;}
};
voidshow(Conc){cout
{
Conc1;
show(c1);
Conc2(’B’);
show(c2);
return0;
執(zhí)行上面程序的輸出結(jié)果是( )。
A.13A23A
B.23A13B
C.13A23B
D.13823A
30.有如下程序
#include(iostream.h>
voidmain( )
{charch[2][5]={"6937","8254"),*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j])’