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

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

1、国家二级 C+机试(操作题)模拟试卷 251及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi1 cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在界面输出以下类似内容: 0012FF68 1 0012FF3C 5 0012FF6C 2 0012FF44 4 0012FF70 3 0012FF4C 3 0023FF74 4 0012FF54 2 0012FF78 5 0012FF5C 1 006AFDCC 006AFDEF数据可能因为机器的不同,程序的输 出的内容会有差异。只要相差为 4的连续地址即可。 注意:不要改动 main函数,不能增

2、行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include iostream using namespace std; int main() int *p, a5=1, 2, 3, 4, 5; double *q, b5=5 0, 4 0, 3 0, 2 0, 1 0; int x; p=a; q=b; *error* for(x=0; x =5; x+) *error* cout p+x “ “ (p+x) “ “ q+x “ “ (q+x) endl; return0; 二、简单应用题 2 使用 VC6打开考生文件夹下的源程序文件 modi2 cpp。阅读下列函

3、数说明和代码,完成空出部分程序。函数 fun(int n)的功能是实现对一个整数的加密,具体的加密方法是:一个四位长的整数,每位数字加上 3然后除以 9的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,然后返回得到的密码。 程序 输出: 7654 2108 注意:不能修改其他部分的代码。 #include iostream h #include cmath int fun(int n) int main() int i=1234; cout fun(i) endl; i=5678; cout fun(i) endl; return0; 三、综合应用题 3 使用 VC6打开考生文件夹

4、下的源程序文件 modi3 cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使得程序输出 21到屏幕。 完成以下功能: (1)增加静态私有变量 m Number,类型为 int,请在注释 *1*后添加适当的语句。 (2)增加静态变量 m Number并初始化为 10,请在注释 *2*后添加适当的语句。 (3)完成静态函数 get的定义,请在注释 *3*后添加适当的语句。 (4)完成对象 obi对静态函数 get的调用,使得输出 21到屏幕上,请在注释*4*后添加适当的语句。 注意:增加代码,或者修改代码的 位置已经用符号表示出来。请不要修改其他的程序代码。 #includ

5、e iostream h class TestClaSS *1* int m_other; public: TestClasS(int i) m other=i; *3* return m_Number+obj- m_other; ; *2* int main() TestClass obj(11); *4* cout endl; return0; 国家二级 C+机试(操作题)模拟试卷 251答案与解析 一、基本操作题 1 【正确答案】 (1)for(x=0; x 5; x+) (2)cout p+x “ “ *(p+x) “ “ q+x “ “ *(q+x) endl; 【试题解析】 (1)

6、根据数组 a、 b定义,它们都是 5个元素,而第 1个标识下的“for(x=0; x =5; x+)”循环了 6次,应该是 5次,所以第 1个标识下的将其修改为 “for(x=0; x 5; x+)” (2)第 2个标识下的 P变量为指针型变量, p+x为指向数组中第 x个元素的地址,这里要输出的是存储单元的内容,所以使用 “*”指针元素符,即修改为 “coutp+x “ “ *(p+x) “ “ q+x “ “ *(q+x) endl; ”。 二、简单应用题 2 【正确答案】 int i, a4, t; a0=n 10;取整型 n的第一位数字 a1=n 100 10;取整型 n的第 2位数字

7、 a2=n 1000 100;取整型 n的第 3位数字 a3=n 1000;取整型 n的第 4位数字 for(i=0; i =3; i+)每位数字加 3,取余 ai+=3; ai =9; t=a0;根据加密算法交换 a0=a3; a3=t; t=a1; a1=a2; a2=t; return a3*1000+a2*100+a1*10+a0;重组,返回加密数字 【试题解析】 (1)首先取得要加密整数的每一位数字,并存入数组。 (2)根据加密算法,首先利用循环实现每位数字加 3,除以 9取余。 (3)然后根据加密算法进行数字交换,最后重组,返回密码。 三、综合应用题 3 【正确答案】 (1)添加语

8、句: staticintmNumber; (2)添加语句: intTestClass: mNumber=10; (3)添加语句: staticintget(TestClass*obj) (4)将 “cout endl; ”补充完 整为: cout obj get(&obj) endl; 【试题解析】 (1)题目 1要求 “增加静态私有变量 m_Number,类型为 int, ”。静态变量的定义格式为: static类型变量名称,本题只要在类的 private区域定义 int型的静态变量 m_Number,即第 1个标识下添加 “static int m_Number; ”。 (2)题目 2要求

9、 “增加静态变量 m_Number并初始化为 10”。第 2个标识的位置在类TestClass的外部,在 C+中,使用 “: ”作用域运算符声明定义的变量属于哪个类。由题 干知道, m_Number属于类 TestClass,根据 C+的作用域运算符,在第2个标识下添加 “intTestClass: m_Number=-10; ”。 (3)题目 3要求 “完成静态函数 get的定义 ”。根据第三个标识下的 “return m_Number+obj- m_Other; ”语句知道, get函数具有形参 obi指针。 obj调用m_Other变量,说明它是 TestClass类型,并且静态函数的定义只要在其前面声明static就可以了,即第 3个标识下添加 “static int get(TestClass*obj)”。 (4)题目 4要求 “完成对象 obj对静态函数 get的调用,使得输出 2l到屏幕上 ”。程序中第 4个标识下的 “cout endl; ”语句缺少输出值,题目中要求对象对静态函数 get的调用,对象对成员函数的调用格式为:对象名成员函数,即 “cout obj get(&obj) endl; ”。

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

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

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