版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023年自考類計(jì)算機(jī)類(工學(xué)類)C++程序設(shè)計(jì)題庫(kù)卷I一.歷年考點(diǎn)試題黑鉆版(共50題)1.對(duì)象的______只能由這個(gè)對(duì)象的操作來(lái)存取。2.下列運(yùn)算符中,在C++語(yǔ)言中不能重載的是______A.*B.>=C.::D./3.從本質(zhì)上看,引用變量是被引用變量的A.拷貝B.別名C.復(fù)制D.克隆4.以下有關(guān)類與對(duì)象的敘述中,錯(cuò)誤的是______A.對(duì)象是類的一個(gè)實(shí)例B.一個(gè)類可以有多個(gè)對(duì)象C.任何一個(gè)對(duì)象都?xì)w屬于一個(gè)具體的類D.只要是某個(gè)類的對(duì)象,那么該對(duì)象就可以訪問(wèn)這個(gè)類的所有成員5.#include<iostream.h>
classpoint{
private:floatx,y;
public:point(floata,floatb){x=a;y=b;}
voidf(){x=0;y=0;}
voidgetx(){cout<<x<<endl;}
voidgety(){cout<<y<<endl;}
};
main(){
pointa(3.5);
a.getx();
}6.如果在類模板的定義中有一個(gè)靜態(tài)數(shù)據(jù)成員,則在程序進(jìn)行中會(huì)產(chǎn)生______靜態(tài)變量。7.類MyClass的定義如下:
classMyClass
{
public:
MyClass(){}
MyClass(inti){value=newint(i);}
int*value;
};
若要對(duì)value賦值,則下面語(yǔ)句正確的是
A.MyClassmy;my.value=10;B.MyClassmy;*my.value=10;C.MyClassmy;my.*value=10;D.MyClassmy(10);8.請(qǐng)?jiān)跈M線處填寫正確的內(nèi)容,使復(fù)制構(gòu)造函數(shù)的聲明完整。
classMyClass{
private:
intnum;
public:
MyClass(intvalue);
//構(gòu)造函數(shù)
MyClass(coast______anotherObject);//復(fù)制構(gòu)造函數(shù)
};9.在下面程序橫線處填上適當(dāng)內(nèi)容,使程序執(zhí)行結(jié)果為:Y=1,Y=3,Z=5。
#include<iostream.h>
classB
{private:
intY;
public:
B(inty=0){Y=y;}
voidprint(){cout<<"Y="<<Y<<",";}
};
classD:publicB
{private:
Bb;
intZ;
public:
D(intx,inty,intz):B(X),b(y){Z=z;}
voidprint()
{______;//打印基類B中的成員Y
______;//打印類成員b中的Y值
cout<<"Z="<<Z<<endl;
}
};
voidmain()
{Dd(1,3,5);
d.print();
}10.文件包含語(yǔ)句是指一個(gè)程序把另一個(gè)指定文件的內(nèi)容包含進(jìn)來(lái),關(guān)于其描述錯(cuò)誤的是______A.使用尖括號(hào)是引用系統(tǒng)提供的包含文件B.使用引號(hào)是引用自己定義的包含文件C.使用尖括號(hào)是首先在系統(tǒng)設(shè)定的目錄中尋找包含文件,如果沒(méi)有找到,到指定目錄中尋找D.使用引號(hào)是通知C++編譯器在用戶當(dāng)前目錄或指定目錄下尋找包含文件,指定目錄必須在同一邏輯盤中。11.在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是______的頭文件。12.析構(gòu)函數(shù)的參數(shù)個(gè)數(shù)為_(kāi)_____A.0個(gè)B.1個(gè)C.至少1個(gè)D.多于1個(gè)13.實(shí)現(xiàn)兩個(gè)相同類型數(shù)加法的函數(shù)模板的聲明是______A.add(Tx,Ty)B.Tadd(x,y)C.Tadd(Tx,y)D.Tadd(Tx,Ty)14.C++程序設(shè)計(jì)語(yǔ)言中的______機(jī)制,可以從現(xiàn)存類中構(gòu)建其子類。15.給出下面程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
classbase
{
private:
intx;
public:
voidsetx(inta){x=a;}
intgetx(){returnx;}
};
voidmain()
{
basea,b;
a.setx(89);
b=a;
cout<<a.getx()<<endl;
cout<<b.getx()<<endl;
}16.下列關(guān)于this指針的說(shuō)法中,錯(cuò)誤的是______A.this指針指向的數(shù)據(jù)可以更改B.this指針可以指向常量型數(shù)據(jù)C.this指針本身可直接作為成員函數(shù)的返回值D.靜態(tài)成員函數(shù)中也具有this指針17.下列關(guān)于類的描述中,錯(cuò)誤的是______A.類是一組對(duì)象的模板B.類是抽象數(shù)據(jù)的實(shí)現(xiàn)C.類是數(shù)據(jù)和方法的封裝體D.類是對(duì)象的實(shí)例18.使用C++編譯器對(duì)C++源程序進(jìn)行編譯產(chǎn)生文件的擴(kuò)展名是______。19.#include<iostream.h>
classBas
{public:
~Bas(){cout<<"Basconstruct"<<endl;}
virtualvoidf()=0;
};
classDev:publicBas
{public:
~Dev(){cout<<"Basconstruct"<<endl;}
virtualvoidf(){cout<<"Dev::f"<<endl;}
};
voidmain()
{
Bas*a=newBas();
Devp;
a=&p;
a->f();
}20.在C++中,有兩種給出注釋的方法。一種是沿用C語(yǔ)言的注釋符,即/**/。另一種是從它開(kāi)始,直到它所在行尾的字符都為注釋的注釋符,即______。21.#include<iostream>
usingnamespacestd;
voidmain()
{
intx1(3),x2(8);
int*constp=&x1;
cout*pendl;
p=&x2;
cout*pendl;
}22.程序用于在屏幕上顯示指定的文本文件的內(nèi)容。
#include<iostream>
#include<fstream>
usingnamespacestd;
intmain()
{
ifstreamifile;
charfn[20],ch;
cout"輸入文件名";
cin>>fn;
____________;//打開(kāi)指定的文件
if(!ifile)
{
cout"文件不能打開(kāi)"endl;
return0;
}
while((ch=ifile.get())!=EOF)
____________;//輸出字符
coutendl;
ifile.close();//關(guān)閉文件
return1;
}23.在下面程序橫線處填上適當(dāng)內(nèi)容,使程序執(zhí)行結(jié)果為:200__100。
#include<iostream.h>
template<classT>
Tf(______)
{if(______)
returnx+y;
else
returnx*y;
}
voidmain()
{cout<<f(10,20)<<"__"<<f(45.5,54.5)<<endl;}24.#include<iostream>
usingnamespacestd;
template<T>
Tmax(Tx,Ty)
{
if(x>=y)returnx;
elsereturny;
}
voidmain()
{
coutmax(6.07,9.08)endl;
coutmax(20,50)endl;
}25.類中函數(shù)數(shù)據(jù)成員的訪問(wèn)權(quán)限有三種,它們是public、______和protected。26.類的私有成員只能被它的成員函數(shù)和______訪問(wèn)。27.C++中類的成員默認(rèn)為_(kāi)_____A.publicB.privateC.protectedD.static28.C++中的虛函數(shù)幫助類實(shí)現(xiàn)了______。29.在派生中,訪問(wèn)控制方式?jīng)]有下列哪種
A.publishB.publicC.protectedD.private30.在下面程序橫線處填上適當(dāng)內(nèi)容,使程序執(zhí)行結(jié)果為:40:15程序如下:
#include<iostream.h>
template<classT>
Tfunc(Tx,Ty){
if(sizeof(T)==8)
return______;
else
return______;
}
voidmain(){
cout<<func(8,5)<<":"<<func(5.0,10.0)<<endl;
intd;cin>>d;
}31.classpoint{
private:
intx,y;
public:
point(int,int);
point(point&);
};
point::point(inta,intb)
{
x=a;
______=b;
}
point::point(______)
{
x=z.x;
y=z.y;
}
voidmain(){
pointp1(2,3);
pointp2(p1);
}32.C++語(yǔ)言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和______。33.通過(guò)C++語(yǔ)言中的類的______,可以擴(kuò)充和完善已有類以適應(yīng)新的需求。34.程序的輸出結(jié)果如下:
m=4.3,n=3
m=6,n=9
請(qǐng)根據(jù)輸出數(shù)據(jù)在下面程序的橫線處填寫正確的語(yǔ)句。
#include<iostream.h>
______
classTest
private:
T1m,n;
public:
Test(T1i,T1j){m=i;n=j;}
voidshow(){cout<<"m="<<m<<",n="<<n<<endl;}
};
voidmain()
{Test<double>a(4.3,3);
a.show();
______b(6,9.6);
b.show();}35.類模板用來(lái)表達(dá)具有______的模板類對(duì)象集。36.下列關(guān)于運(yùn)算符重載的敘述中,錯(cuò)誤的是______A.通過(guò)運(yùn)算符重載,不可以定義新的運(yùn)算符B.有的運(yùn)算符只能作為成員函數(shù)重載C.若重載運(yùn)算符為“+”,則相應(yīng)的運(yùn)算符函數(shù)名是“+”D.重載一個(gè)二元運(yùn)算符時(shí),不一定需要聲明兩個(gè)形參37.友元函數(shù)的主要作用是______A.提高程序的效率B.加強(qiáng)類的封裝性C.實(shí)現(xiàn)數(shù)據(jù)的隱蔽性D.增加成員函數(shù)的種類38.下列訪問(wèn)公有靜態(tài)成員的方式,錯(cuò)誤的是
A.類名::靜態(tài)成員名B.對(duì)象名.靜態(tài)成員名C.對(duì)象指針->靜態(tài)成員名D.對(duì)象指針.靜態(tài)成員名39.聲明友元使用的關(guān)鍵字為
A.constB.staticC.classD.friend40.通過(guò)抽象歸納,C++可使用三要素______、______、______來(lái)描述對(duì)象。41.下列敘述不符合賦值兼容規(guī)則的是______A.派生類的對(duì)象可以賦給基類的對(duì)象B.基類的對(duì)象可以賦給派生類的對(duì)象C.派生類的對(duì)象可以初始化基類的引用D.派生類的對(duì)象的地址可以賦給指向基類的指針42.使用STL庫(kù)中的算法對(duì)數(shù)組進(jìn)行升冪排序、反轉(zhuǎn)、復(fù)制數(shù)組的內(nèi)容等操作,需要包含頭文件______。43.執(zhí)行______操作將釋放由指針?biāo)赶虻膭?dòng)態(tài)分配的內(nèi)存空間。44.虛函數(shù)實(shí)現(xiàn)多態(tài)性的前提不包括______A.類之間的繼承關(guān)系滿足賦值兼容性規(guī)則B.改寫了同名虛函數(shù)C.虛函數(shù)是類中的一個(gè)成員函數(shù)D.根據(jù)賦值兼容性規(guī)則使用指針(或引用)45.classBase
{
public:
voidfun(){cout<<"Baseoffun"<<endl;}
};
classDerived:publicBase
{
voidfun()
{
______//調(diào)用基類的成員函數(shù)fun
cout<<"Derivedoffun"<<endl;
}
};46.已定義intx=6,下列關(guān)于該句的引用正確的是______A.int&a=x;B.int&&r=x;C.int*&p=&x;D.int&a=&x;47.C++中語(yǔ)句constchar*constp="hello";所定義的指針p和它所指的內(nèi)容都不能被______。48.#include<iostream.h>
classA
{
inti;
public:
virtualvoidfun()
{cout<<"A:fun()"<<endl;}
A(inta)
{i=a;}
};
classB:publicA
{
intj;
public:
voidfun(){cout<<"B::fun()\n";}
B(intb,intc){j=c;}
};
voidmain()
{
A*P;
Bb(3,5);
p=&b;
p->fun();
}49.在沒(méi)有為一個(gè)類定義任何構(gòu)造函數(shù)的情況下,下列描述正確的是______A.編譯器總是自動(dòng)創(chuàng)建一個(gè)不帶參數(shù)的構(gòu)造函數(shù)B.這個(gè)類沒(méi)有構(gòu)造函數(shù)C.這個(gè)類不需要構(gòu)造函數(shù)D.該類不能通過(guò)編譯50.已知f和g是同一類中的兩個(gè)成員函數(shù),若f的實(shí)現(xiàn)代碼體內(nèi)不能調(diào)用g,則可能的情況是
A.f和g都是常成員函數(shù)B.f是常成員函數(shù),g不是C.f不是常成員函數(shù),g是常成員函數(shù)D.g和f都不是常成員函數(shù)卷I參考答案一.歷年考點(diǎn)試題黑鉆版1.參考答案:屬性2.參考答案:C[解析]C++的運(yùn)算符大部分都可以重載,不能重載的只有.、∷、*和?:。3.參考答案:B[考點(diǎn)]C++的引用[解析]引用實(shí)際上是變量的別名,引用與變量只是同一內(nèi)存空間的不同名字,使用引用就如同直接使用變量一樣。引用與指針都會(huì)對(duì)內(nèi)存地址上的變量進(jìn)行修改,但引用不占有新的地址,節(jié)省了內(nèi)存開(kāi)銷。故選B。4.參考答案:D[解析]類的對(duì)象只能訪問(wèn)該類的公有成員,不能訪問(wèn)該類的保護(hù)成員和私有成員。5.參考答案:錯(cuò)誤所在行:pointa(3.5);修改意見(jiàn):pointa(3.5,2.5);[考點(diǎn)]函數(shù)參數(shù)、構(gòu)造函數(shù)[解析]程序執(zhí)行到語(yǔ)句pointa(3.5);時(shí),會(huì)調(diào)用類point的構(gòu)造函數(shù),題目中所給的構(gòu)造函數(shù)的參數(shù)有兩個(gè),而語(yǔ)句pointa(3.5);只含有一個(gè)參數(shù),程序執(zhí)行時(shí)會(huì)報(bào)錯(cuò)。修改的意見(jiàn)是只要語(yǔ)句中含有兩個(gè)float參數(shù)即可。6.參考答案:一個(gè)或者多個(gè)[考點(diǎn)]類模板與靜態(tài)成員[解析]類模板允許有靜態(tài)成員,它們是類模板的實(shí)例化類的靜態(tài)成員。對(duì)于每個(gè)類模板的每一個(gè)實(shí)例化類,其所有的對(duì)象共享其靜態(tài)成員。所以靜態(tài)成員的個(gè)數(shù),取決于有多少個(gè)實(shí)例化類。7.參考答案:D8.參考答案:MyClass&[考點(diǎn)]復(fù)制構(gòu)造函數(shù)的聲明[解析]對(duì)于一個(gè)類A而言,復(fù)制構(gòu)造函數(shù)的原型是:
A::A(constA&)9.參考答案:B::print()
b.print()10.參考答案:D[考點(diǎn)]C++預(yù)處理程序[解析]使用尖括號(hào)是引用系統(tǒng)提供的包含文件,使用引號(hào)是引用自己定義的包含文件;使用尖括號(hào)是首先在系統(tǒng)設(shè)定的目錄中尋找包含文件,如果沒(méi)有找到,到指定目錄中尋找;使用引號(hào)是通知C++編譯器在用戶當(dāng)前目錄或指定目錄下尋找包含文件,指定目錄不必在同一邏輯盤中。11.參考答案:自定義12.參考答案:A[考點(diǎn)]本題主要考查的知識(shí)點(diǎn)為析構(gòu)函數(shù)。
析構(gòu)函數(shù)沒(méi)有參數(shù),本題選A。13.參考答案:D14.參考答案:繼承[考點(diǎn)]繼承[解析]繼承使得程序員可以在一個(gè)一般的類的基礎(chǔ)上很快建立一個(gè)新類,而不必從零開(kāi)始設(shè)計(jì)每個(gè)類。15.參考答案:8989[考點(diǎn)]類和對(duì)象[解析]b=a,使對(duì)象b的數(shù)據(jù)成員取a的數(shù)據(jù)成員的值,所以對(duì)象a、b數(shù)據(jù)成員x的值都為89。16.參考答案:D[考點(diǎn)]this指針[解析]C++規(guī)定,當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),系統(tǒng)自動(dòng)向它傳遞一個(gè)隱含的參數(shù),指向調(diào)用該函數(shù)的對(duì)象的指針。this指針可指向常量型數(shù)據(jù)、可指向成員函數(shù),但不可以指向靜態(tài)成員函數(shù)等,所以ABC項(xiàng)正確,D項(xiàng)有誤。17.參考答案:D[考點(diǎn)]類的定義[解析]類是一組對(duì)象的模板,所有對(duì)象是類的實(shí)例,所以D項(xiàng)是錯(cuò)誤的。18.參考答案:obj19.參考答案:Bas*a=newBas();抽象類不能被實(shí)例化,但可以聲明指針或引用,所以不能用new,因?yàn)閚ew產(chǎn)生臨時(shí)對(duì)象。應(yīng)改為Bas*a;。20.參考答案://21.參考答案:int*constp=&x1;錯(cuò)誤。[修改]int*p=&x1;[解析]在指針變量前加const表示一個(gè)常指針即地址不能變化,它指向的變量不能改變且定義時(shí)必須設(shè)置指向變量或?qū)ο蟮牡刂贰?2.參考答案:ifile.open(fn),countch23.參考答案:Tx,Ty
sizeof(T)==824.參考答案:T改為typenameT或classT25.參考答案:private[考點(diǎn)]類和對(duì)象[解析]類中定義的數(shù)據(jù)和函數(shù)成員的訪問(wèn)權(quán)限有public、private和protected三種。26.參考答案:友元27.參考答案:B[考點(diǎn)]類的成員函數(shù)[解析]類成員均有一個(gè)訪問(wèn)權(quán)限,通過(guò)關(guān)鍵字private、public、protected來(lái)定義。如果沒(méi)有使用關(guān)鍵字,則所有成員默認(rèn)聲明為private權(quán)限。故選B。28.參考答案:多態(tài)性[考點(diǎn)]虛函數(shù)實(shí)現(xiàn)多態(tài)性的條件[解析]C++編譯器對(duì)調(diào)用虛函數(shù)進(jìn)行動(dòng)態(tài)聯(lián)編,這種多態(tài)性是程序進(jìn)行到需要的語(yǔ)句處才動(dòng)態(tài)確定的。29.參考答案:A[解析]所謂“訪問(wèn)控制”是指如何控制基類成員在派生類中的訪問(wèn)屬性,它是3個(gè)關(guān)鍵字public、protected和private中的一個(gè)。30.參考答案:x+y
x*y31.參考答案:y
point&z32.參考答案:循環(huán)結(jié)構(gòu)33.參考答案:繼承34.參考答案:template<classT1>
Test<int>35.參考答案:相同處理方法36.參考答案:C[考點(diǎn)]運(yùn)算符重載[解析]成員函數(shù):?jiǎn)文窟\(yùn)算
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)士臨床能力考核總結(jié)
- 無(wú)人機(jī)在火災(zāi)防控中的應(yīng)用培訓(xùn)
- 幼兒流感預(yù)防指南
- 二零二五年贍養(yǎng)老人個(gè)人所得稅分?jǐn)傌?zé)任書范本3篇
- 二零二五個(gè)人公司股權(quán)投資風(fēng)險(xiǎn)控制合同3篇
- 二零二五年度航天器關(guān)鍵技術(shù)研發(fā)合作合同3篇
- 二零二五年度個(gè)人企業(yè)經(jīng)營(yíng)抵押借款合同
- 2025版通信管材采購(gòu)與施工監(jiān)理服務(wù)合同3篇
- 二零二五年電影廣告植入融資居間合同3篇
- 沙漠光伏基座施工方案
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 2025-2030年中國(guó)糖醇市場(chǎng)運(yùn)行狀況及投資前景趨勢(shì)分析報(bào)告
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 冬日暖陽(yáng)健康守護(hù)
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書
- 水處理藥劑采購(gòu)項(xiàng)目技術(shù)方案(技術(shù)方案)
- 2024級(jí)高一上期期中測(cè)試數(shù)學(xué)試題含答案
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊(cè)
- 天然氣脫硫完整版本
- 山東省2024-2025學(xué)年高三上學(xué)期新高考聯(lián)合質(zhì)量測(cè)評(píng)10月聯(lián)考英語(yǔ)試題
- 不間斷電源UPS知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論