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

試題

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

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

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

  一、填空題

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

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

  【參考答案】

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

  2.耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中【2】反映了模塊內(nèi)各成分之間的聯(lián)系。

  【參考答案】

  【2】?jī)?nèi)聚

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

  【參考答案】

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

  4.面向?qū)ο蟮哪P椭校罨镜母拍钍菍?duì)象和【4】。

  【參考答案】

  【4】類

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

  【參考答案】

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

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

  【參考答案】

  【6】編譯

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

  #include

  void main()

  {

  int num=0,i=8;

  do{

  i--;

  num++;

  }while(--i);

  cout<

  }

  【參考答案】

  【7】-4

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

  #include

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

  {cout<

  void main()

  {fun(5);}

  【參考答案】

  【8】50

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

  【參考答案】

  【9】運(yùn)行時(shí)

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

  【參考答案】

  【10】cout<<′A′;

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

  if(a>b)max=a;

  else max=b;

  【參考答案】

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

  12.下面程序的功能是將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變,請(qǐng)?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.請(qǐng)定義一個(gè)函數(shù)名為A,返回值為int,沒有參數(shù)的純虛函數(shù)的定義是【14】。

  【參考答案】

  【14】virtual int A()=0;

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

  【參考答案】

  【15】fin

  上機(jī)部分

  一、改錯(cuò)題

  使用VC6打開考生文件夾下的工程kt5_1,此工程包含一個(gè)源程序文件kt5_1.cpp,但該程序運(yùn)行有問題,請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(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)主要考查對(duì)表達(dá)式定義規(guī)則的掌握,此處缺少一個(gè)“;”,任何一個(gè)表達(dá)式都應(yīng)該以分號(hào)作為結(jié)束標(biāo)志;

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

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

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

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

  子串起始位置:5

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

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

  文件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ù)組的能力。對(duì)于復(fù)雜查找,往往使用for的多重循環(huán)。

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

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

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

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

  (3)完成類comp的友元函數(shù)friendcompplus(comp&x,comp&y)的定義,該函數(shù)首先要定義一個(gè)comp類的對(duì)象c,然后將參數(shù)x和y的數(shù)據(jù)成員a與b分別相加并分別賦值給c的成員a和b,最后返回c的值,請(qǐng)?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。輸出結(jié)果如下:

  10+20i

  2+3i

  result:12+23i

  注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(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ù)定義的。

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

計(jì)算機(jī)二級(jí)C++模擬試題及答案09-22

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

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

2016計(jì)算機(jī)二級(jí)C++上機(jī)模擬試題及答案07-16

計(jì)算機(jī)二級(jí)c++試題及答案08-27

2016年計(jì)算機(jī)二級(jí)《C++》模擬試題及答案06-11

2016最新計(jì)算機(jī)二級(jí)VB考前模擬試題及答案07-12

計(jì)算機(jī)二級(jí)C語(yǔ)言考前模擬試題及答案201607-31

計(jì)算機(jī)二級(jí)考試C++考前沖刺試題10-13