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

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

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

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

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

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

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

1.C++中注釋“//”的有效范圍是(  )

A.從“//”開始到行尾
B.從“//”開始到下一個(gè)“//”
C.“//”及其后一個(gè)字符
D.從“//”開始到程序尾

2.假定MyClass為一個(gè)類,則該類的復(fù)制構(gòu)造函數(shù)的聲明語句為(  )

A.MyClass&(MyClass x);
B.MyClass(MyClass x);
C.MyClass(MyClass &x);
D.MyClass(MyClass *x);

3.下列選項(xiàng)不是C++關(guān)鍵字的是(  )

A.typedef
B.void
C.bool
D.inc

4.用于標(biāo)識(shí)十進(jìn)制常量的前綴或后綴是(  )

A.無前后綴
B.后綴L或l
C.前綴0
D.前綴0x

5.設(shè)int x=56; int r=x;若cout﹤﹤&x;顯示0012FF7A,則cout﹤﹤&r;輸出值為(  )

A.56
B.0012FF7A
C.0012FF7B
D.未知

6.使用下列哪個(gè)流格式控制符可設(shè)置轉(zhuǎn)換基數(shù)為八進(jìn)制(  )

A.dec
B.oct
C.hex
D.endl

7.C++中是否允許在類結(jié)構(gòu)中定義函數(shù)(  )

A.不允許
B.允許
C.僅允許定義構(gòu)造函數(shù)
D.只不允許定義構(gòu)造函數(shù)

8.設(shè)函數(shù)void subone(int &)將形參減1,如有整型變量int k=10,則執(zhí)行subone(k);后,k的值為(  )

A.9
B.10
C.11
D.未知

9.對函數(shù)int max(int a, int b=0, int c=0, int d=0, int e=0);下列調(diào)用方式正確的是(  )

A.int m=max(10,11,12,13,14);
B.int m=max(10,,12,13,14);
C.int m=max(10,11,,13,14);
D.int m=max(10,11,12,,14);

10.類MyClass的定義如下: class MyClass { public: MyClass( ){ } MyClass(int i){value=new int(i);} int * value; }; 若要對value賦值,則下面語句正確的是(  )

A.MyClass my; my.value=10;
B.MyClass my; *my.value=10;
C.MyClass my; my.*value=10;
D.MyClass my(10);

11.包含哪種語句的函數(shù)不能聲明為內(nèi)聯(lián)函數(shù)(  )

A.變量定義
B.if……else
C.位操作
D.switch

12.聲明函數(shù)模板的關(guān)鍵字是(  )

A.inline
B.template
C.const
D.short

13.對于類中的成員,使用public修飾,表明該成員的訪問權(quán)限是(  )

A.公有的
B.私有的
C.保護(hù)的
D.不可見的

14.一個(gè)類中是否可以允許一個(gè)無參數(shù)構(gòu)造函數(shù)和一個(gè)全部都是默認(rèn)參數(shù)的構(gòu)造函數(shù)共存(  )

A.不允許
B.允許
C.無法確定
D.視構(gòu)造函數(shù)的函數(shù),可確定

15.析構(gòu)函數(shù)的參數(shù)個(gè)數(shù)為(  )

A.0個(gè)
B.1個(gè)
C.至少1個(gè)
D.多于1個(gè)

16.非靜態(tài)成員函數(shù)都會(huì)有一個(gè)隱含指針,它是(  )

A.self指針
B.this指針
C.current指針
D.one指針

17.下列訪問公有靜態(tài)成員的方式,錯(cuò)誤的是(  )

A.類名:: 靜態(tài)成員名
B.對象名.靜態(tài)成員名
C.對象指針-﹥靜態(tài)成員名
D.對象指針.靜態(tài)成員名

18.聲明友元使用下列哪個(gè)關(guān)鍵字(  )

A.class
B.const
C.friend
D.virtual

19.派生類繼承了基類的(  )

A.所有成員
B.部分成員
C.數(shù)據(jù)成員
D.成員函數(shù)

20.基類private成員,通過public派生,其在派生類中為(  )

A.private
B.protected
C.public
D.不可訪問

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

11.執(zhí)行下列代碼 double pi= 3.141592; cout﹤﹤setprecision(1)﹤﹤pi; 程序的輸出結(jié)果是_________。

12.要使用STL庫提供的對數(shù)組進(jìn)行升冪排序算法,在源程序中需要包含的頭文件是_________。

13.C++語言中動(dòng)態(tài)回收內(nèi)存的關(guān)鍵字是_________。

14.執(zhí)行下列代碼 int b=100; cout﹤﹤"Oct:"﹤﹤oct﹤﹤b; 程序的輸出結(jié)果是_________。

15.C++語言中用于定義一個(gè)類的關(guān)鍵字是_________。

16.為了使用C++語言標(biāo)準(zhǔn)程序庫提供的string類,在程序中必須使用的文件包含命令是_________。

17.在程序中執(zhí)行int *a=new int之后,若a為空指針,則表明_________。

18.C++函數(shù)中傳遞對象地址值是使用_________作為參數(shù)。

19.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對象指針,實(shí)參是對象的_________。

110.C++函數(shù)有庫函數(shù)(標(biāo)準(zhǔn)函數(shù))和_________兩類。

111.C++中通過_________對類的對象進(jìn)行初始化。

112.UML中實(shí)例連接反映對象之間的靜態(tài)關(guān)系,消息連接描述對象之間的_________關(guān)系。

113.若將一個(gè)對象說明為常對象,則通過該對象只能調(diào)用它的_________成員函數(shù),不能調(diào)用其它成員函數(shù)。

114.靜態(tài)成員函數(shù)是_________的成員,不是對象的成員。

115.私有繼承時(shí),在派生類中基類的protected權(quán)限變?yōu)開________。

116.若使用一個(gè)表達(dá)式的含義能解釋為訪問多個(gè)基類中的成員,則這種對基類成員的訪 問就是不確定的,稱這種訪問具有_________。

117.如果在類模板的定義中有一個(gè)靜態(tài)數(shù)據(jù)成員,則在程序運(yùn)行中會(huì)產(chǎn)生_________靜態(tài)變量。

118.vector類中用于獲取向量可以容納最多對象的個(gè)數(shù)的方法是_________。

119.C++用于運(yùn)算符重載的關(guān)鍵字是_________。

120.含有___________的類稱為抽象類,它只能作為基類來使用。

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

21.#include ﹤ iostream. h ﹥class test1 {private: int x;public: test1 ( ) { x = 2 ; }void set(int a){x =a;}void get( ) { cout ﹤﹤ x ﹤﹤ endl; }};class test2{private: int x;public: test2 ( ) { x = 3; }void set( int a) { x = a; }void get( ) { cout ﹤﹤ x ﹤﹤ endl; }};class test: public testl, public test2 {private: int x;public: void set( int a) { x=a; }void gettest( ) {cout ﹤﹤ x ﹤﹤ endl; }};void main( ) {test a; a. get( );}

22.#include ﹤ iostream. h ﹥class test {private: int x, y;public: void test1 ( int a, int b) { x = a; y = b;}int max( );};int test: max( ) { if(x﹥y) return x; else return y;}void main( ){test a;a. test1(1,3);cout ﹤﹤ a. max ( ) ﹤﹤ endl;}

23.#include ﹤ iostream. h ﹥void main( ) {int x =5;const int * const p = &x;* p =88;cout ﹤﹤ * p ﹤﹤ endl;}

24.#include ﹤ iostream. h ﹥class point{private: float x, y ;public: f( float a, float b) { x = a; y = b ; }f( ) {x=0; y=0;}void getx( ) { cout ﹤﹤ x ﹤﹤ endl; }void gety ( ) { cout ﹤﹤ y ﹤﹤ endl ; }}class pointl{private: float x, y;public: f( float a, float b) { x = a; y = b ; }f( ){x=1; y=1;}void getx( ) {cout ﹤﹤x ﹤﹤endl;}void gety( ) {cout ﹤﹤y ﹤﹤endl;}};main( ) {point a;a.f( );a. getx( );a. gety( );}

25.#include ﹤ iostream. h ﹥void main( ) {string str1 (" we are here" );cout ﹤﹤ str1 ﹤﹤ endl;}

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

31.在下面程序的下劃線處填上正確的數(shù)據(jù)類型,保證程序具有如下輸出結(jié)果:01717,17,17源程序如下:#include ﹤ iostream ﹥using namespace std;class base {public:______________num;base ( ) { }};int base::num = 0;void main( ) {cout ﹤﹤ base::num ﹤﹤ endl;_______________* p=&base::num;*p=17;cout ﹤﹤ base::num ﹤﹤ end1;base a,b;cout ﹤﹤ *p﹤﹤"," ﹤﹤ a. num ﹤﹤ "," ﹤﹤b. num;}

32.在下面橫線處填上正確的內(nèi)容,完成類的定義。class Base{int x;static const int b;public: Base( int, int);const int &a;};______________b =15;Base::Base(int i,int j): ___________{ }

33.完成下面程序中的show函數(shù)的定義,使其運(yùn)行結(jié)果如下: In base In derived 程序清單如下:#include ﹤ iostream ﹥using namespace std;class base{pubhc :virtual void print( ){cout ﹤﹤ "In base" ﹤﹤ endl;}};class derived: public base{public :void print( ) { cout ﹤﹤ "In derived" ﹤﹤ endl; }};void show(base * pb, void (base:: * pf) ( ) ){_________} void main( ){base b;derived d;show ( &b, base::print);show ( &d, base::print);}

34.在下面程序的下劃線處填上正確的語句。#include ﹤ iostream ﹥using namespace std;template ﹤ class T ﹥T f( T&a, T&b, int n){for (int i=0;i ﹤n;i ++ )a[i] =a[i] +b[i];return a ;}void main( ){int a[5] ={1,2,3,4,5};int b[5] = { 100,200,3,4,51 , * p;for(int i =0; i ﹤2; i ++) p=_________ //調(diào)用函數(shù)ffor( ; p ﹤a +5; p ++ )cout﹤﹤_________﹤﹤endl;}

35.下列程序?qū),y,z按從小到大的順序排列并將結(jié)果返回給實(shí)參,在橫線處填入正確的內(nèi)容。 template ﹤ class T ﹥void order(_________){_________;if(x ﹥y) {a =x;x =y;y =a;}if(y ﹥z) {a =y;y =z;z =a;}if(x ﹥y) {a =x;x =y;y =a;}}

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

41.給出下面程序的輸出結(jié)果#include ﹤ iostream ﹥using namespace std;template ﹤ class T ﹥T F(T x){return x ﹥ 5;}void main( ){int a = 15;cout ﹤﹤ F(a) ﹤﹤" ";double b = - 5.8976;cout ﹤﹤ F(b) ﹤﹤" ";cout ﹤﹤ F(5) ﹤﹤" ";}

42.給出下面程序的輸出結(jié)果#include ﹤ iostream ﹥using namespace std;class A{private: int X, Y;public: A ( int myx, int myy) { X = myx; Y = myy ;}void show ( ) { cout ﹤﹤ "X =" ﹤﹤ X ﹤﹤ " Y = " ﹤﹤ Y ﹤﹤ endl;}};class B : public A{private : int H, W;public: B( int myx,int myy,int myh,int myw): A( myx, myy)[H=myh;W=myw;}void show ( ) { cout ﹤﹤ "H = " ﹤﹤ H ﹤﹤ " ; W = " ﹤﹤ W ﹤﹤ endl; }};void main( ){B d(1,2,3,4) ;d. show ( ) ;}

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

51.定義隊(duì)列類模板queue(先進(jìn)先出),隊(duì)列的大小由使用者確定。要求該類模板對外提供如下二種基本操作:(1)inser(入隊(duì)列)(2)front(出隊(duì)列),用數(shù)組來實(shí)現(xiàn)#include ﹤ iostream ﹥using namespace std;template ﹤ class T, int size ﹥class queue {T x [ size ] ;int current, front, rear;public:queue ( ) { current = 0; front = 0; rear = 0;}....insert(....);....front(....);};請寫出兩個(gè)函數(shù)的過程(如果需要形式參數(shù),請給出形參類型和數(shù)量,以及返回值類型)

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

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

去領(lǐng)取

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

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

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

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

    下載