首页 - 网校 - 万题库 - 直播 - 雄鹰网校 - 团购 - 书城 - 模考 - 学习通 - 导航 -
首页网校万题库直播雄鹰网校团购书城模考论坛实用文档作文大全宝宝起名
2015中考
法律硕士
2015高考
MBA考试
2015考研
MPA考试
在职研
中科院
考研培训
专升本
自学考试 成人高考
四 六 级
GRE考试
攻硕英语
零起点日语
职称英语
口译笔译
申硕英语
零起点韩语
商务英语
日语等级
GMAT考试
公共英语
职称日语
新概念英语
专四专八
博思考试
零起点英语
托福考试
托业考试
零起点法语
雅思考试
成人英语三级
零起点德语
等级考试
华为认证
水平考试
Java认证
职称计算机 微软认证 思科认证 Oracle认证 Linux认证
公 务 员
导游考试
物 流 师
出版资格
单 证 员
报 关 员
外 销 员
价格鉴证
网络编辑
驾 驶 员
报检员
法律顾问
管理咨询
企业培训
社会工作者
银行从业
教师资格
营养师
保险从业
普 通 话
证券从业
跟 单 员
秘书资格
电子商务
期货考试
国际商务
心理咨询
营 销 师
司法考试
国际货运代理人
人力资源管理师
广告师职业水平
卫生资格 执业医师 执业药师 执业护士
会计从业资格
基金从业资格
统计从业资格
经济师
精算师
统计师
会计职称
法律顾问
ACCA考试
初级会计职称
资产评估师
高级经济师
注册会计师
高级会计师
美国注册会计师
审计师考试
国际内审师
注册税务师
理财规划师
一级建造师
安全工程师
设备监理师
公路监理师
公路造价师
二级建造师
招标师考试
物业管理师
电气工程师
建筑师考试
造价工程师
注册测绘师
质量工程师
岩土工程师
注册给排水
造价员考试
注册计量师
环保工程师
化工工程师
暖通工程师
咨询工程师
结构工程师
城市规划师
材料员考试
消防工程师
监理工程师
房地产估价
土地估价师
安全评价师
房地产经纪人
投资项目管理师
环境影响评价师
土地登记代理人
宝宝起名
缤纷校园
实用文档
入党申请
英语学习
思想汇报
作文大全
工作总结
求职招聘 论文下载 直播课堂
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C加加 > 模拟试题 > 正文

2015年计算机二级考试C++过关练习题及答案(11)

来源:考试吧 2015-11-13 15:26:30 考试吧:中国教育培训第一门户 模拟考场
考试吧整理“2015年计算机二级考试C++过关练习题及答案(11)”供考生参考。更多计算机等级考试相关信息请关注考试吧计算机等级考试网。

  点击查看:2015年计算机二级考试C++过关练习题及答案汇总

  1[单选题]下列关于面向对象概念的描述中,错误的是(  )。

  A.面向对象方法比面向过程方法更加先进

  B.面向对象方法中使用了一些面向过程方法中没有的概念

  C.面向对象方法替代了结构化程序设计方法

  D.面向对象程序设计方法要使用面向对象的程序设计语言

  参考答案:C

  2[简答题]编写一程序,将两个文件合并成一个文件。

  参考解析:

  #include

  #include

  using namespace std;

  int main(){

  int i=1;

  char c[1000];

  ifstream ifile1("D:\\10_4_3.cpp");

  ifstream ifile2("D:\\10_4_4.cpp");

  ofstream ofile("D:\\r10_4.cpp");

  while(!ifile1.eof()){

  ifile1.getline(c,999);

  ofile<

  }

  while(!ifile2.eof()){

  ifile2.getline(c,999);

  ofile<

  }

  ifile1.close();

  ifile2.close();

  ofile.close();

  return 0;

  }

  3[单选题]已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为(  )。

  A.ACFKDBGB.GDBFKCAC.KCFAGDBD.ABCDFKG

  参考答案:B

  参考解析:通过两种树的遍历序列来推断第三种树的遍历时,反复利用前序和中序遍历的性质,就可以确定二叉树,具体:前序遍历的第一个结点A为树的根结点。中序遍历中A左边的结点在A的左子树中,A的右边的结点在A的右子树中。再分别对A的左右子树进行前丽步骤重复处理,直到每个结点都找到正确的位置。

  具体:前序遍历的第一个结点A为树的根结点。中序遍历中A左边的结点在A的左子树中,A的右边的结点在A的右子树中。再分别对A的左右子树进行前面步骤重复处理,直到每个结点都找到正确的位置。

  4[单选题]下列的方法中,不属于软件调试技术的是(  )。

  A.强行排错法B.集成测试法C.回溯法D.原因排除法

  参考答案:B

  参考解析:调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。

  5[单选题]已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量"\101"是(  )。

  A.字符AB.字符aC.字符eD.非法的常量

  参考答案:A

  参考解析:首先将八进制数转换成十进制数,则发现是65,故答案为A。

  6[单选题]下面关于函数模板的表述中不正确的是(  )。

  A.类模板的成员函数都是模板函数

  B.类模板本身在编译过程中不会产生任何代码

  C.类模板只能有虚拟类型的参数

  D.用类模板定义一个对象时,实参不能省略

  参考答案:C

  参考解析:

  

  

  7[填空题]对于长度为n的有序线性表,在最坏情况下,二分法查找只需比较__________次。

  参考解析:

  

  

  8[单选题] 有下列程序:

  #include

  voidmain(  )

  {inti=5;

  do

  {if(i%3=1)

  if(i%5==2)

  {printf("*%d",i);break;}

  i++:

  }while(i!=O);

  printf("\n");

  }

  程序的运行结果是(  )。

  A.*7B.*3*5C.*5D.*2*6

  参考答案:A

  参考解析:本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。

  9[简答题]使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:

  sizeof(S1)=5

  sizeof(s2)=10

  sizeof(s3)=1

  注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。

  (1)不能删除assert()语句。

  (2)只能修改后面的数字。

  提示:assert函数如果为假,则会产生一个中断异常。

  试题程序:

  #include

  #include

  voidmain()

  {

  char*s1="abc":

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

  assert(sizeof(s1)==3):

  cout<<"sizeof(s1)=5"<

  chars2[10]="ab":

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

  assert(sizeof(s2)==2);

  cout<<"sizeof(s2)=10"<

  chars3=23:

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

  assert(sizeof(s3)==4);

  cout<<"sizeof(s3)=1"<

  return;

  }

  参考解析:

  (1)应改为“assert(sizeof(s1)==4);”。

  (2)应改为“assert(sizeof(s2)==1O);”。

  (3)应改为“assert(sizeof(s3)==1);”。

  【解析】assert函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert函数只有为真,才不会产生中断异常。“assert(sizeof(s1)==3);”语句中“sizeof(s1)==3”为假,这会使程序产生异常,不能正常执行。因为str1的值为abc,但是它还有一个尾符,它的长度应该是4,而不是3,所以在第1处修改为“assert(sizeof(s1)==4);”。str2[10]说明,str2的空间为10,在第2处修改为“assert(sizeof(s2)==10);”。charstr3=23;语句说明23是字符,所占存储空间为1,所以修改为“assert(sizeof(s3)==1);”。

  10[简答题]请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数0perator=,以实现深层复制。

  要求:

  补充编制的内容写在“//************333************”与“//****************666*************”之间。不得修改程序的其他部分。

  注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。

  //CDeepCopy.h

  #include

  #include

  using namespace std;

  class CDeepCopy

  {

  public:

  int n;//动态数组的元素个数

  int *p;//动态数组首地址

  CDeepCopy(int);

  ~CDeepCopy();

  CDeepCopy&operator=(const CDeepCopy&r);//赋值运算符函数

  };

  void writeToFile(char});

  //main.cpp

  #include”CDeepCopy.h”

  CDeepCopy::一CDeepCopy(){delete[]P;}

  CDeepCopy::CDeepCopy(int k){n=k;p=new int[n];}//构造函数实现

  CDeepCopy&CDeepCopy::0perator=(const CDeepCopy&r)//赋值运算符函数实现

  {

  //***********333*********

  //***********666***********

  }

  int main()

  {

  CDeepCopy a(2),d(3);

  a.p[O]=1;d.p[O]=666;//对象a,d数组元素的赋值

  {

  CDeepCopy b(3);//调用赋值运算符函数

  a.p[O]=88;b=a;

  cout<

  }

  cout<

  cout<<”d fade away;\n”;

  cout<

  writeToFile(””);

  return 0;

  }

  参考解析:

  lq=r.n;//把对象r字符长度赋值给n

  delete[]P;//删除动态数组P

  P=new int[n];//给动态数组P分配空间为n

  for(int i=0;i

  //遍历对象r中的数组P

  P[i]=r.P[i];//把r.P[i]赋值给P[i]

  retum*this://返回被赋值的对象

  相关推荐:

  各地2015年9月计算机等级考试成绩查询入口汇总

  2015年计算机二级考试《C++》高分突破试卷汇总

  2015年计算机二级C++模拟练习题及答案汇总

文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 All Rights Reserved 
中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