考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++上机考试试题及答案(11)

中华IT学院   【 】  [ 2017年7月4日 ]

  上机考试试题答案与解析

  一、程序改错题

  (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;”。

首页 1 2 3 4 尾页
分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved