2023年4月C 全國(guó)自考真題及答案_第1頁(yè)
2023年4月C 全國(guó)自考真題及答案_第2頁(yè)
2023年4月C 全國(guó)自考真題及答案_第3頁(yè)
2023年4月C 全國(guó)自考真題及答案_第4頁(yè)
2023年4月C 全國(guó)自考真題及答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2023年4月高等教化自學(xué)考試全國(guó)統(tǒng)一命題考試

C++程序設(shè)計(jì)試卷

(課程代碼04737)

本試卷共11頁(yè),滿分tOO分,考試時(shí)間150分鐘。

考生答題留意事項(xiàng):

1.本卷全部試題必需在答題卡上作答。答在試卷上無(wú)效,試卷空白處和背面均可作草稿紙。

2.第一部分為選擇題。必需對(duì)應(yīng)試卷上的題號(hào)運(yùn)用2B鉛筆將“答題卡”的相應(yīng)代碼涂黑。

3.其次部分為非選擇題。必需注明大、小題號(hào),運(yùn)用0.5毫米黑色字跡簽字筆作答。

4.合理支配答題空間。超出答題區(qū)域無(wú)效。

第一部分選擇題

、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)

在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請(qǐng)將其選出并將“答題

卡”的相應(yīng)代碼涂黑。未涂、錯(cuò)涂或多涂均無(wú)分。

1.C++語(yǔ)言是從早期的C語(yǔ)言漸漸發(fā)展演化而來(lái)的,與C語(yǔ)言相比,C++在求解問(wèn)題方

法上進(jìn)行的最大改進(jìn)是

A.面對(duì)過(guò)程B.面對(duì)對(duì)象C.平安性D.復(fù)用性

2.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本限制結(jié)構(gòu)是

A.輸入、處理、輸出B.樹(shù)形、網(wǎng)形、環(huán)形

C.依次、選擇、循環(huán)D.主程序、子程序、函數(shù)

3.關(guān)于函數(shù)模板,描述錯(cuò)誤的是

A.函數(shù)模板必需由程序員實(shí)例化為可執(zhí)行的函數(shù)模板

B.函數(shù)模板的實(shí)例化由編譯器實(shí)現(xiàn)

C.一個(gè)類定義中,只要有一個(gè)函數(shù)模板,則這個(gè)類是類模板

D.類模板的成員函數(shù)都是函數(shù)模板,類模板實(shí)例化后,成員函數(shù)也隨之實(shí)例化

4.作用域運(yùn)算符“::”的功能是

A.標(biāo)識(shí)作用域的級(jí)別的B.指出作用域的范圍的

C.給定作用域的大小的D.標(biāo)識(shí)成員是屬于哪個(gè)類的

5.采納重載函數(shù)的目的是

A.實(shí)現(xiàn)共享B.削減空間

C.提高速度D.運(yùn)用便利,提高可讀性

6.以下關(guān)鍵字不能用來(lái)聲明類的訪問(wèn)權(quán)限的是

A.publicB.privateC.stadeD.protected

7.有如下類聲明"classA(intx;,則A類的成員x是

A.公有數(shù)據(jù)成員B.私有數(shù)據(jù)成員

C.公有成員函數(shù)0.私有成員函數(shù)

8.下列不是構(gòu)造函數(shù)的特征的是

A.構(gòu)造函數(shù)的函數(shù)名與類名相同B.構(gòu)造函數(shù)可以重載

C.構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)D.構(gòu)造函數(shù)不能重載

9.通常的拷貝構(gòu)造函數(shù)的參數(shù)是

A.某個(gè)對(duì)象名B.某個(gè)對(duì)象成員名

C.某個(gè)對(duì)象的引用0.某個(gè)對(duì)象的指針名

10.下列哪個(gè)類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù)?

A.函數(shù)體語(yǔ)句較多B.函數(shù)體語(yǔ)句較少

C.函數(shù)執(zhí)行時(shí)間較短D.函數(shù)執(zhí)行時(shí)間過(guò)長(zhǎng)

11.設(shè)x和y均為bool量,則x&&y為真的條件是

A.它們均為真B.其中一個(gè)為真

C.它們均為假D.其中一個(gè)為假

12.對(duì)于友元描述正確的是

A.友元是本類的成員函數(shù)B.友元不是本類的成員函數(shù)

C.友元不是函數(shù)D.友元不能訪問(wèn)本類私有成員

