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

?C++程序設(shè)計(jì)2010年1月真題試題(04737)

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

摘要:C++程序設(shè)計(jì)2010年1月真題試題及答案解析(04737),本試卷總共100分。

C++程序設(shè)計(jì)2010年1月真題試題及答案解析(04737)

C++程序設(shè)計(jì)2010年1月真題試題及答案解析(04737),本試卷總共100分。

一、單項(xiàng)選擇題

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

1.在C++中,頭文件擴(kuò)展名為(  )

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

2.下列符號(hào)中,不屬于分隔符的是(  )

A.,
B./
C.;
D.{ }

3.可替換#define PI 3.1415926的語句是(  )

A.float PI 3.1415926;
B.const float PI=3.1415926;
C.const PI(3.1415926);
D.const 3.1415926;

4.布爾類型標(biāo)識(shí)符是(  )

A.void
B.short
C.long
D.bool

5.下列不是C++語言的基本數(shù)據(jù)類型的是(  )

A.字符類型
B.整數(shù)類型
C.邏輯類型
D.枚舉類型

6.C++允許在結(jié)構(gòu)中定義函數(shù),這些函數(shù)稱為(  )

A.靜態(tài)函數(shù)
B.構(gòu)造函數(shù)
C.析構(gòu)函數(shù)
D.成員函數(shù)

7.設(shè)函數(shù)void inc(int)將形參加1,如有整型變量int i=10; 則執(zhí)行inc(i); 后,i的值為(  )

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

8.下列哪種默認(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);

9.設(shè)int &max(int &, int &)返回兩參數(shù)中較大者,如有兩整型變量int a=10; int b=15;在執(zhí)行max(a, b)++后,a,b值分別為(  )

A.10,15
B.11,15
C.10,16
D.11,16

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

A.循環(huán)
B.變量自增自減
C.if…else…
D.變量聲明

11.定義函數(shù)模板中使用的參數(shù)類型標(biāo)識(shí)符需使用下列哪組符號(hào)括起來(  )

A.<>
B.""
C.( )
D.{ }

12.一個(gè)類擁有多個(gè)構(gòu)造函數(shù),則這些構(gòu)造函數(shù)間為(  )

A.重載關(guān)系
B.重復(fù)關(guān)系
C.拷貝關(guān)系
D.無關(guān)系

13.對(duì)于拷貝構(gòu)造函數(shù)point:: point(point& p),下列說明正確的是(  )

A.該函數(shù)只能訪問P的私有成員
B.該函數(shù)不能訪問P的公有成員
C.該函數(shù)可以訪問P的私有和公有成員
D.該函數(shù)不能訪問P的成員

14.使用delete[ ]刪除對(duì)象數(shù)組時(shí),描述正確的是(  )

A.數(shù)組中各元素都調(diào)用析構(gòu)函數(shù)
B.數(shù)組中各元素都調(diào)用構(gòu)造函數(shù)
C.不調(diào)用析構(gòu)函數(shù)
D.只有首元素調(diào)用析構(gòu)函數(shù)

15.下列哪個(gè)指令屬于條件編譯指令(  )

A.#elif
B.#error
C.#pragma
D.#include

16.設(shè)類Test中存在成員static int x,則下列哪種初始化方式是正確的(  )

A.Test::int x=25;
B.int x=25;
C.int Test::x=25;
D.int Test x=25;

17.下列關(guān)于友元的描述錯(cuò)誤的是(  )

A.成員函數(shù)不可作友元
B.類可以作友元
C.普通函數(shù)可以作友元
D.靜態(tài)函數(shù)可以作友元

18.在繼承中,派生類擁有的基類個(gè)數(shù)為(  )

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

19.基類中的protected成員,通過public派生,其在派生類中的可見性為(  )

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

20.下列哪個(gè)不是面向?qū)ο蟮年P(guān)鍵要素(  )

A.抽象性
B.結(jié)構(gòu)性
C.封裝性
D.多態(tài)性

二、填空題

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

11.在STL庫中用于實(shí)現(xiàn)數(shù)組內(nèi)容反轉(zhuǎn)的函數(shù)是__________。

12.若要使用C++標(biāo)準(zhǔn)類庫,需要指定相應(yīng)的命名空間,所用的語句是__________。

