2020年8月自考04737C++程序設(shè)計(jì)試題及答案含解析_第1頁
2020年8月自考04737C++程序設(shè)計(jì)試題及答案含解析_第2頁
2020年8月自考04737C++程序設(shè)計(jì)試題及答案含解析_第3頁
2020年8月自考04737C++程序設(shè)計(jì)試題及答案含解析_第4頁
2020年8月自考04737C++程序設(shè)計(jì)試題及答案含解析_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

++程序設(shè)計(jì)年月真題

04737C20208

1、【單選題】下列選項(xiàng)中,對C++語言的描述正確的是

編譯式的語言

不通用的語言

A:

大小寫不敏感

B:

繼承于Java語言

C:

答D:案:A

2、【單選題】下列選項(xiàng)中,對函數(shù)參數(shù)默認(rèn)值的描述正確的是

聲明函數(shù)時(shí)不能為形參指定默認(rèn)值

在調(diào)用有默認(rèn)參數(shù)值的函數(shù)語句中,必須給出對應(yīng)的實(shí)參

A:

指定默認(rèn)值時(shí)可以用任何有定義的表達(dá)式

B:

指定默認(rèn)值時(shí)可以是函數(shù)內(nèi)定義的局部變量

C:

答D:案:C

3、【單選題】下列選項(xiàng)中,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法不屬于分析待解決問題的是

事物有哪些特點(diǎn)

不同事物種類之間的關(guān)系

A:

事物之間的相互作用

B:

將問題分解為多個(gè)子問題

C:

答D:案:D

4、【單選題】在定義類成員時(shí),為體現(xiàn)類內(nèi)成員的隱藏性,需要使用的關(guān)鍵字是

public

friend

A:

protected

B:

private

C:

答D:案:D

5、【單選題】下列選項(xiàng)中,關(guān)于析構(gòu)函數(shù)的描述錯(cuò)誤的是

不能指定返回類型

函數(shù)體中可以有delete語句

A:

不可以重載

B:

C:

返回類型可以是void類型

答D:案:D

6、【單選題】使用語句Perlnfod(1001,65);創(chuàng)建對象時(shí),使用的構(gòu)造函數(shù)的原型是

Perlnfo();

Perlnfo(int);

A:

Perlnfo(int,int);

B:

Perlnfo(int,int,int);

C:

答D:案:C

7、【單選題】如果類A被聲明為類B的友元,則下列選項(xiàng)中描述正確的是

類B不一定是類A的友元類

類A的成員即是類B的成員

A:

類B的成員即是類A的成員

B:

類A的成員函數(shù)不得訪問類B的成員

C:

答D:案:A

8、【單選題】下列選項(xiàng)中,關(guān)于運(yùn)算符重載的描述正確的是

運(yùn)算符重載可以改變運(yùn)算符的優(yōu)先級

運(yùn)算符重載不能改變運(yùn)算符操作數(shù)的個(gè)數(shù)

A:

運(yùn)算符重載可以改變運(yùn)算符的結(jié)合性

B:

運(yùn)算符重載不能被重載為成員函數(shù)

C:

答D:案:B

9、【單選題】如果表達(dá)式--p*q中的--和*都是通過友元進(jìn)行的運(yùn)算符重載,則采用運(yùn)算符

重載函數(shù)調(diào)用的格式,該表達(dá)式還可以表示為

operator*(p.operator--(),q)

operator--(p).operator*(q)

A:

operator*(p.operator--(p),q)

B:

operator--(p)."operator(q)

C:

答D:案:A

10、【單選題】派生類的對象可以直接訪問的基類成員是

公有繼承的公有成員

公有繼承的私有成員

A:

公有繼承的保護(hù)成員

B:

C:

私有繼承的公有成員

答D:案:A

11、【單選題】假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有

派生的,則定義類derived的正確寫法是

