av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

試題

9月計(jì)算機(jī)二級C++練習(xí)題及答案

時(shí)間:2025-04-30 12:49:09 試題 我要投稿

2015年9月計(jì)算機(jī)二級C++練習(xí)題及答案

  一、填空題

  1.用樹結(jié)構(gòu)表示實(shí)體類型及實(shí)體間聯(lián)系的數(shù)據(jù)模型稱為【1】。

  【參考答案】

  【1】層次模型

  2.數(shù)據(jù)流圖的類型有【2】和事務(wù)型。

  【參考答案】

  【2】變換型

  3.在最壞情況下,堆排序需要比較的次數(shù)為【3】。

  【參考答案】

  【3】O(nlog2n)

  4.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【4】集合。

  【參考答案】

  【4】軟件工具

  5.冒泡排序算法在最好的情況下的元素交換次數(shù)為【5】。

  【參考答案】

  【5】0

  6.C++語言標(biāo)識(shí)符是以字母或【6】開頭的,由字母,數(shù)字和下劃線組成的字符串。

  【參考答案】

  【6】下劃線

  7.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回,請?zhí)羁铡?/p>

  int mystrlen(char *str)

  { int i;

  for(i=0;【7】!=′\0′;i++);

  return(i);}

  【參考答案】

  【7】*(str+i)或str[i]

  8.如果一個(gè)類中定義了成員對象,則該類的對象和成員對象先被初始化的是【8】。

  【參考答案】

  【8】類的成員對象

  9.C++在重載運(yùn)算符中,如用成員函數(shù)重載一元運(yùn)算符參數(shù)表中需要【9】個(gè)參數(shù),如用友元函數(shù)重載一元運(yùn)算符參數(shù)表中需要【10】個(gè)參數(shù)。

  【參考答案】

  【9】0 【10】1

  10. 假設(shè)int a=1,b=2;,則表達(dá)式(++a/b)*b--的值為【11】。

  【參考答案】

  【11】2

  11.C++語句const char *const p=″hello″;,所定義的指針p和它所指的內(nèi)容都不能被【12】。

  【參考答案】

  【12】改變

  12.對于下面定義的類MyClass,請?jiān)诤瘮?shù)f()中添加對象成員把n的值修改為50。

  class MyClass

  {

  public:

  MyClass(int x){n=x;}

  void SetNum(int nl){n=nl;}

  private:

  int n;

  };

  int f()

  {

  MyClass *ptr=new MyClass(45);

  【13】

  }

  【參考答案】

  【13】ptr->SetNum(50);

  13.表達(dá)式operator+(x,y)還可以表示為【14】。

  【參考答案】

  【14】x+y

  14.通過使用new和delete兩個(gè)運(yùn)算符進(jìn)行的分配為【15】存儲(chǔ)分配。

  【參考答案】

  【15】動(dòng)態(tài)

  上機(jī)部分

  一、改錯(cuò)題

  使用VC6打開考生文件夾下的工程kt4_1,此工程包含一個(gè)源程序文件kt4_1.cpp,但該程序運(yùn)行有問題,請改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:

  1:

  weight:5

  age:0

  2:

  weight:7

  age:9

  源程序文件kt4_1.cpp清單如下:

  #include

  classanimal

  {

  public:

  /****************found*******************/

  friendvoidsetvalue(animal&,int);

  /****************found*******************/

  viodprint();

  protected:

  intitsweight;

  intitsage;

  };

  voidanimal::print()

  {

  cout<<"weight:"<

  cout<<"age:"<

  }

  voidsetvalue(animal&ta,inttw)

  {

  ta.itsweight=tw; www.Examda.CoM

  ta.itsage=0;

  }

  voidsetvalue(animal&ta,inttw,inttn)

  {

  ta.itsweight=tw;

  ta.itsage=tn;

  }

  voidmain()

  {/****************found*******************/

  animalpeppy

  setvalue(peppy,5);

  cout<<"1:"<

  peppy.print();

  setvalue(peppy,7,9);

  cout<<"2:"<

  peppy.print();}

  【參考答案】

  (1)添加友元函數(shù)的聲明

  friend void setvalue(animal&,int,int);

  (2)將viod print();改為:void print();

  (3)將animal peppy改為:animal peppy;

  【試題解析】

  (1)主要考查對成員函數(shù)定義規(guī)則的掌握,成員函數(shù)必須先聲明再使用,即使是友元函數(shù)也不例外;

  (2)主要考查對關(guān)鍵字的掌握,空類型應(yīng)用void;

  (3)主要考查對變量定義的掌握,該處缺少“;”。

  二、簡單應(yīng)用題

  請編寫一個(gè)函數(shù)intSeqSearch(intlist[],intstart,intn,intkey),該函數(shù)從start開始,在大小為n的數(shù)組list中查找key值,返回最先找到的key值的位置,如果沒有找到則返回-1。請使用for循環(huán)實(shí)現(xiàn)。

  注意:部分源程序已存在文件kt4_2.cpp中。

  請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)SeqSearch的花括號中填寫若干語句。

  文件kt4_2.cpp的內(nèi)容如下:

  #include

  intSeqSearch(intlist[],intstart,intn,intkey)

  {

  }

  voidmain()

  {

  intA[10];

  intkey,count=0,pos;

  cout<<"Enteralistof10integers:";

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

  {

  cin>>A[pos];

  }

  cout<<"Enterakey:";

  cin>>key;

  pos=0;

  while((pos=SeqSearch(A,pos,10,key))!=-1)

  {

  count++;

  pos++;

  }

  cout<

  }

  【參考答案】

  int SeqSearch(int list[], int start, int n, int key)

  {

  for(int i=start;i

  {

  if(list[i]==key)

  {

  return i;

  }

  }

  return -1;

  }

  【試題解析】

  本題考查的是考生使用for和if等基本控制結(jié)構(gòu)的綜合水平,查找一個(gè)數(shù)組中的指定元素并返回序號是一個(gè)基本操作,注意一維數(shù)組的實(shí)參格式。

  三、綜合應(yīng)用題

  使用VC6打開考生文件夾下的工程kt4_3,此工程包含一個(gè)源程序文件kt4_3.cpp,其中定義了用于表示向量的類vector,但類vector的定義并不完整。請按要求完成下列操作,將類vector的定義補(bǔ)充完整。

  (1)補(bǔ)充類vector的構(gòu)造函數(shù),該函數(shù)有參數(shù)x和y,它們都是int型的數(shù)據(jù),默認(rèn)值都為0。請使用參數(shù)列表的形式分別將類的數(shù)據(jù)成員a和b分別初始化為參數(shù)x和y的值。請?jiān)谧⑨?ldquo;//**1**”之后添加適當(dāng)?shù)恼Z句。

  (2)完成類vector的成員函數(shù)input(intx,inty)的定義,將int型的參數(shù)x和y分別賦值給數(shù)據(jù)成員a和b,請?jiān)谧⑨?ldquo;//**2**”之后添加適當(dāng)?shù)恼Z句。

  (3)完成類vector的友元函數(shù)frienddoubleMultiply(vector&x,vector&y)的定義,先定義double型的臨時(shí)變量c,然后將參數(shù)對象x和對象y的數(shù)據(jù)成員a與b分別相乘再相加后賦值給c,最后返回c的值,將請?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z句。輸出結(jié)果如下:

  (10,20)

  (2,3)

  80

  注意:除在指定位置添加語句之外,請不要改動(dòng)程序中的其他內(nèi)容。

  源程序如下:

  #include

  classvector

  {

  inta;

  intb;

  public: 

  //**1**

  voidinput(intx,inty)

  {//**2**}

  voidoutput()

  {cout<<'('<

  frienddoubleMultiply(vector&x,vector&y);

  };

  doubleMultiply(vector&x,vector&y)

  {

  //**3**

  c=x.a*y.a+x.b*y.b;

  returnc;

  }

  voidmain()

  {

  vectorx(10,20),y;

  doubled;

  y.input(2,3);

  d=Multiply(x,y);

  x.output();

  y.output();

  cout<

  }

  【參考答案】

  (1)vector (int x=0,int y=0):a(x),b(y){}

  (2)a=x; b=y;

  (3)double c;

  【試題解析】

  本題主要考查類的定義和友元函數(shù)定義,其中(1)中的參數(shù)列表形式和(3)中對象訪問成員使用“.”操作符。

【9月計(jì)算機(jī)二級C++練習(xí)題及答案】相關(guān)文章:

2016年9月計(jì)算機(jī)二級《C++》練習(xí)題及答案03-06

2017年9月計(jì)算機(jī)二級C++強(qiáng)化練習(xí)題及答案04-28

2015年9月計(jì)算機(jī)二級C++精選練習(xí)題(附答案)12-07

2016年12月計(jì)算機(jī)二級C++練習(xí)題及答案05-30

2017年3月計(jì)算機(jī)二級C++練習(xí)題及答案04-27

2017年3月計(jì)算機(jī)二級《C++》單選練習(xí)題及答案07-24

2017年12月計(jì)算機(jī)二級C++考前練習(xí)題及答案07-20

2017年9月計(jì)算機(jī)二級《C++》強(qiáng)化練習(xí)題04-13

2017年9月計(jì)算機(jī)二級C++強(qiáng)化試題及答案07-10