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

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

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

  一、填空题
  1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。
  【参考答案】
  【1】存储结构
  2.耦合和内聚是评价模块独立性的两个主要标准,其中【2】反映了模块内各成分之间的联系。
  【参考答案】
  【2】内聚
  3.数据库设计分为以下6个设计阶段:需求分析阶段、【3】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
  【参考答案】
  【3】数据库概念设计阶段
  4.面向对象的模型中,最基本的概念是对象和【4】。
  【参考答案】
  【4】类
  5.数据模型按不同应用层次分成3种类型,它们是概念数据模型、【5】和物理数据模型。
  【参考答案】
  【5】逻辑数据模型
  6.开发一个C++语言程序的步骤通常包括编辑、【6】、链接、运行和调试。
  【参考答案】
  【6】编译
  7.下面程序的输出结果为【7】。
  #include
   void main()
  {
  int num=0,i=8;
  do{
  i--;
  num++;
  }while(--i);
  cout<
  }
  【参考答案】
  【7】-4
   8.下面程序的运行结果为【8】。
  #include
   void fun(int x=0,int y=0)
  {cout<
  void main()
  {fun(5);}
  【参考答案】
  【8】50
  9.C++语言支持的两种多态性分别是编译时的多态性和【9】的多态性。
  【参考答案】
  【9】运行时
  10.cout.put(′A′);,还可以表示为【10】。
  【参考答案】
  【10】cout<<′A′;
  11.将以下程序写成三目运算表达式是【11】。
  if(a>b)max=a;
  else max=b;
  【参考答案】
  【11】max=(a>b)?a:b;
  12.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。
  #include
  #include
  void main()
  { char a[]=″clanguage″,t;
  int i,j,k;
  k=strlen(a);
  for(i=0;i<=k-2;i+=2)
  for(j=i+2;j<=k;【12】)
  if(【13】)
  { t=a[i];a[i]=a[j];a[j]=t;}
  cout<
  cout<
  【参考答案】
  【12】j+=2 【13】a[i]>=a[j]或a[i]>a[j]
  13.请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是【14】。
  【参考答案】
  【14】virtual int A()=0;
  14.假设fin是一个文件流对象,则关闭文件的语句是【15】。
  【参考答案】
  【15】fin

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

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

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

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

  上机部分
  一、改错题
  使用VC6打开考生文件夹下的工程kt5_1,此工程包含一个源程序文件kt5_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
  (1,2)
  5,6
  (6,9)
  源程序文件kt5_1.cpp清单如下:
  #include
   classA{
  public:
  A(inti,intj){a=i;b=j;}
  /****************found*******************/
  voidMove(intx,inty){a+=x;b+=y}
  voidShow(){cout<<"("<
  private:
  inta,b;
  };
  classB:privateA
  {
  public:
  /****************found*******************/
  B(inti,intj,intk,intl):(i,j){x=k;y=l;}
  voidShow(){cout<
  voidfun(){Move(3,5);}
  /****************found*******************/
  voidf1(){Show();}
  private:
  intx,y;
  };
   voidmain()
  {
  Ae(1,2);
  e.Show();
  Bd(3,4,5,6);
  d.fun();
  d.Show();
  d.f1();
  }
  【参考答案】
  (1)将void Move( int x, int y) {a+=x;b+=y}
  改为:void Move( int x, int y) {a+=x;b+=y;}
  (2)将B(int i,int j,int k,int l):(i,j) {x=k;y=l;}
  改为:B(int i,int j,int k,int l):A(i,j) {x=k;y=l;}
  (3)将void f1(){Show();}
  改为:void f1(){A::Show();}
  【试题解析】
  (1)主要考查对表达式定义规则的掌握,此处缺少一个“;”,任何一个表达式都应该以分号作为结束标志;
  (2)主要考查对派生类构造函数定义的掌握,参数列表中基类的成员应使用基类构造函数初始化,因此必须向基类传递参数,传递时直接使用基类名;
  (3)主要考查对基类函数调用方法的掌握,为了调用基类的函数应该使用作用域符“::”以限定访问的位置。

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

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

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

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

  二、简单应用题
  请编写一个函数intpattern_index(charsubstr[],charstr[]),该函数执行含通配符"?"的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用for循环实现。输出结果如下:
  子串起始位置:5
  注意:部分源程序已存在文件kt5_2.cpp中。
  请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。
  文件kt5_2.cpp的内容如下:
  #include
   intpattern_index(charsubstr[],charstr[])
  {
  }
  voidmain()  来源:考
  {
  char*substring,*string;
  intsame;
  substring="???gram";
  string="thisprogramreturnindexofsubstring";
  same=pattern_index(substring,string);
  if(same)
  cout<<"子串起始位置:"<
  else
  cout<<"匹配不成功"<
  }
  【参考答案】
  int pattern_index(char substr[],char str[])
  {int i,j,k;
  for(i=0;str[i];i++)
  for(j=i,k=0;(str[j]==substr[k])||(substr[k]=='?');j++,k++)
  if(!substr[k+1])
  return(i);
  return(0);}
  【试题解析】
  本题主要考查使用for循环和一维数组的能力。对于复杂查找,往往使用for的多重循环。

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

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

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

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

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

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

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

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

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





相关阅读



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