[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc

上传人:eventdump275 文档编号:497622 上传时间:2018-11-28 格式:DOC 页数:7 大小:36KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc_第1页
第1页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc_第2页
第2页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc_第3页
第3页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc_第4页
第4页 / 共7页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷63及答案与解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、国家二级 C+机试(操作题)模拟试卷 63及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正 main()函数中的错误,使程序的输出结果如下: Constructor Default constructor Area is 12 Area is 0 Area is 12 注意:错误的语句在 *error*的下面,修改该语句即可。 1 #include 2 class CRectangle 3 4 private: 5 double length, width; 6 public: 7 CRectangle() 8 9 co

2、utlength=l; 19 this-width=w; 20 21 void GetArea() 22 23 coutch,则新的查找区间的下界不变,上界改为 k-1;否则新的查找区间的下界改为 k+1,上界不变。在新区间内继续用二分法查找。 注意:请勿改动主函数 main与其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 1 #include 2 int fun(char*str, char ch) 3 4 5 6 void main() 7 8 char str=a, b, c, d, e, f, g, h, i, j, k, 0); 9 char ch; 10 c

3、outch; i2 cout 2 class CMyTime 3 4 private: 5 *1* 6 7 public: 8 CMyTime(int year, int month) 9 10 *2* 11 12 13 void display() 14 15 char yearChar3; 16 char monthChar3, 17 yearChar0=(m_year 100) 10+0, 18 yearChar1=(m_year 10)+0; 19 monthChar0=(m month 100) 10+0; 20 monthChar1=(m month 10)+0; 21 *3* 2

4、2 23 coutch) 11 high=k一 1; 12 else low=k+1; 13 14 if(str10w=ch) 15 return low; 16 return -1 ; 【试题解 析】 根据题干中给出的二分法查找思想,从已给部分源程序的 main主函数开始入手,核心函数 int fun(char*str,char ch)中的 ch参数为输入的字符,其中返回值为 ch所在的位置。 解题思路 (1)首先,初始查找区间的下界为 0。 (2)然后,求得字符串长度 len,上界为 len-1,查找区间的中后, k-(下界 +上界 ) 2;若 listk等于 ch,查找成功。 (3)若

5、listkch,则新的查找区间的下界不变,上界改为 k 1:否则新的查找区间的下界改为 k+1,上界不变。 三、综合应用题 3 【正确答案】 (1)添加语句: int m year, m month; (2)添加语句: m_year=year; m month=month; (3)添加语句: yearChar2=0; monthChar2=0 ; (4)添加语句: m_year+=m month 12;或 m_year=m_year+m_month 12 ; 【试题解析】 程序中定义了类 CMyTime,含有 m_year和 m_month两个成员变量,成员函数 display()显示成员变量

6、的值, AddMonth(int m)和 AddYear(int n)函数分别改变 m_month和 m_year两个成员变量的值。 解题思路 (1)第 1个标识下添加 CMyTime的私有成员变量 m_year、 m_month的声明,因此第 1个标识下应添加 “intm_year,m_month; ”。 (2)第 2个标识下完成类成员构造函数变量的初始化,即将参数分别赋值给m_year和 m_month,因此第 2个标识 F应添加 “m_year=year;m_month=month; ”。 (3)第 3个标识下准备输出 yearChar数组和 monthChar数组,字符数组的最后一个字符应该为 NULL(O),因此第 3个标识下应添加 “yearChar2=0;monthChar2=0; ”。 (4)m month和参数之和赋值给 m_month,其和可能超过 12,如果超过 12表示下一年了,因此 m_year应该加 l,故先判断 m month是否比 12大,可取m_month 12和 m_year相加,如果 m_month没有超过 12则 m_month 12=0反之则为 1,第 4标识下应添加 “m year+=m month 12;或m_year=m_year+m_month 12; ”。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1