全国计算机等级考试二级c真题201903,计算机等级考试题库,二级C++试题
因害怕失敗而不敢放手一搏,永遠不會成功。
因害怕計算機等級考試不過關而不敢去嘗試做二級C++試題,永遠不能戰勝自己。
1.派生類對象對其基類中的什么成員是可訪問的?( )
A.公有繼承的私有成員
B.私有繼承的公有成員
C.私有繼承的保護成員
D.保護繼承的保護成員
2.有如下程序:
#included
usingnamespacestd;
classA{
public:
virtualvoidfuncl(){cout<
voidrune2(){cout<
classB:publicA{
public:
voidfuncl(){cout<
voidfunc2(){eout<
intmain(){
A*p=newB;
p->func1();
P->func2();
return0;}
執行該程序,屏幕上將顯示輸出( )。
A.B1B2
B.A1A2
C.B1A2
D.A1B2
3.重載輸人流運算符>>必須使用的原型為( )。
A.istream&operator>>(istream&,&);
B.istream&operator>>(istream,);
C.istreamoperator>>(istream,&);
D.operator>>(istream&,&);
4.有如下語句序列:
intk=0:
do{k+=5;cout<
while(k->O)cout<
執行上面的語句序列輸出字符“$”和“*”的個數分別是( )。
A.4和20
B.5和20
C.4和21
D.5和21
5.下列關于模板的說法正確的是( )。
A.模板的實參在任何時候都可以省略
B.類模板與模板類所指的是同一概念
C.類模板的參數必須是虛擬類型的
D.類模板中的成員函數全部都是模板函數
6.有以下程序:
#include
usingnamespacestd;
classA
{private:
inta:
public:
A(inti)
{a=i;}
voiddisp()
{cout
(private:
intb;
public:
B(intj)
{b=j;}
voiddisp()
{cout
{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;
}
程序執行后的輸出結果是( )。
A.10,10,10
B.10,12,14
C.8,10,12
D.8,12,10
7.下列程序的輸出結果是( )。#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
8.以下不能正確創建輸出文件對黎并使其與磁盤文件相關聯的語句是( )。
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");
9.以下類定義中可能會引起錯誤的語句是( )。
classA
{
public:
~A( ){}//1
inti;//2
private:
intj;//3
A(inti){i++;}//4
};
A.1
B.2
C.3
D.4
10.有如下程序:
#include
usingnamespacestd;
classTestClass
{public:
virtualvoidfunl()
{cout<
virtualvoidfun2()
{cout<
classTestClassl:publicTestClass
{voidfun()
{cout<
intmain()
{TestClassobj1,*P;
TestClasslobj2;
p=&obj2;
p->fun1();
p->fun2();
return0;}
該程序執行后的輸出結果是( )。
A.funlTestClasslfun2TestClass
B.funlTestClass1fun2TestC1ass1
C.funlTestClassfun2TestClass
D.funlTestClassfun2TestClassl
1.B。【解析】本題考查關于C++語言繼承問題中派生類對基類的訪問。C++語言中通常有三種繼承修飾符,即public、protected、private,限制依次嚴格,另外對類中的數據和函數也由這三種修飾符進行限制,有三種成員是不能繼承的:公有繼承基類的私有成員,私有繼承基類的私有成員,保護繼承基類的私有成員。
2.C?!窘馕觥砍绦蛑蠦為A的派生類,由主函數入手,主函數中定義了類A的指針P指向類B。根據基類中的“virtualvoidfuncl()”知道A中的funcl為虛函數,執行“P->fund();”語句,通過指針變量調用此虛函數,此時調用的就是指針變量指向的同名函數,即派生類的fund函數,輸出B1。而fun2不是虛函數,所以執行“p->func2();”輸出為A2。
3.A。【解析】C++流的輸入運算符“>>”和輸出運算符“<>”須使用的原型是istream&operator>>(istream&,&);。
4.A。【解析】本題首先執行語句do{k+=5;cout<0)cout<
5.D?!窘馕觥吭贑++中規定如果一個類被聲明為類模板,那么其中的所有成員函數就都成為了模板函數。
6.D。【解析】本題中,派生類C具有多重繼承關系,所以在派生類C的構造函數中應該包含基類A和類B的成員初始化列表。
7.D?!窘馕觥勘绢}考查循環的嵌套、for和switch語句的應用、C++中各種條件判斷,循環語句的用法。只要注意在C++語言中,系統在字符指針的最后位置會增加一個字符串結束符’\0’,執行8次for循環,再根據switch語句中的條件易知答案。
8.D。【解析】本題考查文件對象的創建方法。可以直接定義文件對象,也可以用new來動態生成。很明顯,選項D中使用new的方式是錯誤的。
9.D?!窘馕觥勘绢}考查關于C++語言類的定義方法。在C++語言中類定義中的構造函數是私有的,但是卻調用了其中的公有變量,在實例化時會斟現錯誤。
10.A?!窘馕觥縏estClass為基類,TestClass1是TestClass的派生類?;愔械膄unl和fun2被定義為虛函數,C++規定,當一個成員函數被聲明為虛函數后,其派生類中的同名函數都自動成為虛函數,所以派生類中的funl和fun2也是虛函數。本題從main主函數入手,首先定義了TestClass類型的
對象obil和指針P,然后又定義了TestClassl的對象obj2。指針指向對象obj2,然后調用其成員函數fun1(),即輸出“funlTestClassl”。
考無憂小編tips:
大多數人掛了計算機考試,根源不在于你的資質不行,而是你壓根就沒刷幾套計算機等級考試題庫就去考試!懶得備考才是你掛科的罪魁禍首!趕緊復習以上的二級C++試題,還有點擊下方鏈接,把題目刷起來吧!
文章推薦:
溫馨提示:
考試想拿高分嗎?更多計算機等級考試題庫二級ms office試題請點擊查看>>>二級ms office
想要了解更多的計算機等級考試題庫請點擊下載>>>計算機等級考試題庫
想知道更多關于計算機等級考試題庫的最新資訊嗎?點擊進入>>>計算機等級考試題庫資訊
本文網址:http://www.k51.com.cn/info/jsjdjks/1903/2550652.html
總結
以上是生活随笔為你收集整理的全国计算机等级考试二级c真题201903,计算机等级考试题库,二级C++试题的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: CCD图像传感器的性能与应用
- 下一篇: 嵌入式 ARM 平台使用dm-crypt