13.當(dāng)一個(gè)派生類公有繼承一個(gè)基類時(shí),基類中的全部公有成員成為派生類的

Apublic成員B.private成員

Cprotected成員D.友元

14.在C++語(yǔ)言中,080是

A八進(jìn)制數(shù)B.十進(jìn)制數(shù)

C十六進(jìn)制數(shù)D.非法數(shù)

15.下面函數(shù)原型聲明中,聲明白fun為虛函數(shù)的是

A.voidfun()=0B.virtualvoidfun()=0

C.virtualvoidfun()D.virtualvoidfun(){}

16.下列虛基類的聲明中,正確的是

A.classvirtualB:publicAB.classB:virtualpublicA

CclassB:publicAvirtualD.virtualclassB:publicA

17.下列運(yùn)算符中,在C++語(yǔ)言中不能重載的是

A.*B.>=C.::D./

18.在C++語(yǔ)言中,能代表邏輯值“假”的是

A.小于0的數(shù)B.大于0的數(shù)C.非。整數(shù)D.0

19.以下敘述中不正確的是

A.在一個(gè)函數(shù)中,可以有多條return語(yǔ)句

B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套

C.函數(shù)必需有返回值

D.不同的函數(shù)中可以運(yùn)用相同名字的變量

20.已知:intm=10;在下列表示引用的方法中,下列哪一項(xiàng)是正確的?

A.hat&x=mB.int&y=10C.int&zD.float&t=&m

其次部分非選擇題

二、填空題(本大題共20小題,每小題1分,共20分)

請(qǐng)?jiān)诖痤}卡上作答。

21.對(duì)象的核心概念就是通常所說(shuō)的繼承、封裝和—

22.cin后面的符號(hào)是:>>,cout后面的符號(hào)是。

23.面對(duì)對(duì)象編程的英文縮寫(xiě)是o

24.已知x=2,y=3,x<y的值是。

25.執(zhí)行下列代碼:

doublepi=3.1415926;cout<<setprecision(5)<<pi:

程序的輸出結(jié)果是O

26.建立一個(gè)對(duì)象時(shí),對(duì)象的狀態(tài)是不確定的。為了使對(duì)象的狀態(tài)確定,必需對(duì)其進(jìn)行

正確的?

27.重載運(yùn)算符的含義必需清晰,不能有o

28.根據(jù)聯(lián)編進(jìn)行階段的不同,聯(lián)編方法可分為兩種:動(dòng)態(tài)聯(lián)編和。

29.設(shè)要把一個(gè)文件輸出流對(duì)象myFile與文件“f:\myText.txt”相關(guān)聯(lián),所用的

C++語(yǔ)句是O

30.在C++中,函數(shù)鯉參數(shù)有兩種傳遞方式,它們是和地址或指針或引用傳

遞。

31.設(shè)有定義intx=3,y=4;則表達(dá)式x*=y+5的值為。

32.在C++中,函數(shù)在定義時(shí)可以預(yù)先定義出默認(rèn)的形參值。默認(rèn)形參值必需按

的依次定義。因?yàn)樵谡{(diào)用時(shí),實(shí)參初始化形參是按從左到右的依次。

33.假如一個(gè)函數(shù)干脆或間接地調(diào)用自身,這樣的調(diào)用稱為調(diào)用。

34.函數(shù)模板中緊隨template之后尖括號(hào)內(nèi)的類型參數(shù)都要冠以保留字。

35.假如一個(gè)類的名稱為MyClass,運(yùn)用這個(gè)類的一個(gè)對(duì)象初始化該類的另一個(gè)對(duì)象時(shí),

可以調(diào)用構(gòu)造函數(shù)來(lái)完成此功能。r

36.設(shè)函數(shù)sum是由函數(shù)模板實(shí)現(xiàn)的,并且sum(3,6)和sum(4.6,8)都是正確的函數(shù)

調(diào)用,則函數(shù)模板具有個(gè)類型參數(shù)。

37.假如一個(gè)派生類只有一個(gè)唯一的基類,則這樣的繼承關(guān)系稱為。

38.一個(gè)const對(duì)象只能訪問(wèn)成員函數(shù)。

39.假如通過(guò)同一個(gè)基類派生一系列的類,則將這些類總稱為—o

40.A是一個(gè)類,已有語(yǔ)句“A*p;P=newA[10];"。要釋放由P指向的動(dòng)態(tài)空間,正

確的語(yǔ)句應(yīng)當(dāng)是o

三、改錯(cuò)題(本大題共5小題,每小題4分,共20分)

請(qǐng)?jiān)诖痤}卡上作答。