13.C++語言中的整數(shù)常量有4種描述類型:十進(jìn)制常量、長整型常量、八進(jìn)制常量和__________。

14.聲明一個(gè)名為a的整型引用變量所使用的語句是__________。

15.重載的運(yùn)算符仍保留原有的優(yōu)先級(jí)、__________和語法結(jié)構(gòu)。

16.執(zhí)行代碼  int b=100;  cout<<hex<<b:程序的輸出結(jié)果是__________。

17.帶有純虛函數(shù)的類稱為抽象類,它只能作為__________來使用。

18.使用__________作為函數(shù)參數(shù),實(shí)參對(duì)象和形參對(duì)象代表同一對(duì)象,改變形參對(duì)象的值就是改變實(shí)參對(duì)象的值。

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

110.如果一個(gè)模板聲明列出多個(gè)參數(shù),則多個(gè)參數(shù)之間必須使用逗號(hào)隔開,每個(gè)參數(shù)都必須重復(fù)使用關(guān)鍵字__________。

111.C++類的構(gòu)造函數(shù)名與__________名稱一樣,且沒有返回值。

112.C++規(guī)定,當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),系統(tǒng)自動(dòng)向它傳遞一個(gè)隱含的參數(shù),該參數(shù)是一個(gè)指向調(diào)用該函數(shù)的對(duì)象的指針,該指針被稱為__________指針。

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

114.C++語言中的“聚合”隱含了兩種實(shí)現(xiàn)方式,一種是__________,另一種是用一個(gè)類的對(duì)象作為一種廣義的數(shù)據(jù)類型來定義整體對(duì)象的一個(gè)屬性。

115.簡單成員函數(shù)是指聲明中不含const、__________和static關(guān)鍵字的函數(shù)。

116.在派生類中繼承的基類成員的初始化,需要由派生類的構(gòu)造函數(shù)調(diào)用基類的__________來完成。

117.在C++中,利用向量類模板定義一個(gè)具有20個(gè)int的向量,其所有元素被置為1,實(shí)現(xiàn)此操作的語句是__________。

118.vector類中用于獲取無需再次分配內(nèi)存就能容納的對(duì)象個(gè)數(shù)的方法是__________。

119.動(dòng)態(tài)聯(lián)編是程序運(yùn)行到需要的語句處才動(dòng)態(tài)確定的,這稱為__________多態(tài)性。

120.C++重載“=”運(yùn)算符的函數(shù)名是__________。

三、改錯(cuò)題

(本大題共5小題,每小題4分,共20分)下面的類定義中有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。

21.  #include<iostream.h>  #define PI 3.14;  void main( )  {    double i;    int r;    cout<<″輸入圓形半徑:″;    cin>>r;    i=2 * PI * r;    cout<<″圓形周長=″<<i<<endl;    i=PI * r * r;    cout<<″圓形面積=″<<i<<endl;  }

22.  #include <iostream.h>  class A  {  private:    int x, y;  public:    A(int a=0, b=1);    void Show( );  };  A::A(int a, int b)  {    x=a;    y=b;  }  void A::Show( )  {    cout<<″x=″<<x<<endl;    cout<<″y=″<<y<<endl;  }

23.  #include <iostream.h>  class A  {    unsigned char var;  public:    A(unsigned char x){    var=x:    }    void print( ){    cout<<″var=″<<var;    }    };    void main( )    {       A a(″x″);       a. print( );   }

24.   #include < iostream.h>   class Class   {    public:       void print(int a,int b) {          cout<<″int:″<< a << endl;          cout <<″int:″<< b << endl;     }       void print(char * a,char * b) {          cout<<″string:″ <<a <<endl;          cout <<″ string:″ <<b <<endl;     }       void print(char * a,unsigned int b){          cout <<″string:″ <<a <<endl;          cout <<″int:″ <<b <<endl;     }   };    void main( )   {       Class cls;       cls.print(10,20);       cls.print(′c′,1);       cls.print(′x′,′y′);       cls.print(″Hello!″,0);   }

25.   #include < iostream.h >   class Class   {     private:        int val;     public:        void func( int a)     {           val = a;     }   };   void main( )   {        Class * cls ;        cls -> func(10) ;   }

四、完成程序題

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

