




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
絕密★考試結(jié)束前
全國2020年10月高等教育自學(xué)考試
C++程序設(shè)計試題
課程代碼:04737
1.請考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
2.答題前,考生務(wù)必將自己的考試課程名稱、姓名、準(zhǔn)考證號用黑色字跡的簽字筆或鋼筆
填寫在答題紙規(guī)定的位置上。
選擇題部分
注意事項:
每小題選出答案后,用2B鉛筆把答題紙上對應(yīng)題目的答案標(biāo)號涂黑。如需改動,用橡皮
擦干凈后,再選涂其他答案標(biāo)號。不能答在試題卷上。
一、單項選擇題:本大題共20小題,每小題1分,共20分。在每小題列出的備選項中
只有一項是最符合題目要求的,請將其選出。
1.下列選項中,能表現(xiàn)出C++語言的主要特點的是
A.繼承于C#語言B.可以進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計
C.不能進(jìn)行結(jié)構(gòu)化程序設(shè)計D.基于數(shù)據(jù)流的程序設(shè)計
2.下列關(guān)于C++語言類庫提供輸入流類和輸出流類的描述中,正確的是
A.輸入流類ostreamB.輸出流類istream
C.cin是istream類的對象D.cout是istream類的對象
3.下列關(guān)于封裝特點的描述中,錯誤的是
A.隱藏對象的屬性B.公開實現(xiàn)的細(xì)節(jié)
C.提供使用的信息D.公開的信息是與外界交互的接口
4.下列關(guān)于訪問范圍說明符public、private,protected的描述中,正確的是
A.每種關(guān)鍵字至少出現(xiàn)1次
B.不加說明符默認(rèn)為公有的
C.3種關(guān)鍵字出現(xiàn)的先后次序沒有限制
D.成員的訪問范圍由它之后最近的說明符決定
5.有關(guān)語句"Student*ss=newStudent[2];delete口ss;"的描述中,正確的是
A.delete[]ss釋放動態(tài)對象數(shù)組B.delete[]ss調(diào)用3次析構(gòu)函數(shù)
C.newStudent[2]分配8個字節(jié)的內(nèi)存D.newStudent[2]調(diào)用一次構(gòu)造函數(shù)
6.“classDemo{public:voidSetValue(){主函數(shù)中有語句uconstDemoObj;
Obj.SetValueO;'',正確的說法是
A.Obj是常量對象B.SetValue()函數(shù)值為整型
C.constDemoObj;編譯時錯誤D.Obj.SetValue。;編譯時正確
浙04737#C++程序設(shè)計試題第1頁(共10頁)
7.設(shè)類Test將其他類對象作為成員,則創(chuàng)建類Test的對象時,下列描述正確的是
A.先執(zhí)行類的構(gòu)造函數(shù)B.先執(zhí)行成員對象的構(gòu)造函數(shù)
C.先執(zhí)行類的析構(gòu)函數(shù)D.先執(zhí)行成員對象的析構(gòu)函數(shù)
8.下列關(guān)于重載流插入和流提取運算符的描述中,正確的是
A.不可以對流插入運算符進(jìn)行重載B.不可以對流提取運算符進(jìn)行重載
C.重載函數(shù)不能是流類庫中的成員D.流是標(biāo)準(zhǔn)類庫用戶能繼承也能修改
9.有定義“Demo&Demo::operatort-+(){...return*this;}”,若obj是類Demo的對象,
則以下描述錯誤的是
A.自增運算符“++”可以被重載B.函數(shù)可以區(qū)分前置及后置情況
C.++obj等價于obj.operator++D.obj++等價于obj.operator++()
10.當(dāng)派生類私有繼承基類時,基類中的公有成員和保護(hù)成員成為派生類的
A.public成員B.private成員
C.protected成員D.友元
11.下列關(guān)于派生類對象的初始化敘述中,正確的是
A.是由基類的構(gòu)造函數(shù)實現(xiàn)的
B.是由派生類的構(gòu)造函數(shù)實現(xiàn)的
C.是由基類和派生類的構(gòu)造函數(shù)實現(xiàn)的
D.是系統(tǒng)自動完成的不需程序設(shè)計者干預(yù)
12.下面關(guān)于基類和派生類的描述中,正確的是
A.一個類不能被多次說明為某個派生類的宜接類,可以不止一次地成為間接基類
B.一個類可以被多次說明為某個派生類的直接類,可以不止一次地成為間接基類
C.一個類不能被多次說明為某個派生類的直接類,但只能成為一次間接基類
D.一個類可以被多次說明為某個派生類的直接類,但只能成為一次間接基類
13.對于下面類定義,正確的敘述是
classA{
public:virtualvoidfuncl(){}
voidfunc2(){}};
classB:publicA{
public:voidtime1(){cout?BclassBfunc1"?endl;}
virtualvoidfunc2(){cout?wclassBfunc2"?endl;});
A.A::func2()和B::funcl()都是虛函數(shù)
B.A::func2()和B::funcl()都不是虛函數(shù)
C.B::funcl()是虛函數(shù),而A::func2()不是虛函數(shù)
D.B::funcl()不是虛函數(shù),而A::func2()是虛函數(shù)
14.關(guān)于純虛函數(shù)和抽象類的描述中,錯誤的是
A.純虛函數(shù)是一種特殊的虛函數(shù),它沒有具體實現(xiàn)
B.抽象類一般作為基類使用,其純虛函數(shù)的實現(xiàn)由派生類給出
C.抽象類中一定具有一個或多個純虛函數(shù)
D.抽象類的派生類中一定不會再有純虛函數(shù)
浙04737#C++程序設(shè)計試題第2頁(共10頁)
15.下列流類中,可以用于輸入/輸出的是
A.iosB.(stream
C.iostreamD.strstream
16.對ignore。成員函數(shù)原型“istream&ignore(intn=l,intdelim=EOF);”描述正確的是
A.跳過輸出流中的n個字符B.跳過delim及其之后的所有字符
C.常用于跳過輸出中的無效部分D.cin.ignore。等效于cin.ignore(1,EOF)
17.在C++中打開一個文件就是將指定的文件與下列哪個選項建立關(guān)聯(lián)
A.流對象B.流類
C,流函數(shù)D.流結(jié)構(gòu)
18.以下不能正確創(chuàng)建輸出文件對象并使其與磁盤文件相關(guān)聯(lián)的語句是
A.ofstreammyfile;myfile.open("d:ofile.txt'');
B.ofstream?myfile=newofstream;myfile->open(i€d:ofile.txf,);
C.ofstreammyfile.open(ud:ofile.txf,);
D.ofstream*myfile=new(ud:ofile.txf,);
19.假設(shè)聲明了以下函數(shù)模板,并定義了“inti;charc;",則錯誤的調(diào)用語句是
template<classT>
Tmax(Tx,Ty){return(x>y)?x:y;}
A.max(i,i)B.max(i,c)
C.max(c,c)D.max((int)c,i)
20.F面對模板的聲明正確的是
A.templateclass<Sl?S2>B.template<classS1,S2>
C.template<classS1;classS2>D.template<classS1,classS2>
非選擇題部分
注意事項:
用黑色字跡的簽字筆或鋼筆將答案寫在答題紙上,不能答在試題卷上。
二、填空題:本大題共15小題,每空1分,共15分。
21.通常根據(jù)是否可以直接操縱計算機(jī)底層硬件,將程序設(shè)計語言分為低級語言、中級
語言和。
22.函數(shù)調(diào)用時參數(shù)的傳遞為“傳引用”,是傳遞對象的。
23.面向?qū)ο蟮某绦蛟O(shè)計方法使得程序結(jié)構(gòu)清晰,相互協(xié)作容易,更重要的是程序的
性大大提升了。
24.從邏輯關(guān)系上看,典型的C++程序的結(jié)構(gòu)包括類的定義、類中成員函數(shù)的實現(xiàn)及
25.當(dāng)程序創(chuàng)建一個對象時,系統(tǒng)自動調(diào)用來初始化該對象。
26.已知類A中的兩個成員函數(shù)fl()和f2(),如果在fl()中不能直接調(diào)用f2(),則
是靜態(tài)函數(shù)。
27.重載賦值運算符后,賦值語句的功能是將一個對象中指針成員變量指向的內(nèi)容復(fù)制
到另一個對象中指針成員變量指向的地方,這樣的拷貝叫“
浙04737#C++程序設(shè)計試題第3頁(共10頁)
28.運算符重載相當(dāng)于定義了一個以為名稱的函數(shù)。
29.定義類時,保護(hù)成員的訪問范圍比成員的訪問范圍大。
30.學(xué)生集合包含本科生集合,如果一個人是本科生,他/她必然也是一位學(xué)生,設(shè)計程
序時,集合作為派生類。
31.聲明虛函數(shù)成員的一般格式為:"函數(shù)返回值類型函數(shù)名(形參表
32.定義4個類,類A中定義公有成員函數(shù)Print。為虛函數(shù),類A派生了類B和類D,
類B派生了類C,3個派生類均是公有繼承也都重寫了Print。函數(shù),則有個派
生類中的Print。是虛函數(shù)。
33.要將s="C++”輸出為“@@@C++”這樣的格式,應(yīng)該使用的語句是“cout<<
?setw(6)?s;,,o
34.文件的I/O由ifstream>和fstream三個類提供。
35.類模板“template<classT>classX其中友元函數(shù)f對特定類型T(如int),使函
數(shù)f(X〈int>&)成為X〈int>模板類的友元,則其說明應(yīng)為。
三、程序填空題:本大題共5小題,每小題4分,共20分。請按試題順序和空格順序
在答題卡(紙)指定位置上填寫答案,錯填、不填均無分。
36.請將下面程序補充完整,使輸出為:
x=l,y=10
x=2
#inc1ude<iostream>
usingnamespacestd;
classSample
(
intx,y;
public:
voidset(inti,intj){x=i;y=j;}
voidprint()
if(y!=0)cout?,',y=,,?y;
cout?endl;
}
);
intmain()
{Samplea;
a.set(lJO);
a.print();
a.printQ;
return0;
)
浙04737#C++程序設(shè)計試題第4頁(共10頁)
37.請將下面程序補充完整,使輸出為:
-x=ll,ch=l
-i=ll,x=201,ch=l,i=lI
#include<iostream>
usingnamespacestd;
charch=,1*;
voidfun(inti)
(
intj=211;
intx=201;
cout?,,-i=',?i?",x=,,?x?'\ch=,,?ch?',,i=',?i?endl;
)
intmain()
(
cout?,,-x=,,?x?',,ch=,,?ch?endl;
return0;
)
38.請將下面程序補充完整,實現(xiàn)復(fù)數(shù)的加法。
#include<iostream>
usingnamespacestd;
classComplex
{public:
intreal,imag;
Complex(intr=O,inti=0){real=r;imag=i;}
);
Complexoperator+(,Complex&b)
(
intr=a.real+b.real;
inti=a.imag+b.imag;
return;
)
intmain()
(
Complexx(l,2),y(3,4),z;
z=x+y;
cout?z.real?',+,,?z.imag?,,i',?endl;
return0;
浙04737#C++程序設(shè)計試題第5頁(共10頁)
39.請將下面程序補充完整,使輸出為:
¥
3.142
#include<iostream>
#include<iomanip>
usingnamespacestd;
intmain()
(
doublex=3.1415926;
cout.width(5);
cout??x?endl;
return0;
}
40.程序完成后可以顯示文本文件中的內(nèi)容。
#include<iostream>
#include<fstream>
usingnamespacestd;
intmain()
(
fstreaminflle;
infile.open("myfile.txtn,ios::in);
iR)
(
coutvv”文件打開時發(fā)生錯誤"Wendi;
return0;
}
charch;
while(ch!=EOF)
(
;〃從文件中讀取一個字符,存放在ch中
cout?ch;
}
infile.close();
return0;
浙04737#C++程序設(shè)計試題第6頁(共10頁)
四、程序分析題:本大題共5小題,每小題6分,共30分。
41.寫出以下程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
intx=2;
inty=5;
int&value(int&z){y=2*5;returnz;}
intmain()
(
value(x)=10;
cout?”x、y的值分別是:H?endl;
cout?x?end1?y;
return0;
)
42.寫出以下程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
classF{
public:
intfun(int,int);
charfun(char,char);
intfiin(double,double);
};
intF::fun(intx,inty){returnx%y;}
charF::fun(charx,chary)
(
if(x>y)retumy;
elsereturnx;
)
intF::fun(doublex,doubley){retum((int)(x+y+0.5));}
intmain()
(
Fa;
cout?a.fun(9,11)?endl;
cout?a.fun(3.59,4.06)?end1;
coutwa.fun(0,K);
return0;
}
浙04737#C++程序設(shè)計試題第7頁(共10頁)
43.寫出以下程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
classSample
{
private:intx;
public:
Sample(){}
Sample(inta){x=a;}
voiddisp(){cout?Mx=w?x?endl;}
friendSampleoperator*(Sample&sl,Sample&s2);
voidLeapYear()
(
iRx%4==0&&x%100!=0||x%400=0)coutvv”是閏年”;
elsecoutvv”不是閏年”;
}
};
Sampleoperator*(Sample&sl.Sample&s2){returnSample(sl.x*s2.x);)
intmain()
(
Sampleobjl(20);
Sampleobj2(101);
Sampleobj3;
obj3=objI*obj2;
obj3.disp();
obj3.LeapYear();
return0;
)
44.寫出以下程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
classPoint
{public:
Point(intxx=0,intyy=0):X(xx),Y(yy){coutw”對象“v〈Xvv”被構(gòu)造“v<endl;}
Point(Point&p);
?Point。;
intGetX(){returnX;}
浙04737#C++程序設(shè)計試題第8頁(共10頁)
intGetY(){returnY;}
private:intX,Y;
);
Point::Point(Point&p)
{X=p.X+l;Y=p.Y+2;
coutw”對象”"X<v”被構(gòu)造“wendl;
}
Point::?Point(){cout〈v”對象“wXvv”被析構(gòu)“vvendl;}
intmain()
{PointA(l,2);PointB(A);PointC(A);
return0;
}
45.寫出以下程序的輸出結(jié)果。
#include<iostream>
usingnamespacestd;
classAnimal{
public:virtualvoidcry()=0;
};
classCat:publicAnimal{
public:
voidcry()
{coutvv”程序設(shè)計\n"vvend1;}
);
classDog:publicAnimal
{
public:
voidcry()
{cout?”C++”;}
);
voidfun(Animal*ptr){ptr->cry();}
intmain()
{Catcat;Dogdog;
Animal*p;
p=&cat;fun(p);
p=&d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 債權(quán)債務(wù)轉(zhuǎn)讓三方協(xié)議
- 建筑工地施工安全責(zé)任與材料供應(yīng)方免責(zé)合同
- 鐵力市工程砌磚清包簡單合同(3篇)
- 終止購銷合作協(xié)議書
- 混凝土工作總結(jié)
- 人工智能應(yīng)用推廣合同
- 專業(yè)馬戲團(tuán)演出合同
- 建設(shè)項目擔(dān)保協(xié)議書
- 廠房鋼結(jié)構(gòu)工程承包施工合同
- 機(jī)械設(shè)備租賃合同書
- 【班級管理表格】學(xué)生檢討反思承諾書
- 社會保險職工增減表
- 客戶滿意率統(tǒng)計表
- 低壓電工考試題庫(含答案)
- 邊坡抗滑樁計算
- 工程建筑部門周例會-課件
- 2022人臉識別安全白皮書
- 無人機(jī)應(yīng)用案例-石油領(lǐng)域油氣管線巡查
- 青島版三年級下冊口算題大全(全冊完整)
- 固定翼飛機(jī)的結(jié)構(gòu)和飛行原理
- 內(nèi)蒙古鄂爾多斯杭錦經(jīng)濟(jì)開發(fā)區(qū)地質(zhì)災(zāi)害危險性評估報告
評論
0/150
提交評論