试题

计算机二级C++综合应用题训练

时间:2025-04-19 19:03:23 试题 我要投稿
  • 相关推荐

2017计算机二级C++综合应用题训练

  很多时候计算机等级证书是我们找工作的敲门砖,因此,计算机等级证书也是有一定的含金量的。以下是小编为大家整理的2017计算机二级C++综合应用题训练,希望对大家有帮助!

  综合应用题一

  使用VC6打开考生文件夹下的工程kt8_3,此工程包含一个源程序文件kt8_3.cpp,该文件设计了用于输出乘法九九表的类。请认真阅读已有的代码,按要求完成下列操作,将程序补充完整。

  (1)定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。请在注释“//**1**”之后添加适当的语句;

  (2)完成类Table的成员函数print()的定义,该函数以"x*y=z"的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现,在注释“//**2**”之后添加适当的语句;

  (3)完成类Table9的成员函数print()的定义,该函数调用基类Table的print()函数,将九九表输出到屏幕,请在注释“//**3**”之后添加适当的语句;

  (4)补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。请在注释“//**4**”之后添加适当的语句。

  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

  源程序文件kt8_3.cpp清单如下:

  #include

  #include

  classTable

  {//**1** 考试大论坛

  intz;

  public:

  voidprint(intx,inty,intz);};

  voidTable::print(intx,inty,intz)

  {//**2**}

  classTable9:publicTable

  {public:

  voidprint();};

  voidTable9::print()

  {//**3**

  intx,y,z;

  for(i=1;i<10;i++)

  {for(j=1;j   {x=i;

  y=j;

  z=i*j;

  Table::print(y,x,z);}

  printf("\n");}}

  main()

  {//**4**

  return0;}

  【参考答案】

  (1)int x;

  int y;

  (2)printf( "%d*%d=%d ",x,y,z);

  if(z<10) printf(" ");

  (3)int i,j;

  (4)Table9 t_9;

  t_9.print();

  【试题解析】

  主要考查将具体问题抽象为类,将类的定义补充完整,并进行类定义测试的能力。

  综合应用题二

  使用VC6打开考生文件夹下的工程kt7_3,此工程包含一个源程序文件kt7_3.cpp,其中含有一个类Circle的定义,但该类的定义并不完整。请按要求完成下列操作,将类Circle的定义补充完整。

  (1)为类Circle增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。请在注释“//**1**”之后添加适当的语句。

  (2)为类Circle增加一个成员函数print(  ),使得可以输出有关圆的信息,比如下列程序

  Circlec;

  c.SetRadius(5);

  c.Print(  );

  将输出:Thecirclehasradiusof5!

  请在注释“//**2**”之后添加适当的语句。

  (3)完成友元函数voidCompareR(Circle*c1,Circle*c2)的定义,在屏幕中输出c1与c2比较radius大小结果,要求使用if-else结构完成。请在注释“//**3**”之后添加适当的语句。

  输出结果如下:

  Thecirclehasradusof5!

  Thecirclehasradiusof10!

  c1

  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

  源程序文件kt7_3.cpp清单如下:

  #include

  classCircle{

  public:

  Circle(  ):radius(5){}

  //**1**

  voidSetRadius(intr){radius=r;}

  intGetRadius(  ){returnradius;}

  //**2**

  friendvoidCompareR(Circle*c1,Circle*c2);

  private:

  intradius;};

  voidCompareR(Circle*c1,Circle*c2)

  {//**3**

  cout<<"c1>c2"<

  else

  if((c1->GetRadius(  ))==(c2->GetRadius(  )))

  cout<<"c1=c2"<

  else

  if((c1->GetRadius(  ))<(c2->GetRadius(  )))

  cout<<"c1

  voidmain(  )

  {Circlec1; 来源:考试大

  c1.SetRadius(5);

  c1.Print(  );

  Circlec2(10);

  c2.Print(  );

  CompareR(&c1,&c2);}

  【参考答案】

  (1)Circle(intrad):radius(rad){}

  (2)voidPrint(  ){cout<<"Thecirclehasradiusof"<

  (3)if((c1->GetRadius(  ))>(c2->GetRadius(  )))

  【试题解析】

  本题考查成员函数的定义与实现,友元函数,if分支语句等知识点。友元函数的类体外的定义与一般函数一样,其中if-else的使用,else总是与其最近的那个if配对使用的,书写时最好使用缩进格式,将配对的if-else对齐,以免出错。

【计算机二级C++综合应用题训练】相关文章:

计算机二级C++上机综合应用题10-20

计算机二级C++考试简单应用题06-02

计算机二级C++考试训练测试题10-09

计算机二级《C++》单选训练题及答案201710-04

小升初综合应用题训练08-27

小升初应用题综合训练11-06

计算机二级C++考试强化训练题201710-26

计算机等级考试二级C++考前指导训练08-29

计算机二级C++考点:C++语言概述07-17