试题 百分网手机站

计算机二级C上机考试程序改错题及答案

时间:2020-09-24 08:54:50 试题 我要投稿

计算机二级C上机考试程序改错题及答案

  为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C上机考试程序改错题及答案,供参考练习,预祝考生们考出自己理想的.成绩!

计算机二级C上机考试程序改错题及答案

  程序改错题

  使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为

  10

  6

  30

  2

  2

  注意:错误的语句在//******error******的下面,修改该语句即可。

  试题程序:

  #include

  classTC

  {

  private:

  intnumber;

  intAdd(inti)

  {

  returnnumber+=i:

  }

  intSub(inti)

  {

  returnnumber-=i:

  }

  intMul(inti)

  {

  returnnumber*=i:

  }

  intDiv(inti)

  {

  if(i!=O)

  {

  returnnumber/=i;

  }

  else

  returnnumber;

  }

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

  typedefint(FUNC)(int);

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

  FUNCfunc[];

  public:

  TC()

  {

  fune[0]=TC::Add;,

  fund[1]=TC::Sub;

  func[2]=TC::Mul;

  func[3]=TC::Div;

  number=0;

  }

  intCallFunetion(inti,intj)

  {

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

  return(func[i])(j);

  }

  };

  voidmain()

  {

  TCmyobj;

  cout<<myobj.callfunction(0,10)<<endl;

  cout<<myobj.callfunction(1,4)<<endl;

  cout<<myobj.callfunction(2,5)<<endl;

  cout<<myobj.callfunction(3,15)<<endl;

  cout<<myobj.callfunction(3,o)<<endl;

  }

  解析:

  (1)应改为:“typedefint(TC::*FUNC)(int);”。

  (2)应改为:“FUNCfunc[4];”。

  (3)应改为:“return(this->*fund[i])(j);”。

  【解析】在类中定义函数指针须指定类名及指针定义运算符*,因此第1处函数指针正确的定义为“typedefint(TC::*FUNC)(int);”。函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向4种算数运算,因此定义指针数组大小为4,即第2处应改为“FUNCfunc[4];”。func是指针数组,因此访问时需要有指针运算符“*”,第3处应改成“return(this->*func[i])(j);”。

【计算机二级C上机考试程序改错题及答案】相关文章:

计算机二级C上机:程序改错题11-09

计算机二级考试C上机考试试题及答案09-28

计算机二级《C++》上机试题及答案09-03

计算机二级考试C++上机考试试题及答案10-25

全国计算机二级考试C++上机考试试题及答案09-14

计算机二级考试C语言程序设计试题及答案09-21

计算机二级考试C++语言程序设计上机考试试题10-02

二级C++上机冲刺题及答案解析09-30

计算机二级C语言上机精选模拟题及答案10-05