首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C加加 > 模拟试题 > 正文

2018年3月全国计算机二级C++上机试题及答案(4)

来源:考试吧 2018-02-08 17:30:04 要考试,上考试吧! 万题库
“2018年3月全国计算机二级C++上机试题及答案(4)”供考生参考。更多计算机等级考试内容请访问考试吧计算机等级考试网。
第 1 页:答案与解析

  点击查看:2018年3月全国计算机二级C++上机试题及答案汇总

  一、程序改错题

  使用VC++6.0打开考生文件夹下的源程序文件1.cpp,使其输出结果为:

  n=0

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

  试题程序:

  #include

  //********error*******。

  classTC()

  {

  public:

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

  void~TC(){}

  TC(intn)

  {

  cout<<’n’<<’=’<  };

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

  }

  voidmain()

  {

  TCtest(0);

  return;

  }

  二、简单应用题

  使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,charch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。

  二分法查找的思想是初始查找区间的下界为0,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。

  注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

  试题程序:

  #include(iostream.h>

  intfun(char*str,charch)

  {

  }

  voidmain()

  {

  charstr[]={’a’,’b’,’C’,’d’,’e’,’f’,’9’,’h’,’i,’

  j’,’k’);

  charch;

  cout<<"请输入一个字符:"<  cin>>ch;

  cout<<"输入字符的位置是:"<  return;

  }

  三、综合应用题

  使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下:

  从屏幕输入数字,然后由大到小插入到指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。

  其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

  (1)在父结点的Next中保存新插入的结点的指针,请在注释1后添加适当的语句。

  (2)把pNext的子结点赋给pNext本身,请在注释2后添加适当的语句。

  (3)判定P的子结点不为空,如果不为空,则打印P中的数据到屏幕,请在注释3后添加适当的语句。

  (4)用t1保存动态申请内存结点的链表头,请在注释4

  后添加适当的语句。

  注意:仅在函数指定位置添加语句,请勿改动主函数

  main与其他函数中的任何内容。

  试题程序:

  #include

  classTC

  {

  public:

  TC(intdata=O)

  {

  this->data=data;

  this->next=NULL;

  }

  intdata;

  TC*next;

  };

  voidInsert(TC*P,intdata)

  {

  TC*temp=newTC(data);

  TC*pParent=P:

  TC*pNext=p-)next:

  while(pNext)

  {

  if(data>pNext->data)

  {

  //********1********

  temp->next=pNexti

  return;

  }

  else

  {

  pParent=pNext;

  //********2********

  }

  }

  if(pNext==NULL)

  {

  pParent->next=temp;

  return;

  }

  }

  voidprintf(TC*p)

  {

  //********3********

  while()

  {

  coutdata<<"";

  P=P->next;

  }

  cout<  }

  voidDelete(TC*p)

  {

  //********4********

  TC*t1=;

  TC*t2;

  while(t1!=NULL)

  {

  t2=t1->next:

  deletetl;

  t1=t2:

  }

  }

  voidmain()

  {

  inti=0;

  TChead:

  do

  {

  intdata;

  cout<<"请输入一个数字:"<  cin>>data;

  if(data==O)break;

  Insert(&head,data);

  }while(1);

  printf(&head);

  Delete(&head):

  return;

  }

  }

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  一、程序改错题

  (1)应改为“classTC”。

  (2)应改为“~TC(){}”。

  (3)应改为“};”。

  【解析】本题第1处的“classTC()”为类的定义,根据C++中类的定义格式,类名后面是没有括号的,所以第1处应为“classTC”。第2处的“void~TC(){}”是析构函数,C++中析构函数的格式中是没有函数类型说明的,所以修改为“~TC(){}”。根据C++中类的定义,第3个标识下类结束的“}”缺少分号,即修改为“};”。

  二、简单应用题

  intlow=0;//初始查找区间的下界

  inthigh;

  intk;

  for(high=0;str[high]!=0;high++)//求字符串长度

  while(10w  {

  k=(low+high)/2;

  if(str[k]==ch)

  returnk;

  elseif(str[k]>ch)

  high=k-l:

  elselow=k+1:

  }

  if(str[low]==ch)

  returnlow;

  return-1:

  【解析】本题首先初始查找区间的下界为0,然后求得字符串长度len,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功。若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。

  三、综合应用题

  (1)应添加“pParenl->next=telnp;”。

  (2)应添加“pNext=pNext->next;”。

  (3)将“while()”补充完整为“while(P->next!=NULL)”。

  (4)将“TC*t1=;”补充完整为“TC*t1=P->next;”。

  【解析】本题第1处要求“在父结点的Next中保存新插入的结点的指针”。对于指针的操作,pParent->next为pParent的子结点,在父结点的Next中保存新插入的结点的指针,即“pParent->next=temp;”。第2处要求“把pNext的子结点赋给pNext本身”。pNext->next为pNext的子结点,把pNext的子结点赋给pNext本身,即“pNext=pNext->next;”。注释3下是判定P的子结点不为空。P的子结点是p->next。程序中的“while()”缺乏P的子结点不为空的判断条件,所以修改为“while(P->next!=NULL)”。第4处要求“用t1保存动态申请内存结点的链表头”。P为链表,P->next为链表头。程序中的语句“TC*t1=;”中t1没有被赋值,所以修改为“TC*t1=P->next;”。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  相关推荐:

  2018年全国计算机等级考试必做试题汇总(各科目)

  2018年全国计算机等级考试复习知识点汇总(各科目)

  2018计算机等级考试报名时间|各地报名入口|报名条件

  2018年全国计算机等级考试时间|教材目录(2018年版)

  2018全国计算机等级考试备考经验及应试技巧汇总

  报名方法|考试内容|考试大纲|2018计算机等级考试科目

  历年真题汇总|考试吧策划:2018年计算机等级考试报考指南

0
收藏该文章
0
收藏该文章
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
Copyright © 2004- 考试吧计算机等级考试网 出版物经营许可证新出发京批字第直170033号 
京ICP证060677 京ICP备05005269号 中国科学院研究生院权威支持(北京)
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