31.將下面程序補(bǔ)充完整,使程序計(jì)算100以內(nèi)所有可被7整除的自然數(shù)之和。  #include <iostream.h>  void main( )  {    int x=1;    int sum=0;    while(true)    {    if(x>100){     __________;    }     if(__________){     sum=sum+x;     }     x++;    }    cout<<sum<<endl;  }

32.將下面程序補(bǔ)充完整,使程序執(zhí)行結(jié)果為9。  #include <iostream.h>  class Class{  public:  __________{     x=a;    }    __________{      return x * x;    }  private:    int x;  };  void main( )  {    Class a(3);    cout<<a.get( )<<endl;  }

33.將下面程序補(bǔ)充完整,使程序正確的初始化私有變量var及釋放資源。  class Class  {  private:    int * var;  public:    Class(int num);    ~Class( );  };  Class::Class(int num)  {     ___________;  }  Class::~Class( )  {     ___________;  }

34.將下面程序補(bǔ)充完整,使程序的輸出結(jié)果為:ClassA::PrintClassB::Print程序如下:  #include<iostream.h>  class Base  {    public:    virtual void Print( ) const {      cout<<″Base::Print″<<endl;    }  };  class ClassA:public Base  {  public:    void Print( )const{cout<<″ClassA::Print″<<endl;}  };  class ClassB:public Base  {  public:    void Print( )const{cout<<″ClassB::Print″<<endl;}  };  void Print(__________)  {    __________;  }  void main( )  {    ClassA a;    ClassB b;    Print(a);    Print(b);  }

35.下列程序的運(yùn)行結(jié)果如下:x=22,y=22根據(jù)結(jié)果將程序補(bǔ)充完整。  #include <iostream.h>  template <__________>  void f(__________)  {    if(sizeof(T1)>sizeof(T2))        x=(T1)y;    else        y=(T2)x;  }  void main( ){    double x=134.2;    int y=22;    f(x,y);    cout<<″x=″<<x<<″,y=″<<y;  }

五、程序分析題

(本大題共2小題,每小題5分,共10分)

41.請(qǐng)給出下面程序的輸出結(jié)果  #include < iostream.h >  class Class  {    public:       static int var;     Class( )       {          var+ +;     }   };   int Class::var = 0;   void main( )   {       cout <<″Class::var =″ <<Class:: var <<endl;       Class c1 ;       cout < <″c1. var=″ < <c1. var < <endl;       Class c2, c3 ;       cout <<″c2. var =″ <<c2. var <<endl;   }

42.   #include < iostream.h >   class A   {    public:      A( );       void Show( ) ;      ~A( );    private:       static int c;    };   int A::c =0;   A::A( )   {       cout <<″constructor.″ <<endl;       c+ =10;   }   void A: :Show( )   {       cout<<″c=″ < <c< <endl;   }   A::~A( )   {       cout <<″destructor.″ <<endl;   }    void main( )   {       A a, b;       a.Show( );       b.Show( );   }

六、程序設(shè)計(jì)題

(本大題共1小題,共10分)

51.利用LOCATION類,使用繼承定義圓類CIRCLE,圓由圓心和半徑構(gòu)成。提供得到圓心坐標(biāo)和半徑的成員函數(shù)、以及計(jì)算圓的周長和面積的成員函數(shù)。在主程序中創(chuàng)建兩個(gè)圓A和B,圓心坐標(biāo)分別為(0,3)、(3,7),按如下格式輸出兩個(gè)圓的圓心坐標(biāo)、周長和面積,并計(jì)算和輸出兩個(gè)圓的圓心之間的距離。A:(x1,y1,r1),Girth=g1,Area=a1B:(x2,y2,r2),Girth=g2,Area=a2A(x1,y1),B(x2,y2),Distance=d定義LOCATION類,該類沒有“繼承”等現(xiàn)象。注意二維坐標(biāo)點(diǎn)之間的距離公式。class LOCATION{double x,y;public:virtual double getx( )const{return x;};virtual double gety( )const{return y;};virtual double dist(LOCATION &s)const;LOCATION(double x, double y):x(x), y(y){ };};double LOCATION:: dist(LOCATION &s)const{double xd=s.x-x, yd=s.y-y;return sqrt(xd*xd+yd*yd);}

更多資料

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

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

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

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

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

去領(lǐng)取

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

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

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

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

    下載