點擊查看:2018年9月計算機二級C++考前基礎(chǔ)練習(xí)題及答案匯總
1.下列控制格式輸入輸出的操作符中,能夠設(shè)置浮點數(shù)精度的是( )。
A.setprecision
B.setw
C.setfill
D.showpoint
2.下列程序段中包含4個函數(shù),其中具有隱含this指針的是( )。
intfunl( );
classTest{
public:
intfun2( );
friendintfun3( );
staticintfun4( );
};
A.funl
B.fun2
C.fun3
D.fun4
3.有如下程序:
#include
usingnamespacestd;
classTest(
public:
Test( ){}
Test(constTest8Lt){cout<<1;}
};
Testfun(Test&u){Testt=U;returnt;}
intmain( ){Testx,y;x=fun(y);return0;}
運行這個程序的輸出結(jié)果是( )。
A.無輸出
B.1
C.1l
D.111
4.有如下程序:
#include
usingnamespacestd;
classA{
public:
A(inti=O):rl(i){}
voidprint( ){cout<<’E’
voidprint(intx){cout<<’P’<-’;}
private:
intr1;
};
intmain( ){
Aal:
constAa2(4);
a1.print(2);
a2.print( );
return0;
}
運行時的輸出結(jié)果是( )。
A.P8一E4
B.P8一C16一
C.P0一E4一
D.P0一C16—
5.下列代碼段聲明了3個類:
classPerson{);
classStudent:publicPerson{};
classUndergraduate:Student{);
下列關(guān)于這些類之間關(guān)系的描述中,錯誤的是( )。
A.類Person是類Undergraduate的基類
B.類Undergraduate從類Student公有繼承
C.類Student是類Person的派生類
D.類Undergraduate是類Person的派生類
6.有如下程序:
#include
Usingnamespacestd;
classBase{
public:
Base(intx=O):valB(x){cout<~Base( ){cout
intvalB:
};
classDerived:publicBase{
public:
Derived(intX=0,inty=0):Base(x),valD(y)(cout<~Derived( ){cout
intvalD;
};
intmain( ){
Derivedobj12(2,3);
return0;
}
運行時的輸出結(jié)果是( )。
A.2332
B.2323
C.3232
D.3223
7.下面是類Shape的定義:
classShape{
public:
virtualvoidDraw( )=0;
}
下列關(guān)于Shape類的描述中,正確的是( )。
A.類Shape是虛基類
B.類Shape是抽象類
C.類Shape中的Draw函數(shù)聲明有誤
D.語句“ShapeS;”能夠建立Shape的一個對象S
8.將運算符“+”重載為非成員函數(shù),下列原型聲明中,錯誤的是( )。
A.MyClockoperator+(MyClock,long);
B.MyClockoperator+(MyClock,MyCloek);
C.MyCloekoperator+(long,long);
D.MyClockoperator+(long,MyCloek):
9.打開文件時可單獨或組合使用下列文件打開模式:
、賗os_base::aop
、趇os_base::binary
、踚os_base::
、躨os_base::out
若要以二進(jìn)制讀方式打開一個文件,需使用的文件打開模式為( )。
A.①③
B.①④
C.②③
D.②④
10.有如下程序:
#include
usingnamespacestd;
classB{
public:
B(intxx):x(xx){++count;x+=10;}
virtualvoidshow( )const
{cout
staticintcount;
private:
intx;
};
classD:publicB{
public:
D(intxx,intyy):B(XX),y(yy){++count;y+=
100;)
virtualvoidshow( )const
{cout
inty;
};
intB::count==0;
intmain( ){
B*ptr=newD(10,20);
ptr->show( );
deleteptr;
return0;
}
運行時的輸出結(jié)果是( )。
A.1_120
B.2_120
C.1_20
D.2_20
參考答案:
1.A!窘馕觥縮etprecision(int)是設(shè)置浮點數(shù)的精度,setw(intn)是設(shè)置輸入輸出寬度,setfill(charc)設(shè)置填充字符,showpoint即使小數(shù)部分為0,也輸出以及其后的無效數(shù)據(jù)0。
2.B!窘馕觥縯his指針是成員函數(shù)所屬對象的指針,是指向類對象的地址,是一個隱含的指針,隱含于每個類的非靜態(tài)成員函數(shù)中。funl是外部函數(shù),fun3是友元函數(shù),fun4是靜態(tài)成員函數(shù),故選B。
3.C。【解析】本題調(diào)用了fun函數(shù)。
4.D。
5.B!窘馕觥款怳ndergraduate從類Student私有繼承,繼承方式缺省則默認(rèn)是private。
6.A!窘馕觥勘绢}使用析構(gòu)函數(shù)。
7.B!窘馕觥砍橄箢愂穷愔兄辽儆幸粋純虛函數(shù),抽象類是用來被繼承的,即是用來生成派生類,它本身不能生成實例。
8.C!窘馕觥糠浅蓡T函數(shù)一般都是友元函數(shù),相比成員函數(shù)第一個操作數(shù)是對象本身以thiS指針的形式隱含在參數(shù)列表中,非成員函數(shù)調(diào)用必須顯式的列出參數(shù);選項C中沒有MyClock類型,故選C。
9.D!窘馕觥縤os_base::binary是作為二進(jìn)制文件打開,ios_base::out是為輸出而打開,故選D。
10.B。【解析】本題考查了類的繼承。繼承有3種方式,public公有、private私有和protected保護(hù),本題都涉及了。本題中類D公有繼承類B。在類B中又定義了虛函數(shù),并且有保護(hù)類靜態(tài)類型count及私有變量x。主函數(shù)中調(diào)用類D,類D又繼承了類B,經(jīng)過系統(tǒng)及調(diào)用,本題最終結(jié)果為2_120。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復(fù)習(xí)知識點匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |