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

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

1、国家二级 C+机试(操作题)模拟试卷 29及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: i=5 i=10 i=15 i=20 注意:错误的语句在 *error*的下面,修改该语句即可。 1 #include 2 clasS CMyClasS 3 4 publiC: 5 template 6 void func(T x, T y) 7 8 *error* 9 T i=0; 10 if(x=i) 11 12 i=i+x; 13 14 else 15 16 i=i+y, 17 18 cou

2、t 2 double sum(int n) 3 4 5 6 void main() 7 8 cout 2 #include 3 C1ass CStudentID 4 5 *1*定义私有数据成员 6 7 public: 8 *2*定义默认构造函数 9 10 11 IDvalue=id; 12 cout0,此时 i和 X的和为 5,故屏幕输出 i的值为i=5;第二次调用 func0函数,传入参数为 char型数据,此时 T表示字符型(char), char i=0, 680,故 i为 68,屏幕输出 ASCII码为 68的字符,即 i=D;第三次调用 func()函数,传入整型数据 10和 l,此

3、时 T表示整型 (int),输出 为 i=15,显然如果 i为一般的局部变量,输出应该是 i=10(100, i=10+0=10),这里 i记忆了第一次调用 funcO函数后的值 (i=5, 105, 10+5=15),故 i为静态变量,因此第 1个标识下应改为 “staticT i=0: ”。 (2)func()函数两个参数类型一致,从输出结果看,第二次调用 func()传入的参数均是 char型的,故第 2个标识下应改为 “t func(char)68, (char)1); ”, (char)68和(char)1含义是做强制类型转换,将整型转换成 char型。 (3)第 3个标识下传入参数

4、 l为整型,局部变量 i为 float型,由输出结果可知,第四次调用 func0函数也改变了静态变量 i(static int i)的值,故传入的参数均为整型,因第 3个标识下的局部变量 i(float型 )也要强制类型转换,故第 3个标识下应改为 “t func(int)i, 1); ”。 二、简单应用题 2 【正确答案】 1 int result=0 ; 2 for(int i=11; i=n; i+) 3 4 if(i 7=0)&(i 11=0) 5 6 result+=i; 7 8 9 return result ; 【试题解析】 函数 sum(int n)的功能是实现计算在 n范围内

5、,能被 7和 11整除的所有整数的和 (包括 n在内 ),可采用循环的方式从 11开始到 n逐个寻找能被 7和11整除的数,如果能同时被 7和 1l整除则加到累加变量中。 解题思路 (1)利用循环查找能所有小于等于 n的能被 7和 ll整除的数,循环变量 i从最小值 11开始,到 n结束,即 11=i=n。 (2)在函数中定义累加变量 result用来保存求和结果,在循环体内,逐个判断每个 i是否能被 7和 11整除,即 (i 7=0)和 (i 11=0)都满足的话,说明 i能同时被7和 11整除,将该值加到 result上,循环结束返回 result。 三、综合应用题 3 【正确答案】 (1

6、)添加语句: long IDvalue; (2)添加语句: CStudentID(10ng id=0) (3)添加语句: CStudentID() (4)添加语句: CStudentInfo(char stName=“no name“, long stID=O): id(stID) 【试题解析】 程序中定义了两个类 CStudentID和 CStudentlnfo,其中类CStudentID包含学生的学号信息的成员变量,有自定义构造函数和默认析构函数,而类 CStudentlnfo不仅包含学生的学号还包括对应的姓名信息的成员变量,还实现了自定义构造函数。 解题思路 (1)第 1个标识下完成 C

7、StudentID类的私有数据成员 IDvalue的定义,为 long型的数据,因此第 1个标识下 应添加 “long I: Dvalue; ”。 (2)构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数 id,其默认值为 id=0,因此第 2个标识下应添加 “CStudentlD(10ng。id=0)”。 (3)析构函数也和类名一致,并且在前面加 “ ”以和构造函数区分,析构函数没有参数,故第 3个标识下应添加 “ CStudentID()”。 (4)CStudentlnfo包含的学生学号信息保存在类 CStudentID的实例中,可通过调用类 CSmdentlD的自定义构造函 数初始化,第 4个标识下应添加“CStudentlnfo(charstName=”no name“,long stID=0): id(stlD)”。

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

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

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