classderived:studentprivate{//............}

classderived:studentpublic{//............}

A:

classderived:publicstudent{//............}

B:

classderived:privatestudent{//...........}

C:

答D:案:D

12、【單選題】設(shè)有基類B和C,共同派生子類A。類定義為:classA:public

B,publicC{//...........};,則創(chuàng)建類A的對象時(shí),構(gòu)造函數(shù)的調(diào)用次序依次是

A、B、C

C、B、A

A:

B、C、A

B:

A、C、B

C:

答D:案:C

13、【單選題】下列選項(xiàng)中,關(guān)于虛函數(shù)的說明正確的是

從虛基類繼承的函數(shù)都是虛函數(shù)

虛函數(shù)不得是靜態(tài)成員函數(shù)

A:

只能通過指針這一唯一形式調(diào)用虛函數(shù)

B:

抽象類中的成員函數(shù)都是虛函數(shù)

C:

答D:案:B

14、【單選題】下列選項(xiàng)中,將沒有返回值的Printlnfo()函數(shù)聲明為純虛函數(shù)的正確形式

voidPrintlnfo()=0;

virtualvoidPrintlnfo()=0;

A:

virtualvoidPrintlnfo();

B:

virtualvoidPrintInfo(){};

C:

答D:案:B

15、【單選題】下列選項(xiàng)中,對于語句“cout<<sum<<endl;"中各個(gè)組成部分的敘述正

確的是

“cout”是一個(gè)輸入流對象

“sum”是求出和的常量

A:

“endl"作用是輸出一個(gè)回車

B:

“<<”是插入運(yùn)算符

C:

答D:案:C

16、【單選題】getline()函數(shù)的功能是從輸入流中的當(dāng)前字符開始讀取

一個(gè)字節(jié)

若干字節(jié)

A:

一個(gè)字符

B:

一行字符

C:

答D:案:D

17、【單選題】下列選項(xiàng)中,不是C++標(biāo)準(zhǔn)類庫中用于文件操作的文件流類是

ifstream

iomanip

A:

ofstream

B:

fstream

C:

答D:案:B

18、【單選題】已知:intans,以二進(jìn)制方式將ans的值寫入輸出流文件對象outfile中,

下列選項(xiàng)中正確的語句是

ofstreamoutfile(“result.txt”,ios::out|ios::binary);outfile.write((int*)&ans;,siz

eAo:f(int));

ofstreamoutfile(“result.txt”,ios::out|ios::binary);

outfile.write(char*)&ans;,sizeof(int));

B:

ifstreamoutfile(“result.txt”,ios::out|ios::binary);outfile.write((int*)&ans;,ans)

;C:

ifstreamoutfile(“result.txt”,ios::out|ios::binary);outfile.write((char*)&ans;,an

sD):;

答案:B

19、【單選題】若有如下函數(shù)模板定義:template<typenameT>Sum(Ta,Tb,T

sum){sum=a+b;}則下列選項(xiàng)中正確的是

intx,y;charz;Sum(x,y,z);

doublex,y,z;Sum(x,y,z);

A:

intx,y;floatz;Sum(x,y,z);

B:

floatx,doubley,z;Sum(x,y,z);

C:

答D:案:B

20、【單選題】類、類模板之間都允許繼承,下列選項(xiàng)中不屬于它們之間常見的派生關(guān)系是

普通類維承模板類

類模板繼承普通類

A:

模板類繼承普通類

B:

類模板繼承模板類

C:

答D:案:C

21、【問答題】寫出以下程序的輸出結(jié)果#includeusingnamespacestd;classA

{public:A(){cout<<”學(xué)習(xí)構(gòu)造函數(shù)于";}~A(){cout<<"類和對象進(jìn)階”<<

endl;}};classB:A{public:B(inti){cout<<i<<”年”<<endl;}

~B(){cout<<"第3章";}};intmain(){Bobj(2020);return0;}

答案:每答對一處劃線內(nèi)容得1分,每行劃線處前后順序正確得2分。學(xué)習(xí)構(gòu)造函數(shù)

于2020年第3章類和對象進(jìn)階

22、【問答題】寫出以下程序的輸出結(jié)果#include<iostream>#include<

cstring>usingnamespacestd;intmain(){strings1="20200404737";string

s2="c語言程序設(shè)計(jì)";s2[1]=’+’;s2[2]=s2[1];s2[3]=s2[4]=’.’;

s1=s1.substr(6,5);s1.swap(s2);stringstr=s1.append(s2);cout>>"str="<<

str<<endl;cout>>"字符串共含有">>str.length()>>”個(gè)字符”;return0;}

答案:

23、【問答題】寫出以下程序的輸出結(jié)果#include#includeusingnamespacestd;

classCompare{inta,b;intgetmax(){return(a>b?a:b);}public:intc;void

setValue(intdatal,intdata2,intdata3){a=data1;b=data2;c=data3;cout<<a<

<","<<b<<","<<c<<endl;}intGetMax();};intCompare::GetMax()

{intd=getmax();return(d=d>c?d:c);}intmain(){Compareobject1;

object1.setValue(4,20,19);cout<<"這三個(gè)數(shù)據(jù)中最大的是:";cout<<

object1.GetMax()<return0:}

答案:每答對1個(gè)數(shù)據(jù)得1分,文字得2分。4,20,19這三個(gè)數(shù)據(jù)中最大的是:

20

24、【問答題】寫出以下程序的輸出結(jié)果includeusingnamespacestd;class

MyClass{public:MyClass(inti=0){cout<<1<<’’;}MyClass(const

MyClass&x){cout<<2<<’’;}MyClass&operator=(constMyClass&x){cout<<3<

<’’;return*this;}~MyClass(){cout<<4<<’’;}};intmain(){MyClass

obj1(1),obj2(2),obj3(obj1);obj1=obj2;obj1=obj3;return0;}

答案:每答對一處劃線內(nèi)容得1分,每行劃線處前后順序正確得2分。112334

44

25、【問答題】寫出以下程序的輸出結(jié)果#includeusingnamespacestd;classA

{public:A(){cout<<"測量廣場”;}virtual~A(){cout<<”是否擴(kuò)建?"<<

endl;)};classB:publicA{public:intwidth,high;B(){width=40;high=20;

cout<<"初始面積為:"<<width*high<<endl;}~B(){if(width*high<10000)cout<

<"不超過最大面積值,";}};intmain(){A*p=newB();deletep;return0;}

答案:每答對一處劃線內(nèi)容得1分,每行劃線處前后順序正確得1分。測量廣場初

始面積為:800不超過最大面積值,是否擴(kuò)建?

26、【問答題】編寫程序以讀方式打開當(dāng)前文件夾下“address'”文本文件,并在屏幕顯示

該文件內(nèi)容。

答案:

27、【問答題】編寫完成如下程序中“……”部分,程序定義一個(gè)抽象類Shape,由它派生3

個(gè)類:Square(正方形)、Trapezoid(梯形)和Triangle(三角形),用虛函數(shù)分別計(jì)算幾種圖形

的面積、并求它們的和。要求用基類指針數(shù)組,使它每一個(gè)元素指向一個(gè)派生類對象。

#includeusingnamespacestd;classShape{public:virtualdoublearea()const

=0;};……voidmain(){Shape*p[3];Squarese(5);Trapezoidtd(2,5,4);

Trianglete(5,8);p[O]=&se;p[1]=&td;p[2]=&te;doubleda=0;for(inti=0;i<

3;i++){da+=p[i]->area();}cout<<”總面積是:”<<da<<endl;}

答案:

28、【填空題】C++語言的特點(diǎn)表現(xiàn)在兩個(gè)方面,首先它是繼承了C語言的特征,其次加入

了面向()的特征。

答案:對象/Objective

29、【填空題】constint*b=&a;中,const修飾的是int,說明()是指向常量的指針。

答案:b

30、【填空題】變量的生存期是指變量所占據(jù)的()由分配到釋放的時(shí)期。

答案:內(nèi)存空間/內(nèi)存/空間

31、【填空題】若Student類中的一個(gè)成員函數(shù)score的說明為:voidscore(Student&s;):

則s是Student的對象引用,s用來做()函數(shù)的形參。

答案:score()/score

32、【填空題】()表示的是隱藏的對象的指針,靜態(tài)成員函數(shù)沒有該指針。

答案:this/*this

33、【填空題】類的普通成員函數(shù)是指聲明中不含const和()關(guān)鍵字的函數(shù)。

答案:static

34、【填空題】C++程序中,重載運(yùn)算符[]時(shí),不能用友元來重載運(yùn)算符。只能用()來重

載。

答案:成員函數(shù)

35、【填空題】如果運(yùn)算符重載為全局函數(shù),對于二元運(yùn)算符需要為該函數(shù)傳遞()個(gè)參

數(shù)。

答案:2/二/兩

36、【填空題】生成派生類對象時(shí),先執(zhí)行各基類的構(gòu)造函數(shù),調(diào)用順序?yàn)榕缮惱^承時(shí)的

()順序,

答案:基類聲明/基類說明/基類的聲明/基類的說明

37、【填空題】當(dāng)基類是一個(gè)封閉類,在具有繼承關(guān)系的類層次體系中,析構(gòu)函數(shù)執(zhí)行的順

序是:首先是執(zhí)行派生類本身的析構(gòu)函數(shù),然后執(zhí)行對象成員的析構(gòu)函數(shù),最后是執(zhí)行()

答案:基類析構(gòu)函數(shù)/基類的析構(gòu)函數(shù)

38、【填空題】面向?qū)ο蟪绦蛟O(shè)計(jì)語言有封裝、()和多態(tài)3種機(jī)制。

答案:繼承

39、【填空題】類Car公有派生出類RunCar,類Car和類RunCar中都定義了虛函數(shù)func

(),p是指向類Car對象的指針,則p->func();將調(diào)用()類中的函數(shù)func().

答案:Car

40、【填空題】頭文件()包含操作所有輸入輸出流所需要的基本信息,因此大多數(shù)C++程

序都應(yīng)該包含這個(gè)頭文件。

答案:iostream/iostream.h

41、【填空題】C++根據(jù)存取方式不同分為順序存取文件和()文件。

答案:隨機(jī)存取。

42、【填空題】編譯器由類模板生成類的過程稱為類模板的()。

答案:實(shí)例/實(shí)例化/具體化/實(shí)現(xiàn)/具體實(shí)現(xiàn)

43、【填空題】將下面程序補(bǔ)充完整,使程序輸出的結(jié)果為:ZhangMeng####201902

最終分?jǐn)?shù)為90.7#include#include#includeusingnamespacestd;intmain()

{doublescore=90.657;intid=201902;stringname="ZhangMeng";cout.width(10);

___________<<endl;cout<<setw(10)<<__________<<id<<endl;cout<<“最

終分?jǐn)?shù)為:“<<setprecision(3)<<score<return0;}

答案:cout<<name,setfill('#')/”####”注:每題答案有2處下劃線,每答

對一處得2分。

44、【填空題】將下面程序補(bǔ)充完整,使程序輸出的結(jié)果為2050。#includeusing

namespacestd;classSum{public:staticintx:Sum(inti=2020){________;}

intGetSum(){returnSum::x+26;}};intSum::x4;intmain(){Sumtest;

__________<<endl;return0;}

答案:x=i+x/x=x+i/x+=i/Sum::x=i+Sum::x/Sum::x=Sum::x+i/

Sum::x+=i,cout<<test.GetSum()/cout<<test.GetSum(2020)注:每題答案有2

處下劃線,每答對一處得2分。

45、【填空題】將下面類定義補(bǔ)充完整,類Point是坐標(biāo)點(diǎn),Line是兩點(diǎn)間的直線,

Distance求出兩點(diǎn)間的距離。classLine;classPoint{private:intx,y;

____________________;public:Point(inti=0,intj=0){x=i;y=j:}};class

Line{private:Pointp1,p2;public:Line(Pointxpl,Pointxp2):pl(xp1),

p2(xp2){};doubleDistance();};doubleLine::Distance(){doubledx=p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論