首页>计算机等级考试>模拟试题>正文
2010年下半年计算机等级考试二级C++上机试题及解析(六)

www.zige365.com 2010-7-6 14:19:39 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

  (1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queueinitialized。请在注释“//**1**”之后添加适当的语句。

  (2)完成类queue的成员函数qput(intj)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queueisfull,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“//**2**”之后添加适当的语句。

  (3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queueisempty,否则el自加一,并且把el指向的数组元素返回,请在注释“//**3**”之后添加适当的语句。

  程序输出结果如下:

  queueinitialized

  queueinitialized

  3311

  4422

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

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

  #include

  classqueue

  { intq[100];

    intbl,el;

    public:

    queue();

    voidqput(intj);

    intqget(); };

  queue::queue()

  { //**1** }

  voidqueue::qput(intj)

  { //**2**

    { cout<<"queueisfull\n";

      return; }

    bl++;

    q[bl]=j; }

  intqueue::qget()

  { //**3**

    { cout<<"queueisempty\n";

      return0; }

    el++;

    returnq[el]; }

  voidmain()

  {

   queueaa,bb;

    aa.qput(11);

   bb.qput(22);
 
   aa.qput(33);

   bb.qput(44);

   cout<

   cout<

  }

  【参考答案】

  (1)bl=el=0;

  cout<<"queue initialized\n";

  (2)if(bl==100)

  (3)if(el==bl)

  【试题解析】

  主要考查对于具体的一个队列类的掌握,对列是一种特殊的存储结构,应使用先进先出原则。题目中bl和el分别指向队列的开头和结尾,其中(2)是队列的标准插入操作,(3)是队列的标准的删除操作,注意它们的操作方式和先判断后操作的原则。

本新闻共2页,当前在第2页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2010年计算机等级考试二级C++上机试题及解析(七)
2010年下半年计算机等级考试二级C++上机试题及解析(五