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

下載本文檔

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

文檔簡介

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

C++程序設計試卷

(課程代碼04737)

本試卷共11頁,滿分tOO分,考試時間150分鐘。

考生答題留意事項:

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

2.第一部分為選擇題。必需對應試卷上的題號運用2B鉛筆將“答題卡”的相應代碼涂黑。

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

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

第一部分選擇題

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

在每小題列出的四個備選項中只有一個是符合題目要求的,請將其選出并將“答題

卡”的相應代碼涂黑。未涂、錯涂或多涂均無分。

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

法上進行的最大改進是

A.面對過程B.面對對象C.平安性D.復用性

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

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

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

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

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

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

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

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

4.作用域運算符“::”的功能是

A.標識作用域的級別的B.指出作用域的范圍的

C.給定作用域的大小的D.標識成員是屬于哪個類的

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

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

C.提高速度D.運用便利,提高可讀性

6.以下關(guā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ù)D.構(gòu)造函數(shù)不能重載

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

A.某個對象名B.某個對象成員名

C.某個對象的引用0.某個對象的指針名

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

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

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

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

A.它們均為真B.其中一個為真

C.它們均為假D.其中一個為假

12.對于友元描述正確的是

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

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

13.當一個派生類公有繼承一個基類時,基類中的全部公有成員成為派生類的

Apublic成員B.private成員

Cprotected成員D.友元

14.在C++語言中,080是

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

C十六進制數(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.下列運算符中,在C++語言中不能重載的是

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

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

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

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

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

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

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

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

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

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

其次部分非選擇題

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

請在答題卡上作答。

21.對象的核心概念就是通常所說的繼承、封裝和—

22.cin后面的符號是:>>,cout后面的符號是。

23.面對對象編程的英文縮寫是o

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

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

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

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

26.建立一個對象時,對象的狀態(tài)是不確定的。為了使對象的狀態(tài)確定,必需對其進行

正確的?

27.重載運算符的含義必需清晰,不能有o

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

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

C++語句是O

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

遞。

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

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

的依次定義。因為在調(diào)用時,實參初始化形參是按從左到右的依次。

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

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

35.假如一個類的名稱為MyClass,運用這個類的一個對象初始化該類的另一個對象時,

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

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

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

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

38.一個const對象只能訪問成員函數(shù)。

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

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

確的語句應當是o

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

請在答題卡上作答。

下面的程序段中各有一處錯誤,請將錯誤所在行抄寫在答題卡上,并指出錯誤緣由。

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分)

請在答題卡上作答。

46.在下面程序橫線處填上適當字句,以使該程序執(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.在下面程序的底藏線處填上適當?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.在下列程序的空格處填上適當?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.下面是一個輸入半徑,輸出其面積和周長的C++程序,在下劃線處填上正確的語句。

#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.請完成一下程序,使其輸出結(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分)

請在答題卡上作答。

51.寫出程序運行結(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.寫出程序運行結(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

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

請在答題卡上作答。

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

和虛部。為Complex類添加適當?shù)臉?gòu)造函數(shù)。并使用友元函數(shù)add實現(xiàn)復數(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<<"復數(shù):"<<real<<"+”<<image<<MiM<<endl;

if(image<0)

coutV〈"復數(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復數(shù)二;c2.print();

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

絕密★啟用前

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

C++程序設計試題答案及評分參考

(課程代碼04737)

一、單項選擇題(本大題共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.復制(拷貝)

37.單繼承38.

39.類族40.delete*p

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

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

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

43.答案:B(intm,諭n=0):A(m),j(n)”因為基類嚶不能被實例化,所以

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

誤,刪去A(m)。

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

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

元函數(shù)或

溫馨提示

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

最新文檔

評論

0/150

提交評論