下面的程序段中各有一處錯(cuò)誤,請(qǐng)將錯(cuò)誤所在行抄寫(xiě)在答題卡上,并指出錯(cuò)誤緣由。

41.

#include*'stdafx.h"

#include<iostream>

usingnamespacestd;

classTest

|private:

intx,y=20;

public:

Test(inti,intj)jx=i,y=j;

intgetx()(returnx;|

intgety()jreturny;(

1;'j

voidmain()

|Testmt(10,20);

cout<<mt.getx()<<endl;

cout<<mt.gety()<<endl;

42.#include"stdafx.h"

#include<iostream>

usingnamespacestd;

classTest

I血x,y;

public:

fun(inti,intj)

(x=i;y=j;[

show()

!cout<<”x="<<x;

if(y)

cout<<n,y=11<<y<<endl;

cout<<endl;(

I>

voidmain()

(TestA;-

A.fiin(l);

A.show();

A.fun(2,4);

A.show()?

43.#include,*stdafx.h"

#include<iostrcam>

usingnamespacestd;

classA

|inti;

public:

virtualvoidfun()=0;

A(inta)

|i=a;|

I?

classB:publicA

{intj;

public:

voidftm()

|coat<<**B::fim()\nM;}

B(intm,intn=0):A(m),j(n)||

I;

voidmain()

(A*pa;

Bb(7);

pa=&b;

44.

#include<iostream,h>

classf|

private:Tx,y;

public:fl(Ta,Tb)jx=a;y=b;(

floatmax()|retum(x>y)?x:y;|

I;

main()|

fa;

cout<<a.max()<<endl;

I.'

45.

#include<iostream,h>

#include<string,h>

classBase*

|public:

Base(char*s="\0")|strcpy(name,8);|

voidshow();

protected:

charname[20];

I;

Baseb;

voidshow()

(cout<<Mname:M<<b.name<<endl;|

voidmain()

{Based2(”hello”);

show();

四、完成程序題(本大題共5小題。每小題4分。共20分)

請(qǐng)?jiān)诖痤}卡上作答。

46.在下面程序橫線處填上適當(dāng)字句,以使該程序執(zhí)行結(jié)果為:

504342110

6.17.18.19,110.111.1

#include<iostream>

usingnamespacestd;

template<classT>

voidf(①)

for(inti=0;i<n/2;i-H-)

t=a[i],a[i]=a[n-l~i],a[n-l-i]=t;

voidmain()

|inta[5]={10,21,34,4,50];

doubled[6]={11.1,10.1,9.1,8.1f7,1,6.11;

f(a,5);f(d,6);

for(inti=0;i<5;i-H-)

cout<<a[i]<<M";

cout<<end!;

for(inti=0;i<6;i++)

cout<<d[i]<<"n;

cout<<end!;

47.在下面程序的底藏線處填上適當(dāng)?shù)淖志?,使該程序?zhí)行結(jié)果為40,X為靜態(tài)成員。

#include<iostream.h>

classTest

{public:

________?___________;

Test(inti=0)

(x=i+x;|

intGetnum()

returnTest::x+10;|

'②:

voidmain()

|Testtest;

cout<<test.Getnum()<<endl;

48.在下列程序的空格處填上適當(dāng)?shù)淖志?,使輸出為?,2,10。

#includeustdafx.hM

#include<iostream>

#include"math,h',

usingnamespacestd;

classMagic

{doublex;

public:

Magic(doubled=0.00):x(fabs(d))

n

Magicoperator+()

i

returnMagic(sqrt(x*x+c.x*c.x));

<<(ostream&stream,M曬c&c)

{stream<<c.x;

returnstream;

I

!;?

voidmain()

\Magicma;

cout<<ma<<","<<Magic(2)<<","<<ma+Magic(-6)+

Magic(-8)<<endl;

49.下面是一個(gè)輸入半徑,輸出其面積和周長(zhǎng)的C++程序,在下劃線處填上正確的語(yǔ)句。

#includeMstdafic,hH

#include<iostream>

#mcludeHmath.hM

Q

voidmain()

|doublerad;

cout<<Mrad=";

cin>>rad;

double1=2.0*pi*rad;

doubles-pi*rad*rad;

cout<<H\nThelongis:M<<1<<endl;

cout<<MTheareais:n<<s<<endl;)

50.請(qǐng)完成一下程序,使其輸出結(jié)果為:

x=5,y=27

x二10,y=27

癡elude<iostream>

usingnamespacestd;

classSample

{private?

intx;

st—atici貯nty;……:

Sample(inta);

voidprint。;

.

Sample::Sample(inta)

x=a;

y++;

1

voidSample::print()

I

cout<<**x=**<<x<<H,y=*'<<y<<endl;

I

②_________;

voidmain()

I

Samplesi(5);

Samples2(10);

si.print();

s2.print();

I

五、程序分析題(本大題共2小題,每小題5分,共10分)

請(qǐng)?jiān)诖痤}卡上作答。

51.寫(xiě)出程序運(yùn)行結(jié)果

#includenstdafic.h"

#include<ioatream>

usingnamespacestd;

classB;classA

[public:

A(inti)|a=i;|

friendintF(A&fl,B&£2);

private;

inta;

I;

classB

(public:

B(inti)(b=i;|

friendintF(A,B&£2);

private:

intb;

intF(A&fl,B&£2)

(return(fl.a+f2.b)?(fl.a-£2.b);|

voidmain()

Anl(10);

Bn2(8);

cout<<F(nl,n2)<<endl;|

52.寫(xiě)出程序運(yùn)行結(jié)果

#include<iostream.h>

intfiinc(inta)

|intb=0;

staticintc=4;

b-H*;c-;

retum(a+b+c);|

voidmain()

jinta=2;

for(intj=0;j<2;j++)

cout<<func(a+j)<<11

I

六、程序設(shè)計(jì)題(本大題共1小題,共1。分)

請(qǐng)?jiān)诖痤}卡上作答。

53.聲明復(fù)數(shù)類,Complex,該類中有兩個(gè)私有變量real,image分別表示一個(gè)復(fù)數(shù)的實(shí)部

和虛部。為Complex類添加適當(dāng)?shù)臉?gòu)造函數(shù)。并使用友元函數(shù)add實(shí)現(xiàn)復(fù)數(shù)加法。

#include<iostream>

usingnamespacestd;

classComplex

{.

private:

doublereal,image;

public:

voidsetRI(doublea,doubleb)

]

real=a;

image=b;

I

doublegetReal()

I

returnreal;

I

doublegetlmage()

I

returnimage;

I

voidprint()|

if(image>0)

cout<<"復(fù)數(shù):"<<real<<"+”<<image<<MiM<<endl;

if(image<0)

coutV〈"復(fù)數(shù):"<<real<<"-"<<image<<Mi,r<<endl;

I..___

friendComplexadd(Complex.Complex);〃聲明友兀函數(shù)

I;

voidmain()

]

Complexcl(19,0.864),c2,c3;

c2.setRI(90,125.012);

c3=add(cl,c2);

cout<<11直數(shù)一:“;cl.print();

com?M復(fù)數(shù)二;c2.print();

cout<<r,相力口后:“;c3.print();

絕密★啟用前

2015年4月高等教育自學(xué)考試全國(guó)統(tǒng)一命題考試

C++程序設(shè)計(jì)試題答案及評(píng)分參考

(課程代碼04737)

一、單項(xiàng)選擇題(本大題共20小題,每小題1分.

2.C3.C4.B5.D

12.B13.A14.D15.C17.C

填空題(本大題共20小題,每小題1分,共20分)

21.多態(tài)性22.?

23.OOP24.true或1

25.3.141626.初始化

27.二義性28.靜態(tài)聯(lián)編

29.iistreammy]"f:\myText.txt")30.值傳遞

31.2732.從右到左

33.遞歸34.class

EMM

35.復(fù)制(拷貝)

37.單繼承38.

39.類族40.delete*p

、改錯(cuò)題(本大題共5小題,每小題4分,共20分)

41.答案:intx,y=20;在類內(nèi)部不能對(duì)數(shù)據(jù)成員直接賦值。

42.答案:A.fim(1),有一個(gè)參數(shù),且沒(méi)有重載°

43.答案:B(intm,諭n=0):A(m),j(n)”因?yàn)榛悋虏荒鼙粚?shí)例化,所以

在派生類中不能調(diào)用初始化基類對(duì)象。所以B(intrn,intn=0):A(m),j(n)H錯(cuò)

誤,刪去A(m)。

44.答案:Tx,y;模板未聲明。

答案:voidshow();是普通函數(shù)不是聲員函數(shù),但是要訪問(wèn)類成員,需要定義

元函數(shù)或

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論