无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2013年计算机二级考试C++模拟试题六及答案

2013-03-18来源/作者:卫凯点击次数:717

  一、填空题
  1.用树结构表示实体类型及实体间联系的数据模型称为【1】。
  【参考答案】
  【1】层次模型
  2.数据流图的类型有【2】和事务型。
  【参考答案】
  【2】变换型
  3.在最坏情况下,堆排序需要比较的次数为【3】。
  【参考答案】
  【3】O(nlog2n)
  4.软件开发环境是全面支持软件开发全过程的【4】集合。
  【参考答案】
  【4】软件工具
  5.冒泡排序算法在最好的情况下的元素交换次数为【5】。
  【参考答案】
  【5】0
  6.C++语言标识符是以字母或【6】开头的,由字母,数字和下划线组成的字符串。
  【参考答案】
  【6】下划线
  7.mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。
  int mystrlen(char *str)
  { int i;
  for(i=0;【7】!=′\0′;i++);
  return(i);}
  【参考答案】
  【7】*(str+i)或str[i]
  8.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是【8】。
  【参考答案】
  【8】类的成员对象
  9.C++在重载运算符中,如用成员函数重载一元运算符参数表中需要【9】个参数,如用友元函数重载一元运算符参数表中需要【10】个参数。
  【参考答案】
  【9】0 【10】1
  10. 假设int a=1,b=2;,则表达式(++a/b)*b--的值为【11】。
  【参考答案】
  【11】2
  11.C++语句const char *const p=″hello″;,所定义的指针p和它所指的内容都不能被【12】。
  【参考答案】
  【12】改变
  12.对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。
  class MyClass
  {
  public:
  MyClass(int x){n=x;}
  void SetNum(int nl){n=nl;}
  private:
  int n;
  };
  int f()
  {
  MyClass *ptr=new MyClass(45);
  【13】
  }
  【参考答案】
  【13】ptr->SetNum(50);
  13.表达式operator+(x,y)还可以表示为【14】。
  【参考答案】
  【14】x+y
  14.通过使用new和delete两个运算符进行的分配为【15】存储分配。
  【参考答案】
  【15】动态

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:计算机二级C++章节练习在线测试计算机二级C++全真模拟试题及答案汇总

  热点关注:2013年3月计算机等级考试试题答案首发通知悬赏征集计算机等考真题及答案

  更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!

  上机部分
   一、改错题
  使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
  1:
  weight:5
  age:0
  2:
  weight:7
  age:9
  源程序文件kt4_1.cpp清单如下:
  #include
   classanimal
  {
  public:
  /****************found*******************/
  friendvoidsetvalue(animal&,int);
  /****************found*******************/
  viodprint();
  protected:
  intitsweight;
  intitsage;
  };
  voidanimal::print()
  {
  cout<<"weight:"<
  cout<<"age:"<
  }
  voidsetvalue(animal&ta,inttw)
  {
  ta.itsweight=tw; www.Examda.CoM
  ta.itsage=0;
  }
  voidsetvalue(animal&ta,inttw,inttn)
  {
  ta.itsweight=tw;
  ta.itsage=tn;
  }
  voidmain()
  {/****************found*******************/
  animalpeppy
  setvalue(peppy,5);
  cout<<"1:"<
  peppy.print();
  setvalue(peppy,7,9);
  cout<<"2:"<
  peppy.print();}
  【参考答案】
  (1)添加友元函数的声明
  friend void setvalue(animal&,int,int);
  (2)将viod print();改为:void print();
  (3)将animal peppy改为:animal peppy;
  【试题解析】
  (1)主要考查对成员函数定义规则的掌握,成员函数必须先声明再使用,即使是友元函数也不例外;
  (2)主要考查对关键字的掌握,空类型应用void;
  (3)主要考查对变量定义的掌握,该处缺少“;”。

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:计算机二级C++章节练习在线测试计算机二级C++全真模拟试题及答案汇总

  热点关注:2013年3月计算机等级考试试题答案首发通知悬赏征集计算机等考真题及答案

  更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!

  二、简单应用题
  请编写一个函数intSeqSearch(intlist[],intstart,intn,intkey),该函数从start开始,在大小为n的数组list中查找key值,返回最先找到的key值的位置,如果没有找到则返回-1。请使用for循环实现。
  注意:部分源程序已存在文件kt4_2.cpp中。
  请勿修改主函数main和其他函数中的任何内容,仅在函数SeqSearch的花括号中填写若干语句。
  文件kt4_2.cpp的内容如下:
  #include
   intSeqSearch(intlist[],intstart,intn,intkey)
  {
  }
  voidmain()
  {
  intA[10];
  intkey,count=0,pos;
  cout<<"Enteralistof10integers:";
  for(pos=0;pos<10;pos++)
  {
  cin>>A[pos];
  }
  cout<<"Enterakey:";
  cin>>key;
  pos=0;
  while((pos=SeqSearch(A,pos,10,key))!=-1)
  {
  count++;
  pos++;
  }
  cout<
  }
  【参考答案】
  int SeqSearch(int list[], int start, int n, int key)
  {
  for(int i=start;i
  {
  if(list[i]==key)
  {
  return i;
  }
  }
  return -1;
  }
  【试题解析】
  本题考查的是考生使用for和if等基本控制结构的综合水平,查找一个数组中的指定元素并返回序号是一个基本操作,注意一维数组的实参格式。

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:计算机二级C++章节练习在线测试计算机二级C++全真模拟试题及答案汇总

  热点关注:2013年3月计算机等级考试试题答案首发通知悬赏征集计算机等考真题及答案

  更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!

  三、综合应用题
  使用VC6打开考生文件夹下的工程kt4_3,此工程包含一个源程序文件kt4_3.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。
  (1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。
  (2)完成类vector的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。
  (3)完成类vector的友元函数frienddoubleMultiply(vector&x,vector&y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
  (10,20)
  (2,3)
  80
  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
  源程序如下:
  #include
   classvector
  {
  inta;
  intb;
  public: 来源:考试大网
  //**1**
  voidinput(intx,inty)
  {//**2**}
  voidoutput()
  {cout<<'('<
  frienddoubleMultiply(vector&x,vector&y);
  };
  doubleMultiply(vector&x,vector&y)
  {
  //**3**
  c=x.a*y.a+x.b*y.b;
  returnc;
  }
  voidmain()
  {
  vectorx(10,20),y;
  doubled;
  y.input(2,3);
  d=Multiply(x,y);
  x.output();
  y.output();
  cout<
  }
  【参考答案】
  (1)vector (int x=0,int y=0):a(x),b(y){}
  (2)a=x; b=y;
  (3)double c;
  【试题解析】
  本题主要考查类的定义和友元函数定义,其中(1)中的参数列表形式和(3)中对象访问成员使用“.”操作符。

  冲刺专题:2013年3月计算机二级考试冲刺专题

  推荐新闻:计算机二级C++章节练习在线测试计算机二级C++全真模拟试题及答案汇总

  热点关注:2013年3月计算机等级考试试题答案首发通知悬赏征集计算机等考真题及答案

  更多练习>>参与233网校“计算机二级C++模拟估分”助您考试顺利通关!





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策