第 1 頁:沖刺試題 |
第 3 頁:參考答案 |
點(diǎn)擊查看:2018年12月計(jì)算機(jī)二級C++考試沖刺試題及答案匯總
一、選擇題(每小題1分,共40小題,共40分)
1.在計(jì)算機(jī)中,算法是指( )。
A.查詢方法
B.加工方法
C.解題方案的準(zhǔn)確而完整的描述
D.排序方法
2.下列敘述中,不屬于測試的特征的是( )。
A.測試的挑剔性
B.完全測試的不可能性
C.測試的可靠性
D.測試的經(jīng)濟(jì)性
3.數(shù)據(jù)處理的最小單位是( )。
A.數(shù)據(jù)
B.數(shù)據(jù)元素
C.數(shù)據(jù)項(xiàng)
D.數(shù)據(jù)結(jié)構(gòu)
4.已知一個有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時,查找成功的比較次數(shù)為( )。
A.1
B.2
C.3
D.9
5.下列對于軟件測試的描述正確的是( )。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
6.下列選項(xiàng)中,不是一個算法的基本特征的是( )。
A.完整性
B.可行性
C.有窮性
D.擁有有足夠的情報(bào)
7.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是( )。
A.自頂向下
B.逐步求精
C.模塊化
D.司復(fù)用
8.下列不是軟件工程基本目標(biāo)的照( )。
A.付出較低的維護(hù)費(fèi)用
B.達(dá)到要求的功能
C.不管時間限制,只要最終把用戶要求的產(chǎn)品交出來
D.產(chǎn)品的性能比較好
9.以三級模式為框架形成的三種數(shù)據(jù)庫中,真實(shí)存在于計(jì)算機(jī)外存的數(shù)據(jù)庫是( )。
A.概念數(shù)據(jù)庫
B.用戶數(shù)據(jù)庫
C.物理數(shù)據(jù)庫
D.邏輯數(shù)據(jù)庫
10.數(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.沒有任務(wù)關(guān)系
11.下列符號中可以用做C++標(biāo)識符的是( )。
A._radius
B.foo~bar
C.else
D.3room
12.類模板的使用實(shí)際上是將類模板實(shí)例化成一個具體的( )。
A.類
B.對象
C.函數(shù)
D.模扳類
13.下列有關(guān)類繼承的敘述中,錯誤的是( )。
A.繼承可以實(shí)現(xiàn)軟件復(fù)用
B.虛基類可以解決由多繼承產(chǎn)生的二義性問題
C.派生類構(gòu)造函數(shù)要負(fù)責(zé)調(diào)用基類的構(gòu)造函數(shù)
D.派生類沒有繼承基類的私有成員
14.若有以下定義:
inta[]={1,2,3,4,5,6,7};
charc1=’b’,c2=’2’;
則數(shù)值不為2的表達(dá)式是( )。
A.a[1]
B.’d’c1
C.a[’3’-c2]
D.c2-0
15.已知intm=10;在下列定義引用的語句中,正確的是( )。
A.int&x=m;
B.inty=&m;
C.int&z;
D.int&t=&m;
16.針對數(shù)組定義intdata[10];,下列表述中錯誤的是( )。
A.用*data可訪問到數(shù)組的首元素
B.用data[9]可訪問到數(shù)組的末元素
C.用data[10]訪問數(shù)組元素會超出數(shù)組邊界
D.data共有10個元素,其首元素是data[1]
17.設(shè)有定義:
classperson
{inthum;
charname[10];
public:
voidinit(intn,char*m);
};
personstd[30]
則以下敘述不正確的是( )。
A.std是一個含有30個元素的對象數(shù)組
B.std數(shù)組中的每個元素都是person類的對象
C.std數(shù)組中的每個元素都有自己的私有變量num和name
D.std數(shù)組中的每個元素都有各自的成員函數(shù)init
18.若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯誤的是( )。
A.函數(shù)調(diào)用可以作為獨(dú)立的語句存在
B.函數(shù)調(diào)用可以無返回值
C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中
D.函數(shù)調(diào)用可以作為一個函數(shù)的形參
19.已知Value是一個類,Value是Value的一個對象。
下列以非成員函數(shù)形式重載的運(yùn)算符函數(shù)原形中,正確的是( )。
A.Valueoperator+(Valuev,inti);
B.Valueoperator+(Valuev=value,inti);
C.Valueoperator+(Valuevinti=O);
D.Valueoperator+(Valuev=value,inti=O);
20.下列關(guān)于運(yùn)算符重載不正確的是( )。
A.運(yùn)算符重載不能改變運(yùn)算符的操作數(shù)個數(shù)
B.運(yùn)算符重載不能改變運(yùn)算符的優(yōu)先級
C.運(yùn)算符重載不能改變運(yùn)算符的結(jié)合性
D.運(yùn)算符重載能改變對預(yù)定義類型數(shù)據(jù)的操作方式
21.派生類對象對其基類中的什么成員是可訪問的?( )
A.公有繼承的私有成員
B.私有繼承的公有成員
C.私有繼承的保護(hù)成員
D.保護(hù)繼承的保護(hù)成員
22.有如下程序:
#included
usingnamespacestd;
classA{
public:
virtualvoidfuncl(){cout<<"A1";)
voidrune2(){cout<<"A2";}};
classB:publicA{
public:
voidfuncl(){cout<<:"B1";}
voidfunc2(){eout<<"B2";}};
intmain(){
A*p=newB;
p->func1();
P->func2();
return0;}
執(zhí)行該程序,屏幕上將顯示輸出( )。
A.B1B2
B.A1A2
C.B1A2
D.A1B2
23.重載輸人流運(yùn)算符>>必須使用的原型為( )。
A.istream&operator>>(istream&,<類名>&);
B.istream&operator>>(istream,<類名>);
C.istreamoperator>>(istream,<類名>&);
D.<類名>operator>>(istream&,<類名>&);
24.有如下語句序列:
intk=0:
do{k+=5;cout<<’$’;}whilc(k<19);
while(k->O)cout<<’*’;
執(zhí)行上面的語句序列輸出字符“$”和“*”的個數(shù)分別是( )。
A.4和20
B.5和20
C.4和21
D.5和21
25.下列關(guān)于模板的說法正確的是( )。
A.模板的實(shí)參在任何時候都可以省略
B.類模板與模板類所指的是同一概念
C.類模板的參數(shù)必須是虛擬類型的
D.類模板中的成員函數(shù)全部都是模板函數(shù)
26.有以下程序:
#include
usingnamespacestd;
classA
{private:
inta:
public:
A(inti)
{a=i;}
voiddisp()
{cout< classB
(private:
intb;
public:
B(intj)
{b=j;}
voiddisp()
{cout< classC:publicB,publicA
{private:
intC;
public:
c(intk):A(k-2),B(k+2)
{c=k;
}
voiddisp()
{
a::disp();
B::disp();
COUt< }
};
intmain()
{
Cobj(10);
obj.disp();
return0;
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10
27.下列程序的輸出結(jié)果是( )。#include
voidmain()
(char*str="12123434";
intx1=0,x2=0,x3=0,x4=0,i;
for(i=0;str[i]!=’\0’;i++)
switch(str[i])
{case’1’:x4++;
case’2’:x3++;
case’3’:x2++;
case’4’:x1++;
}
cout< <","< }
A.8,6,4,1
B.8,6,3,2
C.8,8,4,1
D.8,6.4,2
28.以下不能正確創(chuàng)建輸出文件對黎并使其與磁盤文件相關(guān)聯(lián)的語句是( )。
A.ofstreammyfile;myfile.open("d:ofile.txt");
B.ofstream*myfile=newofstream;myfile->open("d:ofile.txt”);
C.ofstreammyfile("d:ofile.txt");
D.ofstream*myfile=new("d:ofile.txt");
29.以下類定義中可能會引起錯誤的語句是( )。
classA
{
public:
~A( ){}//1
inti;//2
private:
intj;//3
A(inti){i++;}//4
};
A.1
B.2
C.3
D.4
30.有如下程序:
#include
usingnamespacestd;
classTestClass
{public:
virtualvoidfunl()
{cout<<"funlTestClass";}
virtualvoidfun2()
{cout<<“fun2TestClass”;}};
classTestClassl:publicTestClass
{voidfun()
{cout<<“funlTestClassl”;}};
intmain()
{TestClassobj1,*P;
TestClasslobj2;
p=&obj2;
p->fun1();
p->fun2();
return0;}
該程序執(zhí)行后的輸出結(jié)果是( )。
A.funlTestClasslfun2TestClass
B.funlTestClass1fun2TestC1ass1
C.funlTestClassfun2TestClass
D.funlTestClassfun2TestClassl
31.有如下程序:
#included
usingnamespqcestd;
classTestClass
{
private;
charC;
public;
TestClass(charn):c(n){}
~TestClass()
{
cout< }
};
classTestClassl:publicTestClass
{
private:
charC;
public:
TestClassl(charn):TestClass(n+1),c(n){}~TestClassl()
{
cout< }
};
intmain()
{
TestClasslobj(’X’);
return0;
}
執(zhí)行上面的程序?qū)⑤敵? )。
A.xy
B.yx
C.X
D.y
32.有如下程序:
#include
usingnamespacestd;
classBase
{
public:
Base(){cout<<"BB";f();}
voidf(){cout<<"BF";}
};
classDerived:publicBase
{
public:
Derived(){cout<<"DD";}
voidf(){eout<<"Df";}
};
intmain(){Derivedd;return0;}
執(zhí)行上面的程序?qū)⑤敵? )。
A.BBBfDD
B.BBDfDDDf
C.DD
D.DDBBBf
33.已知枚舉類型定義語句為
enHmToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
則下列敘述中錯誤的是( )。
A.枚舉常量NAME的值為1
B.枚舉常量NUMBER的值為1
C.枚舉常量MINUS的值為6
D.枚舉常量PRINT的值為10
34.有如下程序:
#include
usingnamespacestd;
classBASE{
public:
~BASE(){cout<<"BASE";}
};
classDERIVED:publicBASE{
public:
~DERIVED(){cout<<"DERIVED";}
};
intmain(){DERIVEDx;return0;)
執(zhí)行后的輸出結(jié)果是( )。
A.BASE
B.DERlVED
C.BASEDERIVED
D.DERlVEDBASE
35.有如下程序:
#include
usingnamespacestd;
classTest
{
public:
Test(){n+=2;}
~Test(){n-=3;}
staticintgetNum(){returnn;}
private:
staticintn;
};
intTest::n=1;
intmain()
{
Test*p=neWTest;
deletep;
cout<<"n="< return0;
}
執(zhí)行該程序的輸出結(jié)果是( )。
A.n=0
B.n=1
C.n=2
D.n=3
36.下列關(guān)于純虛函數(shù)與抽象類的描述中,錯誤的是( )。
A.純虛函數(shù)是一種特殊的虛函數(shù),它沒有具體的實(shí)現(xiàn)
B.抽象類是指具有純虛函數(shù)的類
C.一個基類聲明了純虛函數(shù),該基類的派生類一定不是抽象類
D.抽象類只能作為基類來使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類給出
37.以下程序的輸出結(jié)果是( )。
#include
longfun(intn)
{longS;
if(n==1‖n==2)s=2;
elses=n-fun(n-1):
returnS;
}
voidmain(){cout< A.1
B.2
C.3
D.4
38.對于模板定義關(guān)鍵字class和typename說法不正確的是( )。
A.程序中的class并不能都替換為typename
B.class和typename都可互相替換
C.程序中的typename都能替換為class
D.程序中的部分class可以替換為typename
39.有如下程序:
#include
usingnamespacestd;
classCon
charID;
public:
Con():ID(’A){cout<<1;}
Con(charID):ID(ID){eout<<2;}
Con(Con&c):ID(c.getID()){cout<<3;}
chargetID()corlst{returnID;}
};
voidshow(Conc)(cout< intmain()
{
Conc1:
show(c1);
Conc2(’B’);
show(c2);
return0;
}
執(zhí)行上面程序的輸出是( )。
A.13A23A
B.23A13B
C.13A23B
D.13823A
40.對于類定義:
classA{
public:
virtualvoidfuncl(){}
voidfunc2(){}
};
classB:publicA{
public:
voidfuncl(){cout<<"classBfunc1"< virtualvoidfunc2(){cout<<"classBfunc2"
< };
下面正確的敘述是( )。
A.A::func2( )和B::func1( )都趙虛函數(shù)
B.A::rune2( )和B::func1( )都不是虛函數(shù)
C.B::func1( )是虛函數(shù),而A::fune2( )不是虛函數(shù)
D.B::func1( )不是虛函數(shù),而A::func2( )是虛函數(shù)
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年12月全國計(jì)算機(jī)等級考試必做試題匯總
2018年全國計(jì)算機(jī)等級考試必做試題匯總(各科目)
各地2018年12月全國計(jì)算機(jī)等考準(zhǔn)考證打印時間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |