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

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

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

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

  1[判断题]C++语言比C语言对数据类型要求更加严格了。

  参考答案:对

  2[简答题] 为单链表类模板增加一个复制构造函数和赋值运算符(=)。在上题基础上,List类增加一个复制构造函数和赋值运算符(=)。

  参考解析:

  templateList::List(List& l){

  head=new Node(-9999);//现建立头结点

  Node* tempP=l.head->link,*tempC;

  while(tempP!=NULL){

  tempC=CreatNode(tempP->info);

  InsertAfter(tempC);

  tempP=tempP->link;

  }

  }

  templateList& List::operator=(List& l){

  MakeEmpty();//先释放原来链表的数据结点

  Node* tempP=l.head->link,*tempC;

  while(tempP!=NULL){

  tempC=CreatNode(tempP->info);

  InsertAfter(tempC);

  tempP=tempP->link;

  }

  return *this;

  }

  int main(){

  Node * P1;

  List list1,list2;

  int a[10]={20,12,0,-5,9,-18,6,11,5,3},i,j;

  for(i=0;i<10;i++){

  P1=list1.CreatNode(a[i]);

  list1.InsertOrder(P1);

  }

  list1.PrintList();

  cout<<"请输入一个要求删除的整数"<

  cin>>j;

  P1=list1.Find(j);

  if(P1!=NULL){

  P1=list1.DeleteNode(P1);

  delete P1;

  list1.PrintList();

  }

  else cout<<"未找到"<

  cout<<"请输入一个要求插入的整数"<

  cin>>j;

  P1=list1.CreatNode(j);

  list1.InsertOrder(P1);

  list1.PrintList();

  list2=list1;

  list2.PrintList();

  List list3=list1;

  list3.PrintList();

  cout<<"请输入一个要求删除的整数"<

  cin>>j;

  P1=list1.Find(j);

  if(P1!=NULL){

  P1=list1.DeleteNode(P1);

  delete P1;

  list1.PrintList();

  }

  else cout<<"未找到"<

  list2=list3=list1;

  list2.PrintList();

  list3.PrintList();

  list1.MakeEmpty();//清空list1

  list2.MakeEmpty();//清空list1

  list3.MakeEmpty();//清空list1

  return 0;

  }

  3[单选题]一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是:

  A.一对一B.一对多C.多对多D.多对一

  参考答案:C

  4[单选题] 下列叙述中正确的是( )。

  A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

  B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

  C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

  D.以上说法都不正确

  参考答案:C

  参考解析:栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择c。

  5[单选题]下列叙述中正确的是 (  )。

  A.线性表是线性结构

  B.栈与队列是非线性结构

  C.线性链表是非线性结构

  D.二叉树是线性结构

  参考答案:A

  参考解析:线性表是线性结构;线性链表是线性表的链式存储结构,因此也是线性结构;栈与队列 是特殊的线性表,因此也是线性结构;二叉树是非线性结构。

  6[单选题]

  

  A.0B.1C.2D.3

  参考答案:B

  参考解析:此题实际考查的是变量作用域的屏蔽效应。在C++中,当标识符的作用域发生重叠时,在一个函数中声明的标识符可以屏蔽函数外声明的标识符或全局标识符。声明类A的全局对象时,构造函数首先调用int函数,但由于静态成员变量a被构造函数内部的形参a所屏蔽所以a++改变的是形参a的值,对静态成员变量a没有影响。

  7[单选题]在下面的4个关键字中用来说明虚函数的是(  )。

  A.virtualB.publicC.protectedD.private

  参考答案:A

  参考解析:C++中用virtual关键字声明虚函数。而public、protected、private为成员访问限定符。

  8[单选题]

  

  参考答案:B

  9[单选题]有如下程序:

  #include

  usingnamespacestd;

  classBase{

  public:

  Base(intx=O){cout<

  };

  classDerived:publicBase{

  public:

  Derived(intx=O){cout<

  private:

  Baseval;

  };

  intmain(){

  Derivedd(1);

  return0;

  }

  程序执行后的输出结果是(  )。

  A.100B.000C.010D.001

  参考答案:D

  参考解析:本题考查的知识点是豢的构造。建立一个类的对象时,构造函数的执行顺序如下:①执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右);②执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下);③执行自身的构造函数。本题Derived类继承于Base类,所以首先会构造基类Base,但Derived类的构造函数没有初始化列表,所以将调用Base类的默认构造函数,输出一个0。接下来由于它的成员中还定义了一个Base类的对象,两构造函数也没有显示初始化这个对象,所以再次调用Base类的默认构造函数输出一个0。最后构造自身,因为主函数中传入了构造参数1,所以构造自身时输出了一个1。故最终输出结果为001。

  10[单选题] 若已定义:

  inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是(  )。

  A.a[p-a]B.*(&a[i])C.p[i]D.a[10]

  参考答案:D

  参考解析:通常,引用一个数组元素可以用下标法,如a[p-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,数组的下标是从0开始的。

  11[判断题]使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默认的访问权限是私有的。

  参考答案:错

  12[单选题]需求分析阶段的任务是(  )。

  A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能

  参考答案:D

  参考解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。

  13[单选题]有如下程序段:

  int *p, a=10, b=1;

  p=&a;

  a=*p+b;

  执行该程序段后,a的值是(  )。

  A.12B.11C.10D.编译出错

  参考答案:B

  14[单选题]在模块化程序设计中,按功能划分模块的原则是(  )。

  A.各模块的功能尽量单一,且各模块之间的联系尽量的少

  B.各模块的功能尽量单一,且各模块之间的联系尽量紧密

  C.各模块应包括尽量多的功能

  D.各模块应包括尽量多的输入输出操作

  参考答案:A

  参考解析:在模块化程序设计中.按功能划分模块的原则是:要求各模块的功能尽量单一,且各模块之间的联系尽量的少。

  15[单选题] 数据库设计的根本目标是要解决(  )。

  A.数据共享问题

  B.数据安全问题

  C.大量数据存储问题

  D.简化数据维护

  参考答案:A

  参考解析:从数据库的概念中可以看到,所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。因此进行数据库设计的根本目标还是为了解决数据共享问题。

  16[单选题]下列关于this指针的叙述中,正确的是(  )

  A.任何与类相关的函数都有this指针

  B.类的成员函数都有this指针

  C.类的友元函数都有this指针

  D.类的非静态成员函数才有this指针

  参考答案:D

  17[简答题]使用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);”。

  18[填空题]数据模型分为格式化模型和非格式化模型,则关系模型属于_______ 模型。

  【答案】非格式化

  【解析】数据模型分为格式化模型和非格式化模型,关系模型属于非格式化模型。

  19[填空题]继承的方式有公有继承、私有继承和 【13】 3种。

  参考解析:保护继承

  相关推荐:

  2015年9月计算机等级考试真题及答案解析专题

  2015年计算机二级《C语言》最新章节练习题汇总

  2015年计算机二级《JAVA》章节习题及答案汇总

  2015年计算机二级《MySQL》章节习题及答案汇总

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