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

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

1、国家二级 C+机试(操作题)模拟试卷 307及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modi1 cpp,该程序运行时有错误,请改正程序中的错误。 本题的功能是:从键盘输入字符串 S,然后输出字符串 S中的字符个数。 注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 *error*的下面。 #include int main() *error* cout #include #defime MAXLEN 1024 char*convert(char*des, char* str) Void main() char destMAXL

2、EN; char*string=“abc def “: cout Class baseA int a; public: *1* int geta()return a; ) ; class priAl: public baseA int b; public: *2* int getb()return b; ) ; class priA2: public priAl int c; public: *3* Void show() *4* ; Void main() priA2 a(7, 5, 10); cout=0; i-) if(stri!= ) 判断结尾是否有空格,从后往前判断直到不是不是空格了

3、跳出循环 break; for(length =0 ; length=i; length+) deslength=strlength; 从前面开始,逐个将 str中的字符拷贝到 des数组中,不含最后面的空格 deslength=NULL; 最后一字符为 NULL return des; 【试题解析】 (1)利用循环将字符串 str的长度求出,然后从字符串的尾部开始检索,用 循环从字符串的最后一个字符往前面逐个检查,如果该字符不是空格则退出循环,这个时候就找到了最后一个非空格字符所在的下标位置,然后从下标 0开始到该位置,逐个将 str里面字符拷贝到 des中。 (2)程序当中使用了 3次循环

4、:计算长度、寻找最后一个非空格字符和拷贝三个过程。 三、综合应用题 3 【正确答案】 (1)添加语句: baseA(int m) a=m; ) (2)添加语句: priA1(int m, int n): baseA(n)b=m; ) (3)添加语句: priA2(int m, int n, int k): priA1(n, k) c=m; ) (4)添加语句: coutgeta()“getb()“ “cendl; 【试题解析】 (1)根据题目 1要示,构造函数函数名和类名一致,显然 baseA构造函数名为 baseA(),在 baseA0qb通过参数 in完成对成员变量 a的赋值,因此构造函数

5、名为 baseA(int m),在函数内部对成员 a赋值,故第 1个标识下应添加“baseA(int m)a=m; ”。 (2)根据题目 2要示,构造函数形式为 priA1(int m, int n), m赋值给 priA1类成员 b,将 n作为基类 baseA构造函数的参数值传入,故第 2个标识下应添加“priA1(int m, int n): baseA(n)b=m; ”。 (3)根据题目 3要示,函数形式为 priA2(int m, intn, int k),在构造函数中将 m赋值给数据成员 c,将 n和 k分别赋值给基类 priA1构造函数的参数 m和 n,因此第 3个标识下应添加 “priA2(int m, int n, intk): priAl(n, k)c=m; ”。 (4)根据题目 4要示 , priA2类公有派生于 priA1,而研 A1公有派生于 baseA,因此在 priA2类中可以调用基类的 geta()和 getb()来获得基类私有成员 a和 b,再输出 priA2的私有成员 C即满足要求,因此第 4个标识下应添加 “coutgeta0“ “getb0“ “cendl; ”。

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

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

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