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

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

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

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

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

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

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

1.下列關(guān)于類(lèi)的權(quán)限描述錯(cuò)誤的是(  )

A.類(lèi)本身的成員函數(shù)可以訪問(wèn)自身的任何成員
B.類(lèi)的對(duì)象只能訪問(wèn)公有成員
C.普通函數(shù)可以不通過(guò)對(duì)象直接訪問(wèn)類(lèi)的公有成員
D.一個(gè)類(lèi)可以包含另一個(gè)類(lèi)的對(duì)象作為成員

2.只能在自身類(lèi)和子類(lèi)成員函數(shù)中被訪問(wèn),無(wú)法通過(guò)對(duì)象在類(lèi)外訪問(wèn)的成員屬于(  )

A.private
B.protected
C.public
D.publish

3.面向?qū)ο笾械摹皩?duì)象”是指(  )

A.行為抽象
B.數(shù)據(jù)抽象
C.行為抽象和數(shù)據(jù)抽象的統(tǒng)一
D.行為抽象和數(shù)據(jù)抽象的對(duì)立

4.在類(lèi)外定義成員函數(shù)時(shí),::運(yùn)算符兩側(cè)分別連接(  )

A.返回值類(lèi)型 函數(shù)名
B.返回值類(lèi)型 類(lèi)名
C.函數(shù)名 類(lèi)名
D.類(lèi)名 函數(shù)名

5.設(shè)函數(shù)int& index(int * a, int i)返回?cái)?shù)組a中下標(biāo)為i的元素,如存在整型數(shù)組int Array[ ]={1,2,3},在執(zhí)行index(Array, 2)++后,Array中各元素值為(  )

A.{0, 1, 2}
B.{1, 1, 2}
C.{1, 2, 4}
D.{0, 2, 3}

6.類(lèi)構(gòu)造函數(shù)定義的位置是(  )

A.類(lèi)體內(nèi)或體外
B.只是在類(lèi)體內(nèi)
C.只在類(lèi)體外
D.在類(lèi)的成員函數(shù)中

7.設(shè)存在數(shù)組a,其長(zhǎng)度為L(zhǎng)en,則下列哪項(xiàng)泛型算法用于在a中尋找值Value的位置(  )

A.reverse(a, a+Len, Value);
B.sort(a, a+Len, Value);
C.find(a, a+Len, Value);
D.copy(a, a+Len, Value);

8.關(guān)于對(duì)象的性質(zhì),下列描述錯(cuò)誤的是:(  )

A.同一類(lèi)對(duì)象間可相互賦值
B.可以使用對(duì)象數(shù)組
C.對(duì)象不可以用作函數(shù)參數(shù)
D.一個(gè)對(duì)象可以用作另一個(gè)類(lèi)的成員

9.聲明一個(gè)沒(méi)有初始化參數(shù)的對(duì)象,需調(diào)用(  )

A.指定參數(shù)構(gòu)造函數(shù)
B.拷貝構(gòu)造函數(shù)
C.初始化函數(shù)
D.默認(rèn)構(gòu)造函數(shù)

10.下列運(yùn)算符不能重載的是(  )

A.!
B.sizeof
C.new
D.delete

11.如P是一指針類(lèi)型表達(dá)式,則下列表達(dá)式中不是左值表達(dá)式的是(  )

A.P
B.*P
C.&P
D.P+1

12.使用下列流格式控制符能輸出一個(gè)換行符的是(  )

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

13.下列表達(dá)式,能將P聲明為常量指針的是(  )

A.const int * P;
B.int *const P;
C.const int * const P;
D.int * P;

14.C++程序文件擴(kuò)展名為(  )

A..cpp
B..h
C..lib
D..obj

15.對(duì)C++中主函數(shù)描述正確的是(  )

A.名稱為main,可為多個(gè)
B.名稱不限,可為多個(gè)
C.名稱為main,必須有且只能有一個(gè)
D.名稱不限,必須有且只能有一個(gè)

16.假定有char * P="Hello";,要輸出這個(gè)字符串的地址值的正確寫(xiě)法是(  )

A.cout﹤﹤ *P
B.cout﹤﹤P
C.cout﹤﹤&P
D.cout﹤﹤(void *)P

17.下列描述錯(cuò)誤的是(  )

A.在沒(méi)創(chuàng)建對(duì)象前,靜態(tài)成員不存在
B.靜態(tài)成員是類(lèi)的成員,不是對(duì)象成員
C.靜態(tài)成員不能是虛函數(shù)
D.靜態(tài)成員函數(shù)不能直接訪問(wèn)非靜態(tài)成員

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

A.友元是本類(lèi)的成員函數(shù)
B.友元不是本類(lèi)的成員函數(shù)
C.友元不是函數(shù)
D.以上皆不正確

19.一個(gè)函數(shù)功能不太復(fù)雜,但要求頻繁使用,則該函數(shù)適合作為(  )

A.內(nèi)聯(lián)函數(shù)
B.重載函數(shù)
C.遞歸函數(shù)
D.嵌套函數(shù)

20.下列默認(rèn)參數(shù)的聲明不正確的是(  )

A.int max(int a, int b, int c, int d=0);
B.int max(int a, int b, int c=0, int d=0);
C.int max(int a=0, int b, int c=0, int d=0);
D.int max(int a, int b=0, int c=0, int d=0);

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

11.C++程序的編譯是以_________為單位進(jìn)行的。

12.默認(rèn)參數(shù)是在_________中說(shuō)明的,默認(rèn)參數(shù)可以多于一個(gè)。

13.通過(guò)C++語(yǔ)言中的_________機(jī)制,可以從現(xiàn)存類(lèi)中構(gòu)建其子類(lèi)。

14.拷貝構(gòu)造函數(shù)使用_________作為參數(shù)初始化創(chuàng)建中的對(duì)象。

15.基類(lèi)的公有成員在通過(guò)公有派生得到的子類(lèi)中訪問(wèn)權(quán)限是_________。

16.要關(guān)閉一個(gè)輸出流對(duì)象myFile,所用的C++語(yǔ)句是_________。

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

18.對(duì)象作為函數(shù)參數(shù),就是將實(shí)參對(duì)象的_________傳遞給形參對(duì)象,這種傳遞是單向的。

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

110.C++類(lèi)中的_________函數(shù)在對(duì)象的生存期結(jié)束時(shí)被自動(dòng)調(diào)用。

111.C++語(yǔ)言中的整數(shù)常量有四種:十進(jìn)制常量、長(zhǎng)整型常量、八進(jìn)制常量和_________。

112.UML中對(duì)象之間的靜態(tài)關(guān)系是通過(guò)對(duì)象屬性之間的連接反映的,稱之為_(kāi)________。

113.聲明一個(gè)常成員函數(shù)Fun,返回類(lèi)型為char,第一個(gè)參數(shù)類(lèi)型為int,第二個(gè)參數(shù)類(lèi)型為double,則該函數(shù)的聲明原型是_________。

114.在C++語(yǔ)言中,利用向量類(lèi)模板定義一個(gè)具有20個(gè)int類(lèi)型且初值為1的向量C,實(shí)現(xiàn)此操作的語(yǔ)句是_________。

115.執(zhí)行下列代碼:int a=123,b=321; cout﹤﹤setw(3)﹤﹤a﹤﹤b﹤﹤endl; 程序輸出結(jié)果是:_________。

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

117.vector類(lèi)中用于返回向量中第一個(gè)對(duì)象的方法是_________。

118.C++語(yǔ)言中動(dòng)態(tài)分配內(nèi)存的關(guān)鍵字是_________。

119.C++類(lèi)成員的訪問(wèn)權(quán)限有_________、公有和保護(hù)三種。

120.寫(xiě)出聲明一個(gè)復(fù)數(shù)對(duì)象num的語(yǔ)句,并使對(duì)象被初始化為單精度 2.2+ 1.3i,此聲明語(yǔ)句是_________。

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

21.#include ﹤iostream.h﹥   main( ){   int x=5, y=6;   const int *p=&x;   * p=y;   cout﹤﹤*p﹤﹤endl;  }

22.#include ﹤iostream.h﹥   class f {   private: T x, y;   public: f1(T a, T b){x=a; y=b;}   T max( ){return(x﹥y)? x: y;}   };   main( ) {   f a;   a.f1( 1.5, 3.8);   cout﹤﹤a.max( )﹤﹤endl;   }

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

24.#include ﹤iostream.h﹥class f{   private: float x,y;   float get( ){return x+y;}   public:f1(float a,float b){x=a;y=b;}   };   main( ) {   f a;   a.f1(1, 3.8);   cout﹤﹤a.get( )﹤﹤endl;   }

25.#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 test1, public test 2. {   private: int x;   public: void set(int a){x=a;}   void gettest( ){cout﹤﹤x﹤﹤endl;}   };   main( ) {   test a; a.get( );   }

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

31.完成下面類(lèi)中的成員函數(shù)的定義。   class point   {   private:   int m, n;   public:   point(int, int);   point(point&);   };   point:: point(int a, int b)   {   m=a;   _________=b;   }   point::point( _________ )   {  m=t.m;   n=t.n;   }

32.#include ﹤iostream﹥   using namespace std;   class base   {   private: int x;   public: base(int a){x=a;}   int get( ){return x:}   void showbase( ) {cout﹤﹤"x="﹤﹤x﹤﹤endl; }   };   class Derived: public base   {private: int y;   public: Derived(int a, int b): base(a) {y=b; }   void showderived( )   {cout﹤﹤"x="﹤﹤get( )﹤﹤",y="﹤﹤y﹤﹤endl; }   };   void main( )   {   base b(3);   Derived d(6, 7);   b.showbase( );   d.showderived( );   _________;   b.showbase( );   _________;   b 1.showbase( );   base * pb=&b1;   pb-﹥showbase( );   d.showderived( );   b.showbase( );   }   輸出結(jié)果如下:   x=3   x=6,y=7   x=6   x=6   x=6   x=6,y=7   x=6

33.#include ﹤iostream﹥   #include ﹤fstream﹥   using namespace std;   class complex   {   public:   int real:   int imag;   complex(int r=0, int i=0)   {   real=r;   imag=i;   }   };   complex operator+(_________,complex&b)   {   int r=a.real+b.real;   int i=a.imag+b.imag;   return _________;   }   void main( )   {   complex x(1, 2), y(3, 4), z;   z=x+y;   cout﹤﹤z.real﹤﹤"+"﹤﹤z.imag﹤﹤"i"﹤﹤endl;   }

34.下面程序的運(yùn)行結(jié)果如下:   This is line1   This is line2   This is line3   將下列程序補(bǔ)充完整,答案寫(xiě)在答題紙上。源程序如下:   #include ﹤iostream﹥   #include _________   using namespace std;   void main( )   {   fstream fin, fout;   fout.open("my.txt", ios:: out);   if(!fout.is_open( ))   return;   for(int i=0; i﹤3; i=i+1)   fout﹤﹤"This is line"﹤﹤i+1﹤﹤endl;   fout.close( );   fin.open("my.txt", ios:: in);   if(! fin.is_open( ))   return;   char str[100];   while(_________)   {   fin.getline(str,100);   cout﹤﹤str﹤﹤endl;   }   fin.close( );   }

35.求兩個(gè)浮點(diǎn)數(shù)之差的cha函數(shù)的原型聲明、調(diào)用方法。   #include ﹤iostream﹥   using namespace std;   void main( )   {   float a, b;   _________; //函數(shù)cha的原型聲明   a= 12.5;   b= 6.5;   float c=_____________; //調(diào)用函數(shù)cha   cout﹤﹤c﹤﹤endl;   }   float cha(float x,float y)   {   float w;   w=x-y;   return w;   }

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

41.#lnclude ﹤iostream.h﹥   void func( );   void main( )   {   for(int i=0; i﹤6; i++)   {   func( );   }   }   void func( )   {   int x=0;   x++;   static int y=0;   y++;   cout﹤﹤"x="﹤﹤x﹤﹤";y="﹤﹤y﹤﹤endl;   }

42.#include ﹤iostream.h﹥   class A   {   public:   A( );   void Show( );   ~A( );   private:   static int c;   };   int A:: c=O;   A:: A( )   {   cout﹤﹤"constructor."﹤﹤endl;   c +=10;   }   void A:: Show( )   {   cout﹤﹤"c="﹤﹤c﹤﹤endl;   }   A:: ~A( )   {   cout﹤﹤"destrucator."﹤﹤endl;   }   void main( )   {   A a, b;   a.Show( );   b.Show( );   }

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

51.在三角形類(lèi)tri實(shí)現(xiàn)兩個(gè)函數(shù),功能是輸入三個(gè)頂點(diǎn)坐標(biāo)判斷是否構(gòu)成等邊三角形   #include ﹤iostream.h﹥   #include ﹤math.h﹥   class point { point   private: float x, y;   public: f(float a, float b){x=a; y=b;}   f( ){x=0; y=0;}   Void set(float a, float b){x=a; y=b;}   float getx( ){return x;}   noat gety( ){return y;}   };   class tri{   point x, y, z;   float s1, s2, s3;   public....settri(....); //用于輸入三個(gè)頂點(diǎn)坐標(biāo)   ....test(....); //用于判斷是否構(gòu)成等邊三角形   };   請(qǐng)寫(xiě)出兩個(gè)函數(shù)的過(guò)程(如果需要形式參數(shù),請(qǐng)給出形參類(lèi)型和數(shù)量,以及返回值類(lèi)型)

更多資料

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

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

00184《市場(chǎng)營(yíng)銷(xiāo)策劃》【知識(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í)集錦】

    下載