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

上传人:postpastor181 文档编号:497171 上传时间:2018-11-28 格式:DOC 页数:5 大小:31KB
下载 相关 举报
[计算机类试卷]国家二级C++机试(操作题)模拟试卷114及答案与解析.doc_第1页
第1页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷114及答案与解析.doc_第2页
第2页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷114及答案与解析.doc_第3页
第3页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷114及答案与解析.doc_第4页
第4页 / 共5页
[计算机类试卷]国家二级C++机试(操作题)模拟试卷114及答案与解析.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C+机试(操作题)模拟试卷 114及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi l cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 150 200 注意:错误的语句在 *error*的下面,修改该语句即可。 提示:定义 Numberl为一个整型数据位长的变量。 #include *error* struct *error* int Numberl: 1; int Number2 ; )MyStruct; void main() MyStruct mstr ; mstr Numberl: 150; mstr Number2=

2、15; *error* int*ptr=&mstr Numberl; cout void fun(int N4) int main() int N4=1, 2, 3, 0; fun(N); return 0 ; 三、综合应用题 3 使用 VC6打开考生文件夹下的源程序文件 modi3 cpp,其中定义了用于表示学生学号的类 CStudentlD,但类 CStudentlD的定义并不完整。 运行结果为: 学生的学号为: 200805 学生名为:李伟 删除学生学号为: 200805 请按要求完成下列操作,将类 CStudentlD的定义补 充完成: (1)定义 class CStudentlD类的

3、私有数据成员 IDvalue表示学生的学号,为 long型的数据。请在注释 *1*之后添加适当的语句。 (2)完成默认构造函数 CStudentlD的定义,使 CStudentlD对象的默认值为: id=0,并把学生的学号赋给 IDvalue,并输出 “赋给学生的学号: ”及学号。请在注释 *2*之后添加适当的语句。 (3)完成默认析构函数 CStudentlD的定义,使 CStudentlD析构时输出 “删除学号: ”及学号。请在注释 *3*之后添加适当的语句。 (4)完成默认构造函数 CStudentlnfo的定义。对应两个默认参数:要求定义 char stName,其默认值为 “no n

4、ame”,定义 long stlD,其默认值设为 0,并使它们赋值给相应的类数据成员。请在注释 *4*之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 #include #include C1asS CStudentID *1*定义私有数据成员 public: *2*定义默认构造函数 IDvalue=id; cout ; 程序当中定义结构体名放在后面, MyStruct为结构体变量类型,相当于 typedef为已有的类型定义一个新的类型,第 1个标识下应改为 “typedef struct“。 (2)第 2标识下是定义 Numberl为一个整型数据变量,整型数

5、据位数为 32(4字节 ),因此第 2个标识下应改成 “intNumberl: 32; ”或 “int Numberl: ”。 (3)ptr为整型数据指针, mstr为 MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第 3个标识下应改成 “int*ptr=(int*)&mstr; ”,表示将 mstr的地址给 ptr, ptr指向 MyStruct的第一个域 Numberl, Numberl也是整形,类型一致,故可通过 ptr指针来改变 Numberl的值。 二、简单应用题 2 【正确答案】 inti, j, k; for(i=0; i4; i+) 百位循环 for(j=0;

6、 j4; j+) 十位循环 for(k=0; k4; k+) 个位循环 ( if(i!=j&j!=k& k!=i Nil=0) 当三位数不同,并且百位不为 0 COUtNiNjNk endl ; 输出这三位数组成的数字 【试题解析】 (1)该程序功能是输出百、十、个位都不相同的组合。它的解题思路,利用三层循环,对百、十、个位数字是否相同进行判断。 (2)从已给部分源程序的 main主函数开始入手,核心函数 void fun(int N4)中的N4参数为存放输入的四位数字的数组。 解题思路 (1)利用三层循环,对要三位数字是否相同进行判断。 (2)如果三位数不同,并且百位不为 0。那么依次输出这

7、三位数,即为三位数组成的数字。 三、综合应用题 3 【正确答案】 (1)添加语句: long IDvalile; (2)添加语句: CStudentID(10ng id=0) (3)添加语句: CStudentID() (4)添加语句: CStudent工 nfo(char 8tName=“no na me”, long stID=O): id(stID 【试题解析】 (1)第 1个标识下完成 CStudentlD类的私有数据成员 IDvalue的定义,为 long型的数据,因此第 1个标识下应添加 “longIDvalue; ”o (2)构造函数完成类成员变量的初始化,构造函数名和类名一致,该构造函数带有一个参数 id,其默认值为 id=0,因此第 2个标识下应添加 “CStudentlD(long id=O)”。 (3)析构函数也和类名一致,并且在前面加 “一 ”以和构造函数区分,析构函数没有参数,故第 3个标识下应添加 “ CStudentlD()”。 (4)CStudentlnfo包含的学生学号信息保存在类 CStudentlD的实例中,可通过调用类 CStudentlD的自定义构造函数初始化,第 4个标识下应添加“CStudentlnfo(char stName=”no name“,long stlD=0): id(stlD)”。

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

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

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