欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

試題

下半年計算機二級C++考前模擬試題及答案二

時間:2025-05-09 13:45:53 試題 我要投稿

2015下半年計算機二級C++考前模擬試題及答案(二)

  一、填空題

2015下半年計算機二級C++考前模擬試題及答案(二)

  1.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【1】。

  【參考答案】

  【1】存儲結(jié)構(gòu)

  2.耦合和內(nèi)聚是評價模塊獨立性的兩個主要標準,其中【2】反映了模塊內(nèi)各成分之間的聯(lián)系。

  【參考答案】

  【2】內(nèi)聚

  3.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、【3】、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護階段。

  【參考答案】

  【3】數(shù)據(jù)庫概念設(shè)計階段

  4.面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛汀?】。

  【參考答案】

  【4】類

  5.數(shù)據(jù)模型按不同應(yīng)用層次分成3種類型,它們是概念數(shù)據(jù)模型、【5】和物理數(shù)據(jù)模型。

  【參考答案】

  【5】邏輯數(shù)據(jù)模型

  6.開發(fā)一個C++語言程序的步驟通常包括編輯、【6】、鏈接、運行和調(diào)試。

  【參考答案】

  【6】編譯

  7.下面程序的輸出結(jié)果為【7】。

  #include

  void main()

  {

  int num=0,i=8;

  do{

  i--;

  num++;

  }while(--i);

  cout<

  }

  【參考答案】

  【7】-4

  8.下面程序的運行結(jié)果為【8】。

  #include

  void fun(int x=0,int y=0)

  {cout<

  void main()

  {fun(5);}

  【參考答案】

  【8】50

  9.C++語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和【9】的多態(tài)性。

  【參考答案】

  【9】運行時

  10.cout.put(′A′);,還可以表示為【10】。

  【參考答案】

  【10】cout<<′A′;

  11.將以下程序?qū)懗扇窟\算表達式是【11】。

  if(a>b)max=a;

  else max=b;

  【參考答案】

  【11】max=(a>b)?a:b;

  12.下面程序的功能是將字符數(shù)組a中下標值為偶數(shù)的元素從小到大排列,其他元素不變,請?zhí)羁铡?/p>

  #include

  #include

  void main()

  { char a[]=″clanguage″,t;

  int i,j,k;

  k=strlen(a);

  for(i=0;i<=k-2;i+=2)

  for(j=i+2;j<=k;【12】)

  if(【13】)

  { t=a[i];a[i]=a[j];a[j]=t;}

  cout<

  cout<

  【參考答案】

  【12】j+=2 【13】a[i]>=a[j]或a[i]>a[j]

  13.請定義一個函數(shù)名為A,返回值為int,沒有參數(shù)的純虛函數(shù)的定義是【14】。

  【參考答案】

  【14】virtual int A()=0;

  14.假設(shè)fin是一個文件流對象,則關(guān)閉文件的語句是【15】。

  【參考答案】

  【15】fin

  上機部分

  一、改錯題

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

  (1,2)

  5,6

  (6,9)

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

  #include

  classA{

  public:

  A(inti,intj){a=i;b=j;}

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

  voidMove(intx,inty){a+=x;b+=y}

  voidShow(){cout<<"("<

  private:

  inta,b;

  };

  classB:privateA

  {

  public:

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

  B(inti,intj,intk,intl):(i,j){x=k;y=l;}

  voidShow(){cout<

  voidfun(){Move(3,5);}

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

  voidf1(){Show();}

  private:

  intx,y;

  };

  voidmain()

  {

  Ae(1,2);

  e.Show();

  Bd(3,4,5,6);

  d.fun();

  d.Show();

  d.f1();

  }

  【參考答案】

  (1)將void Move( int x, int y) {a+=x;b+=y}

  改為:void Move( int x, int y) {a+=x;b+=y;}

  (2)將B(int i,int j,int k,int l):(i,j) {x=k;y=l;}

  改為:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;}

  (3)將void f1(){Show();}

  改為:void f1(){A::Show();}

  【試題解析】

  (1)主要考查對表達式定義規(guī)則的掌握,此處缺少一個“;”,任何一個表達式都應(yīng)該以分號作為結(jié)束標志;

  (2)主要考查對派生類構(gòu)造函數(shù)定義的掌握,參數(shù)列表中基類的成員應(yīng)使用基類構(gòu)造函數(shù)初始化,因此必須向基類傳遞參數(shù),傳遞時直接使用基類名;

  (3)主要考查對基類函數(shù)調(diào)用方法的掌握,為了調(diào)用基類的函數(shù)應(yīng)該使用作用域符“::”以限定訪問的位置。

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

  請編寫一個函數(shù)intpattern_index(charsubstr[],charstr[]),該函數(shù)執(zhí)行含通配符"?"的字符串的查找時,該通配符可以與任一個字符匹配成功。當子串substr在str中匹配查找成功時,返回子串substr在str中的位置,否則返回值為0。要求使用for循環(huán)實現(xiàn)。輸出結(jié)果如下:

  子串起始位置:5

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

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

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

  #include

  intpattern_index(charsubstr[],charstr[])

  {

  }

  voidmain()

  {

  char*substring,*string;

  intsame;

  substring="???gram";

  string="thisprogramreturnindexofsubstring";

  same=pattern_index(substring,string);

  if(same)

  cout<<"子串起始位置:"<

  else

  cout<<"匹配不成功"<

  }

  【參考答案】

  int pattern_index(char substr[],char str[])

  {int i,j,k;

  for(i=0;str[i];i++)

  for(j=i,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++)

  if(!substr[k+1])

  return(i);

  return(0);}

  【試題解析】

  本題主要考查使用for循環(huán)和一維數(shù)組的能力。對于復(fù)雜查找,往往使用for的多重循環(huán)。

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

  使用VC6打開考生文件夾下的工程kt5_3,此工程包含一個源程序文件kt5_3.cpp,其中定義了用于表示復(fù)數(shù)的類comp,但類comp的定義并不完整。請按要求完成下列操作,將類comp的定義補充完整。

  (1)定義comp的構(gòu)造函數(shù),函數(shù)含參數(shù)x和y,它們都是int型的數(shù)據(jù),默認值都為0,請使用參數(shù)列表的形式分別將類數(shù)據(jù)成員a和b初始化x和y的值。請在注釋“//**1**”之后添加適當?shù)恼Z句。

  (2)完成類comp的成員函數(shù)input(intx,inty)的定義,將int型的參數(shù)x和y分別賦值給數(shù)據(jù)成員a和b,請在注釋“//**2**”之后添加適當?shù)恼Z句;

  (3)完成類comp的友元函數(shù)friendcompplus(comp&x,comp&y)的定義,該函數(shù)首先要定義一個comp類的對象c,然后將參數(shù)x和y的數(shù)據(jù)成員a與b分別相加并分別賦值給c的成員a和b,最后返回c的值,請在注釋“//**3**”之后添加適當?shù)恼Z句。輸出結(jié)果如下:

  10+20i

  2+3i

  result:12+23i

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

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

  #include

  classcomp

  {inta;  

  intb;

  public:

  //**1**

  friendcompplus(comp&x,comp&y);

  voidinput(intx,inty)

  {//**2**}

  voidoutput()

  {cout<

  compplus(comp&x,comp&y)

  {//**3**

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

  returnc;}

  voidmain()

  {compx(10,20),y,z;

  y.input(2,3);

  z=plus(x,y);

  x.output();

  y.output();

  cout<<"result:";

  z.output();}

  【參考答案】

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

  (2)a=x;

  b=y;

  (3)comp c;

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

  【試題解析】

  本題主要考查類的定義和友元函數(shù)定義的。

【下半年計算機二級C++考前模擬試題及答案二】相關(guān)文章:

計算機二級C++模擬試題及答案09-22

2015下半年計算機二級C++考前模擬試題及答案(三)07-23

2015下半年計算機二級C++考前模擬試題及答案(一)07-03

2016計算機二級C++上機模擬試題及答案07-16

計算機二級c++試題及答案08-27

2016年計算機二級《C++》模擬試題及答案06-11

2016最新計算機二級VB考前模擬試題及答案07-12

計算機二級C語言考前模擬試題及答案201607-31

計算機二級考試C++考前沖刺試題10-13