違法信息舉報(bào) 客服熱線:400-118-7898
廣告
?
專接本欄目測(cè)試廣告

?自考C++程序設(shè)計(jì)2017年4月試題

自考 責(zé)任編輯:彭雅倩 2019-06-24

摘要:自考C++程序設(shè)計(jì)2017年4月試題及答案解析,該試卷為自考C++程序設(shè)計(jì)歷年真題試卷,包含答案及詳細(xì)解析。

自考C++程序設(shè)計(jì)2017年4月試題及答案解析

自考C++程序設(shè)計(jì)2017年4月試題及答案解析,該試卷為自考C++程序設(shè)計(jì)歷年真題試卷,包含答案及詳細(xì)解析。

一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分。)在每小題列出的備選項(xiàng)中只有一項(xiàng)是最符合題目要求的,請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均不得分。

1.以下說(shuō)法中不正確的是(  )

A.C++程序中必須有一個(gè)主函數(shù)main( ),而且是從main( )的第一條語(yǔ)句開(kāi)始執(zhí)行
B.非主函數(shù)都是在執(zhí)行主函數(shù)時(shí),通過(guò)函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的
C.主函數(shù)可以在任何地方出現(xiàn)
D.主函數(shù)必須出現(xiàn)在固定位置

2.若有定義int *p= new int(0),則下列說(shuō)法正確的是(  )

A.系統(tǒng)用指針變量p來(lái)表示所指整型變量
B.聲明一個(gè)指針變量p,指向名為new的存儲(chǔ)單元
C.系統(tǒng)為指針變量p分配一個(gè)整型數(shù)據(jù)的存儲(chǔ)空間
D.通過(guò)運(yùn)算符new,分配一個(gè)整型數(shù)據(jù)的存儲(chǔ)空間,并將其內(nèi)存地址賦予指針變量

3.以下有關(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è)類的所有成員

4.以下有關(guān)構(gòu)造函數(shù)的敘述中,錯(cuò)誤的是(  )

A.構(gòu)造函數(shù)名必須和類名一致
B.構(gòu)造函數(shù)在定義對(duì)象時(shí)自動(dòng)執(zhí)行
C.在一個(gè)類中構(gòu)造函數(shù)有且僅有一個(gè)
D.構(gòu)造函數(shù)可以在類體內(nèi)聲明在類體外實(shí)現(xiàn)

5.以下敘述中正確的是(  )

A.類成員的定義必須放在類體內(nèi)部
B.在類中,不作特別說(shuō)明的數(shù)據(jù)成員均為私有類型
C.在類中,不作特別說(shuō)明的數(shù)據(jù)成員均為公有類型
D.類成員的定義必須是成員變量在前,成員函數(shù)在后

6.友元函數(shù)的主要作用是(  )

A.提高程序的效率
B.加強(qiáng)類的封裝性
C.實(shí)現(xiàn)數(shù)據(jù)的隱蔽性
D.增加成員函數(shù)的種類

7.在C++中,字符型數(shù)據(jù)在內(nèi)存中的存放形式為(  )

A.原碼
B.BCD碼
C.ASCII碼
D.反碼

8.下列變量命名中,非法的是(  )

A.A**LONG
B.MyCar
C.my_car
D.a48

9.關(guān)于對(duì)類的描述中,錯(cuò)誤的是(  )

A.類是創(chuàng)建對(duì)象的樣板
B.類是具有唯一標(biāo)識(shí)符的實(shí)體
C.類就是C語(yǔ)言中的結(jié)構(gòu)類型
D.類是具有共同行為的若千對(duì)象的統(tǒng)一描述體

10.不能作為函數(shù)重載的判斷依據(jù)的是(  )

A.const
B.返回類型
C.參數(shù)個(gè)數(shù)
D.參數(shù)類型

11.已知:“int a=5; char c="a";”則輸出語(yǔ)句cout﹤﹤c+1﹤﹤a﹤﹤c;的顯示結(jié)果是(  )

A.65a
B.985a
C.98"5"a
D.65"a"

