您現(xiàn)在的位置:首頁 - 備考 - 自考問一問

全國2012年1月04737C++程序設(shè)計自考試卷

2025-07-08 來源:中國教育在線

  全國2012年1月高等教育自學(xué)考試

  C++程序設(shè)計試題

  課程代碼:04737

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

  在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。

  1.如聲明對象數(shù)組,則下列描述正確的是( )

  A.對每個元素均調(diào)用一次構(gòu)造函數(shù)

  B.部分元素調(diào)用構(gòu)造函數(shù),其它元素不需調(diào)用

  C.均不需要調(diào)用構(gòu)造函數(shù)

  D.只是首元素調(diào)用構(gòu)造函數(shù)

  2.不同對象調(diào)用同一成員函數(shù)時,this指針指向( )

  A.不同對象 B.相同對象

  C.無對象 D.不確定

  3.設(shè)存在函數(shù)intmax(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,下列表達式正確的是( )

  A.int m=max(22,max(59,70));

  B.int m=max(max(22,59),max(59,70));

  C.int m=max(max(22,70),59);

  D.以上皆正確

  4.一個類可擁有多少個構(gòu)造函數(shù)( )

  A.0個 B.1個

  C.1或多個 D.以上皆對

  5.在編譯指令中,嵌入指令是指( )

  A.#include B.#define

  C.#if D.#else

  6.設(shè)存在數(shù)組a,其長度為Len,下列哪項操作是將a中元素復(fù)制到數(shù)組b中( )

  A.reverse(a+a,Len,b); B.sort(a,a+Len,b);

  C.find(a,a+Len,b); D.copy(a,a+Len,b);

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

  A.模塊化 B.抽象性

  C.封裝性 D.繼承性

  8.下列對于類的描述錯誤的是( )

  A.類要先聲明后使用

  B.類是具有僅有標識的實體

  C.兩個類可以使用同一個名稱

  D.組成類的不僅有數(shù)據(jù),還可以有對數(shù)據(jù)進行操作的函數(shù)

  9.使用引用調(diào)用方式將實參傳給形參,下列說法正確的是( )

  A.形參是實參的備份 B.實參是形參的備份

  C.形參和實參共享同一對象 D.形參和實參無聯(lián)系

  10.關(guān)于對象的性質(zhì),下列描述錯誤的是( )

  A.同一類對象之間可相互賦值

  B.不能使用對象數(shù)組

  C.對象可以用作函數(shù)參數(shù)

  D.一個對象可以用作另一個類的成員

  11.類的私有成員可在哪里被賦值( )

  A.類體中 B.該類的成員函數(shù)中

  C.A和B D.以上都不是

  1 2.設(shè)存在數(shù)組a,其長度為Len,則下列哪個泛型算法用于反轉(zhuǎn)a中各元素( )

  A.reverse(a,a+Len); B.sort(a,a+Len);

  C.find(a,a+Len,value); D.copy(a,a+Len,b);

  13.用于標識八進制常量的前綴或后綴是( )

  A.無 B.后綴L或1

  C.前綴零 D.前綴Ox

  14.派生類中繼承的基類成員初始化如何進行( )

  A.由派生類構(gòu)造函數(shù)調(diào)用基類的構(gòu)造函數(shù)進行

  B.由派生類構(gòu)造函數(shù)進行

  C.由基類構(gòu)造函數(shù)進行,無需派生類構(gòu)造函數(shù)調(diào)用

  D.以上皆不正確

  1 5.對于多重繼承,下列描述正確的是( )

  A.所有基類使用相同的派生方式 B.每個基類可使用不同派生方式

  C.只能是public派生 D.只能是protected派生

  16.下列關(guān)于類的權(quán)限描述錯誤的是( )

  A.類本身的成員函數(shù)可以訪問自身的任何成員

  B.類的對象可以訪問該類的所有成員

  C.普通函數(shù)不能直接訪問類的公有成員,必須通過成員函數(shù)對其訪問

  D.一個類可以將另一個類的對象作為成員

  17.運算符delete與哪個函數(shù)一起運行( )

  A.構(gòu)造函數(shù) B.析構(gòu)函數(shù)

  C.主函數(shù) D.不與任何函數(shù)一起工作

  18.一個類可以獲得另一個類的特性的機制稱為( )

  A.抽象 B.封裝

  C.繼承 D.多態(tài)性

  19.使用下列哪個格式控制符可設(shè)置轉(zhuǎn)換十六進制為十進制( )

  A.dec B.oct

  C.hex D.endl

  20.對引用調(diào)用描述正確的是( )

  A.分配新存儲空間

  B.修改已存儲空間的名稱為引用名

  C.引用名與已存在存儲空間無任何關(guān)聯(lián)

  D.將引用名標識符與一塊已存在儲區(qū)域相關(guān)聯(lián),沒有分配新存儲空間

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

  請在每小題的空格中填上正確答案,錯填、不填均無分。

  21.公共派生中,基類的公有成員在派生類中是______。

  22.若要使用標準輸入流機制從鍵盤輸入一個整數(shù)賦給整型變量a,相應(yīng)的C++語句是______。

  23.UML中對象行為之間的動態(tài)關(guān)系是通過對象行為之間的依賴關(guān)系表現(xiàn)的,稱之為______。

  24.C++函數(shù)中按引用調(diào)用傳遞參數(shù)時使用______作為參數(shù)。

  25.在C++中除具有______語句和switch語句的函數(shù)外,其它函數(shù)都可以說明為內(nèi)聯(lián)函數(shù)。

  26.C++中規(guī)定模板以______關(guān)鍵字和一個形參表示開頭。

  27.構(gòu)造函數(shù)不能被繼承,一個派生類只能調(diào)用它的______基類的構(gòu)造函數(shù)。

  28.vector類中用于獲取存放的元素個數(shù)的方法是______。

  29.C++中istream類的直接基類是______。

  30.要關(guān)閉一個文件輸出流對象myFile,所用的C++語句是______。

  31.執(zhí)行下列代碼

  double pi=3.141592

  cout<

  32.在私有派生中,基類的權(quán)限為private的成員,在派生類中______。

  33.C++總共有3種文件流,分別是輸入文件流、輸出文件流和______。

  34.C++使用流進行輸入輸出,其中能捕獲鍵盤輸入的對象是______。

  35.在vector類中刪除向量中最后一個對象的方法是______。

  36.函數(shù)重載可使一個函數(shù)名具有多種功能,稱這種特性為______。

  37.C++語言對C語言做了很多改進,C++語言相對于C語言的最根本的變化是引進了______概念。

  38.______指令定義一個標識符及串,在源程序中每次遇到該標識符時,編譯器均用定義的串代替之。

  39.在C++標準輸出方式中,要設(shè)置輸出數(shù)據(jù)字段寬度width所使用的操控符是______。

  40.設(shè)有定義int x;float y;,則10+x+y值的數(shù)據(jù)類型是______。

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

  下面的類定義中有一處錯誤,請用下橫線標出錯誤所在行并給出修改意見。

  41.#include

  main(){

  int x=9,y=8,z=7;

  const int * p=z;

  cout<< * p<

  }

  42.#include

  main(){

  int x=8,y=6;

  const int*const p=&x;

  p=&y;

  cout<<* p<

  }

  43.#include

  main(){

  folat p;

  p=new folat[5];

  for(int i=0;i<5;i++)

  {cin>> * (p+i);cout<< * (p+i)<

  delete p;

  }

  44.template

  T f(T x){

  T y;

  y=x+T;

  return y;

  }

  45.#include

  class point{

  int x;

  public:void init(int a){x=a;}

  int getx(){return x;}

  void setx(int a){x=a;}

  };

  main(){

  point a;

  a.init(20,30);

  cout<

  }

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

  46.在下面程序的下劃線處填上正確的語句,使其得到下面的輸出結(jié)果。

  x=2,y=3

  #include

  class Sample

  {

  int x,y;

  public:

  Sample( ){

  x=y=0;

  }

  Sample(int a,int b){

  x=a;

  (__________)

  }

  void disp( )

  {

  cout<<"x="<

  }

  }(____-_______)

  void main( )

  {

  Sample s(2,3),*p=&s;

  p - >disp();

  }

  47.在下劃線處填上適當?shù)恼Z句,使程序的輸出結(jié)果如下:

  n=30

  #include< iostream.h >

  template< class T >

  class Sample

  {

  T n;

  public:

  Sample( ){ }

  Sample(T i){_________}

  Sample&operator+(const Sample&);

  void disp( ){cout<<"n="<

  };

  template

  Sample&Sample::operator+(const Sample&s)

  {

  static Sampletemp;

  return temp;

  }

  void main( )

  {

  Samples1(10),s2(20),s3;

  s3=s1+s2;

  s3.disp();

  }

  48.在下劃線處填上適當?shù)恼Z句,使程序的輸出結(jié)果如下:

  1 2 3 4 5 6 7 8 9 10

  #include

  class Sample

  {

  int A[10][10];

  public:

  int &operator()(int,int);

  };

  int &Sample::operator()(int x,int y)

  {

  return A[x][y];

  }

  void main()

  {

  Sample a;

  int i,j;

  _________

  for(j=0;j<10;j++)

  _________

  for(i=0;i

  cout<

  cout<

  }

  49.在下劃線處填上適當?shù)木渥?,完成函?shù)的定義。

  #include

  class Sample

  {

  int x;

  public:

  Sample( ){ };

  _________{x=a;}

  _________{x=a.x++ +10;}

  void disp( ){cout<<"x="<

  };

  void main( )

  {

  Sample s1(2),s2(s1);

  s1.disp( );

  s2.disp( );

  }

  50.輸入一個字符串,將其逆序后輸出。

  #include

  using namespace std;

  void main()

  {

  char a[50];memset(a,0,sizeof(a));

  int i=0,j;

  char t;

  cin.getline(a,50,'\ n';

  for(i=0,j=strlen(a)-1;i<_________;i++,j ―― )

  {

  t=a[i];

  a [j]=t;

  }

  cout<

  }

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

  51.(給出下面程序的輸出結(jié)果

  #include

  class example

  {

  int a;

  public:

  example(int b){a=b++;}

  void print( ){a=a+1;cout<

  void print( )const{cout<

  };

  void main( )

  {

  example x(3);

  const example y(2);

  x.print( );

  y.print( );

  }

  52.給出下面程序的輸出結(jié)果

  #include

  class Sample

  {

  int x,y;

  public:

  Sample( ){x=y=0;}

  Sample(int a,int b){x=a;y=b;}

  ~Sample()

  {

  if(x==y)

  cout<<"x=y"<

  else

  cout<<"x!=y"<

  }

  void disp()

  {

  cout<<"x="<

  }

  };

  void main()

  {

  Sample sl(2,3);

  s1.disp();

  }

  53.給出下面程序的輸出結(jié)果

  #include

  class Sample

  {

  int n;

  static int sum;

  public:

  Sample(int x){n=x;}

  void add( ){sum+=n;}

  void disp( )

  {

  cout<<"n="<

  }

  };

  int Sample::sum=0;

  void main( )

  {

  Sample a(2),b(3),c(5);

  a.add( );

  a.disp( );

  b.add( );

  b.disp( );

  c.add( );

  c.disp( );

  }

  54.給出下面程序的輸出結(jié)果

  #include

  class A{

  private:

  friend class B;

  A(int val=0):data(val),use(1){}

  int use,data;

  };

  class B{

  public:

  A*pa;

  B(int val=0):pa(new A(val)){ }

  ~B( ){if( -- pa ->use==0)delete pa;}

  B(B&rhs){ + + rhs ->use;pa=rhs.pa;}

  B&operator=(B&rhs);

  A*operator ->( ){return pa;}

  void Display( ){

  cout<<"data="<data

  <<",use="<use<

  }

  };

  B&B::operator=(B&rhs)

  {

  if(this = = &rhs)return*this;

  if( -- pa ->use = =0)delete pa;

  + + rhs ->use;

  pa=rhs.pa;

  return * this;

  }

  int main( ){

  B b1(1),b2(b1),b3(3);

  b1.Display( );

  b2.Display( );

  b3.Display( );

  b3=b1;

  b1.Display( );

  b3.Display( );

  return 0;

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

  55.已知一個student類,包括學(xué)姓名,成績和等級,不含任何成員函數(shù).process為學(xué)生信息處理類.

  class student{

  char name[ 10 ];

  int deg;

  char level[ 7 ];

  friend class process:

  public:

  student(char na[ ],int d){strcpy(name,na);deg=d;}

  } ;

  class process{

  public:

  void trans(student s[ ]){…}//根據(jù)學(xué)生成績計算學(xué)生等級(優(yōu)大于89分,良大于79分,中大于69分,及格大于59分,不及格小于60分).

  void disp(student s[ ]){...}//根據(jù)成績降序打印所有學(xué)生信息

  };

  要求實現(xiàn)process類中的兩個函數(shù):

1
意向表
2
學(xué)習(xí)中心老師電話溝通
3
查看評估報告
1、年齡階段

2、當前學(xué)歷

3、提升學(xué)歷目標

4、意向?qū)W習(xí)方式

報考所在地
*
*
*
- 聲明 -

(一)由于考試政策等各方面情況的不斷調(diào)整與變化,本網(wǎng)站所提供的考試信息僅供參考,請以權(quán)威部門公布的正式信息為準。

(二)本網(wǎng)站在文章內(nèi)容出處標注為其他平臺的稿件均為轉(zhuǎn)載稿,免費轉(zhuǎn)載出于非商業(yè)性學(xué)習(xí)目的,歸原作者所有。如您對內(nèi)容、等問題存在異議請與本站聯(lián)系,我們會及時進行處理解決。

首頁 考生自助服務(wù)系統(tǒng)