亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

計算機(jī)二級C上機(jī)考試試題及答案

時間:2024-06-22 15:31:18 計算機(jī)等級 我要投稿

計算機(jī)二級C上機(jī)考試試題及答案

  程序改錯題

計算機(jī)二級C上機(jī)考試試題及答案

  使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正其中的錯誤,使程序正確運行,并且使程序輸出的結(jié)果為

  0K

  注意:錯誤的語句在//******error******的下面,修改該語句即可。

  試題程序:

  #include

  classTC

  {

  public:

  TC()

  {

  a=b=0:

  }

  private:

  inta,b;

  };

  classTCl:publicTC

  {

  public:

  TC1()

  {

  }

  //******error******

  virtualvoidfunc();

  };

  classTC2:publicTCl

  {

  public:

  TC2()

  {

  a=0:

  b=0:

  }

  voidfunc()

  {

  //******error******

  cout<<"OK"  }

  private:

  inta;

  intb;

  };

  voidmain()

  {

  TC20bj;

  //******error******

  TCl*p=(TCl*)obj;

  p->func();

  }

  (1)應(yīng)改為“virtualvoidfunc()=0;”。

  (2)應(yīng)改為“cout<<"0K"<(endl;”。

  (3)應(yīng)改為“TCl*p=(TCl*)&obj;”。

  【解析】本題中TCl類中的func函數(shù)是純虛函數(shù),純虛函數(shù)的定義格式為virtual<函數(shù)類型><函數(shù)名>((參數(shù)表>)=0”,因此第1處的語句應(yīng)為“virtualvoidfunc()=0;”。func函數(shù)沒有參數(shù)表。編譯程序后發(fā)現(xiàn)第2處的語句有錯誤,cout流中的數(shù)據(jù)是用流插入運算符“<<”順序加入的,因此“<”不正確,應(yīng)改成“cout<<"0K"<

  綜合應(yīng)用題

  使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補(bǔ)充完整。

  (1)完成TC的構(gòu)造函數(shù),請改正注釋1后的錯誤。

  (2)完成func函數(shù)定義,請改正注釋2后的錯誤。

  (3)初始化CmyClass的成員變量Num3為4,請改正注釋3后的錯誤。

  (4)完成func函數(shù),請改正注釋4后的錯誤。

  輸出的結(jié)果為

  Num1=12

  Num2=18

  Num3=16

  Num1=4

  Num2=2

  Num3=19

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

  試題程序:

  #include

  classTC

  {

  public:

  //********1********

  TC(inti,intj)

  {

  Numl=i;

  Num3+=i:

  }

  voiddisplay()

  {

  cout<<"Num1="<  cout<<"Num2="<  cout<<"Num3="<  }

  voidAddNum(inti)

  {

  Num3+=i;

  }

  private:

  intNum1;

  constintNum2;

  staticintNum3;

  //********2********

  };

  //********3********

  voidfunc()

  {

  TCobj(1,2);

  obj.Num1=4;

  //********4********

  obj.AddNum();

  ohj.display();

  }

  voidmain()

  {

  TCmyObj(12,18);

  myObj.display();

  rune();

  return;

  }

  (1)將“TC(inti,intj)”補(bǔ)充完整為“TC(inti,intj):Num2(j)”。

  (2)應(yīng)添加“friendvoidfunc();”。

  (3)應(yīng)添加“intTC::Num3=4;”。

  (4)將“obi.AddNum()”補(bǔ)充完整為“obj.AddNum(2);”。

  【解析】本題在第1處完成類的構(gòu)造函數(shù)初始化類的成員變量,常數(shù)據(jù)成員也必須初始化,并且不能被更新,常數(shù)據(jù)成員的初始化只能通過構(gòu)造函數(shù)的成員初始化類表進(jìn)行,因此第1處的語句應(yīng)為“TC(inti,intj):Num2(j)”,i用來初始化Num1和Num3,j初始化Num2。第2處完成fune的函數(shù)定義,由審題分析可知,函數(shù)fune為類的友元,故第2處的語句應(yīng)為“friendvoidrune();”。第3處的語句是靜態(tài)成員的初始化,靜態(tài)數(shù)據(jù)成員的初始化格式為“(數(shù)據(jù)類型)<類名>::<靜態(tài)數(shù)據(jù)成員)=<初始值>”,因此第3處的語句應(yīng)為“intTC::Num3=4;”。成員函數(shù)AddNum帶有一個整型參數(shù),因此調(diào)用此函數(shù)時必須有參數(shù)傳入,可由程序運行結(jié)果分析得知傳入的參數(shù)值的大小。在fun函數(shù)內(nèi),定義TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl為4,obj。Num2為常數(shù)據(jù)成員,其值不會改變,調(diào)用AddNum函數(shù)后調(diào)用顯示函數(shù)顯示成員變量值,可知Num3為19,因此AddNum()的參數(shù)為19-17=2,即第4處的語句應(yīng)為“obj.AddNum(2);”。

【計算機(jī)二級C上機(jī)考試試題及答案】相關(guān)文章:

計算機(jī)二級C語言考試上機(jī)沖刺試題及答案03-03

2016計算機(jī)等級考試二級C++上機(jī)模擬試題及答案03-08

2016最新計算機(jī)二級C++上機(jī)試題及答案03-03

計算機(jī)等級二級C語言上機(jī)模擬試題及答案10-25

計算機(jī)二級考試C++試題及答案03-27

計算機(jī)二級VB上機(jī)試題及答案03-14

2016年9月計算機(jī)二級C語言考試上機(jī)沖刺試題及答案03-02

計算機(jī)二級C語言考試試題及答案03-08

2016年9月計算機(jī)二級C++上機(jī)考試沖刺試題及答案03-13