12.下面程序的輸出結(jié)果是(  ) #include ﹤iostream﹥ using namespace std; int main( ) { int a=1, b=-2, c=3; if(a﹤b) if(b﹤0) c=0; else c+=1; cout ﹤﹤c﹤﹤endl; return 0; }

A.0
B.2
C.3
D.4

13.C++語(yǔ)言的跳轉(zhuǎn)語(yǔ)句中,對(duì)于beak和 continue說(shuō)法正確的是(  )

A.break語(yǔ)句只應(yīng)用于循環(huán)體中
B.continue語(yǔ)句只應(yīng)用于循環(huán)體中
C.break是無(wú)條件跳轉(zhuǎn)語(yǔ)句,continue不是
D.break和 continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問(wèn)題

14.下列函數(shù)的說(shuō)明中,表示純虛函數(shù)的是(  )

A.virtual int vf(int)
B.void f(int)=0
C.virtual void vf( )=0
D.virtual void vf(int) { }

15.以下關(guān)于運(yùn)算符重載的描述中,錯(cuò)誤的是(  )

A.運(yùn)算符重載其實(shí)就是函數(shù)重載
B.成員運(yùn)算符比友元運(yùn)算符少一個(gè)參數(shù)
C.需要使用關(guān)鍵字operator
D.成員運(yùn)算符比友元運(yùn)算符多一個(gè)參數(shù)

16.對(duì)于下面定義的類Myclass,在函數(shù)f( )中將對(duì)象成員n的值修改為50的語(yǔ)句應(yīng)該是(  ) class Myclass { public: Myclass( int i) { n=i; } void SetNum(int x) { n=x; } private: int n; }; int f( ) { Myclass *p=new Myclass(45); _________}

A.p-﹥SetNum(50)
B.SetNum(50)
C.p-﹥n=50
D.*p-﹥SetNum (50)

17.下面關(guān)于對(duì)象概念的描述中錯(cuò)誤的是(  )

A.任何對(duì)象都必須有繼承性
B.對(duì)象是屬性和方法的封裝體
C.對(duì)象間的通信靠消息傳遞
D.操作是對(duì)象的動(dòng)態(tài)屬性

18.考慮函數(shù)原型void pass(int x, int y=5, char z="*"),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是(  )

A.pass(5)
B.pass(5, 8)
C.pass(6, "#")
D.pass(0, 0, "*")

19.下列關(guān)于虛函數(shù)的描述中,正確的是(  )

A.使用虛函數(shù)就一定產(chǎn)生多態(tài)性
B.虛函數(shù)只能是類中的一個(gè)成員函數(shù),但不能是靜態(tài)成員
C.一個(gè)類中僅可以聲明一個(gè)純虛函數(shù)
D.在構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用虛函數(shù)采用動(dòng)態(tài)聯(lián)編

20.有以下程序段,其輸出結(jié)果是(  ) #include ﹤iostream﹥ using namespace std; void main( ) { char b[ ] ="Hello, you"; b[5]="!"; cout ﹤﹤b﹤﹤endl; }

A.Hello, you
B.Hello
C.Hello! you
D.!

二、填空題(本大題共20小題,每小題1分,共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。

11.一般C++語(yǔ)言源程序文件的后綴是.cpp;經(jīng)過(guò)編譯后,生成文件的后綴是.obj;經(jīng)過(guò)連接后,生成文件的后綴是_________。

12.C++語(yǔ)言中提供了3種循環(huán)語(yǔ)句:_________循環(huán)語(yǔ)句、for循環(huán)語(yǔ)句和do_while循環(huán)語(yǔ)句。

13.在“int a=10, *p=&a;”語(yǔ)句中,p的值是_________。

14.執(zhí)行3條語(yǔ)句“int a, b, *c=&a; int *p=c; p=&b;”后,c指向_________。

15.若有以下定義:double w[9];則w數(shù)組元素下標(biāo)的下限是0,上限是_________。

16.設(shè)int x[3][4]; 則x數(shù)組中含有_________個(gè)int類型的數(shù)組元素。

17.將數(shù)學(xué)表達(dá)式 寫(xiě)成C++語(yǔ)言表達(dá)式為:_________。

18.模板函數(shù)的真正代碼是在源程序中_________時(shí)產(chǎn)生。

19.源程序文檔化要求程序應(yīng)加注釋,注釋一般分為序言性注釋和_________。

110.重載函數(shù)必須有不同的_________。

111.在類中定義和實(shí)現(xiàn)的函數(shù)可以成為_(kāi)________,它能夠加快程序執(zhí)行速度。

112.在C++中輸入輸出是通過(guò)流來(lái)完成的,輸出操作是將一個(gè)對(duì)象的狀態(tài)轉(zhuǎn)換成一個(gè)_________序列。

113.C++語(yǔ)言中,派生類繼承了基類的全部數(shù)據(jù)成員和除構(gòu)造函數(shù)及_________之外的全部函數(shù)。

114.定義以下變量并假設(shè)已賦確定的值:“ char w; int x; float y; double z;”,則表達(dá)式“w*x+z-y”的數(shù)據(jù)類型是_________。

115.若有一個(gè)Myclass類,則執(zhí)行語(yǔ)句“MyClass obj1,obj2[2],*p”后,自動(dòng)調(diào)用該類的構(gòu)造函數(shù)_________次。

116.this指針保證每個(gè)對(duì)象擁有自己的數(shù)據(jù)成員,又共享處理這些數(shù)據(jù)成員的_________。

117.若有整型變量a=1,b=-2,c=3;則表達(dá)式a-b﹥b?c:a+b的值為_(kāi)________。

118.所謂“引用”就是將一個(gè)新標(biāo)識(shí)符和一塊已經(jīng)存在的_________相關(guān)聯(lián),通常用于函數(shù)的參數(shù)表中或者作為函數(shù)的返回值

119.C++為結(jié)構(gòu)動(dòng)態(tài)分配內(nèi)存的一般格式是“指針名=_________;”,當(dāng)不再使用這個(gè)空間時(shí)必須用“delete指針名;”釋放空間。

120.C++程序中使用string類定義存儲(chǔ)字符串的對(duì)象時(shí),必須在程序中包含這個(gè)類的頭文件,即使用語(yǔ)句_________。

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

21.以下是對(duì)類 Sample的定義#include ﹤iostream﹥using namespace std;class Sample{public:Sample(int val);~Sample( );private:float a = 2.5;Sample( );};

22.#include ﹤iostream﹥using namespace std;void swap(int &, int &);void main( ){int a=5, b=10;swap(a, b);cout﹤﹤"a="﹤﹤a﹤﹤",b="﹤﹤b﹤﹤end;}void swap(int x, int y){ int temp;temp =x; x=y; y=temp;}

23.此程序改正后的運(yùn)行結(jié)果為:1 2 5 11 21#include ﹤iostream﹥using namespace std;int f(int); int main( ){int i;for(i=0; i﹤5; i++)cout﹤﹤f(i)﹤﹤" ";return 0;}int f(int i){int k=1;for(;i﹥0;i--) k+=i;return k;}

24.#include ﹤iostream﹥using namespace std;int main( ){int x=15;while(10﹤x﹤50){x++; if(x/3) { x ++; break; }}cout﹤﹤x﹤﹤endl;return 0;}

25.此程序調(diào)用 findmax( )函數(shù),返回?cái)?shù)組中的最大值。include ﹤iostream﹥using namespace std;int findmax (int *a, int n){int *p, *s;for(p=a, s=a; p-a﹤n; p++)if(*P﹤*s) *s=*p;return(* s);}void main( ){int x[5]={12,2,8,47};cout﹤﹤ findmax(x, 5)﹤﹤endl;}

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

31.程序在主函數(shù)中創(chuàng)建派生類Derived的對(duì)象obj,調(diào)用f( )函數(shù)后輸出DBC#include ﹤iostream﹥using namespace std;class Base{public:virtual void f( ){cout ﹤﹤"B";}};_________{ public:Derived( ) {cout ﹤﹤"D";}virtual void f( ){Base:: f( );cout ﹤﹤"C"; }};int main( ){Base *ptr;Derived obj;ptr=&obj;_________retun 0;}

32.程序的運(yùn)行結(jié)果為:12#include ﹤iostream﹥using namespace std;class Base{ public:int a; Base (int i) { a=i;}};class Derived:public Base{int a;public:Derived(int x):Base(x) { }void show( ){_________; //輸出基類數(shù)據(jù)成員a的值}};void main( }{ _________ d. show ( );}

33.#include ﹤iostream﹥using namespace std;class F{ public:_________};double F:: operator( ) (double x, double y) const{retum(x+5)*y;}_________{ F f; cout﹤﹤f( 1.5, 2.2)﹤﹤endl;}

34.程序運(yùn)行結(jié)果為3#include ﹤iostream﹥using namespace std;int main( ){int a=16, b=21, m=0; _________{case 0: m++; break;case 1: m++ ;switch(b%3){_________case 1: m++; break;}}cout ﹤﹤m﹤﹤ endl;return 0;}

35.定義平面上一個(gè)點(diǎn)的類point,有雙精度型私有數(shù)據(jù)成員橫坐標(biāo)x和縱坐標(biāo)y,公有成員函數(shù)有寫(xiě)入函數(shù)input( )、求原點(diǎn)距離函數(shù)distance( )和顯示函數(shù)show( ),請(qǐng)完成point( )的類圖。

五、運(yùn)行結(jié)果題(本大題共2小題,每小題10分,共20分)

41.#include ﹤iostream﹥using namespace std;void sort( int L[ ], int n){int i, k, flag, temp;flag=n-1;while( flag﹥0){ k=flag -1; flag=0;for(j=0; j﹤=k; j++){ if(L[j]﹥L[j+1]){ temp=L[j]; L[j]=L[j+1];L[j+1]=temp; flag =j;}}}}void main( ){ int array[4]={7,2,3,4};sort( array, 4);cout ﹤﹤"The sorted numbers:";for(int i=0; i﹤4; i++)cout ﹤﹤ array[i];}

42.#include ﹤iostream﹥using namespace std;class x{protected: int a; public: x( ) {a=1; }};class x1;virtual public x{ public:x1( ) {a+=1; cout﹤﹤"x1: "﹤﹤a﹤﹤","; }};class x2:virtual public x{public: x2( ) {a+=2; cout﹤﹤"x2: "﹤﹤a﹤﹤","; }};class y:public x1, public x2{public: y( ){ cout ﹤﹤"y: "﹤﹤a﹤﹤ endl; }};void main( ){ y obj; }

六、編寫(xiě)程序題(本大題共1小題,共10分)

51.定義一個(gè)生日類,數(shù)據(jù)成員有年、月、日。定義一個(gè)人員類,數(shù)據(jù)成員有姓名、性別、生日。人員類中的生日是生日類的對(duì)象,兩個(gè)類都有構(gòu)造函數(shù)和顯示函數(shù)。在主函數(shù)中聲明一個(gè)人員類對(duì)象,屏幕顯示其數(shù)據(jù)。

更多資料

00149《國(guó)際貿(mào)易理論與實(shí)務(wù)》【知識(shí)集錦】

00159《高級(jí)財(cái)務(wù)會(huì)計(jì)》【知識(shí)集錦】

00184《市場(chǎng)營(yíng)銷策劃》【知識(shí)集錦】

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門(mén)公布的內(nèi)容為準(zhǔn)!

自考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

資料下載
  • 00152《組織行為學(xué)》【知識(shí)集錦】

    下載
  • 00158《資產(chǎn)評(píng)估》【知識(shí)集錦】

    下載
  • 00148《國(guó)際企業(yè)管理》【知識(shí)集錦】

    下載
  • 00160《審計(jì)學(xué)》【知識(shí)集錦】

    下載