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

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

1、国家二级 C+机试(操作题)模拟试卷 116及答案与解析 一、基本操作题 1 使用 VC6打开考生文件夹下的源程序文件 modil cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: 10 6 30 2 2 注意:错误的语句在 *error*的下面,修改该语句即可。 #include class CMyClass private: int number; int Add(int i) return number+=i ; int Sub(int i) return number一 =i ; int Mul(int i) return number*=i ; int Div(i

2、nt i) if(i!=0) return number =i ; else return number; *error* typedef int(FUNC)(int); *error* FUNC func; public: CMyClass() func0=CMyClass: Add; func1=CMyClass: Sub; func2=CMyClass: Mul; func3=CMyClass: Div; number=0 ; int CallFunction(int i, int j) *error* return(funci)(j); ; void main() CMyClass m

3、yobj; cout 2 int fun(char*data) 3 4 5 6 void main() 7 8 char Str1 024; 9 cout clasS TestClasS public: TestClass(int data=0) this一 data=data; this一 next=NULL; ; int data; TestClass*next; ; void Insert(TestClas s*P, int data) TestClass*temp=new TestClass (data); TestClass*pParent=p; TestClass*pNext=p一

4、 next; while(pNext) if(datapNext一 data) *1* temp一 next=pNext; return, E1se pParent=pNext ; *2* if(pNext=NULL) PParent一 next=temp; return; void printf(TestClass*P) *3* while() coutnext一 datanext; coutnext; delete templ; templ=temp2; void main() int i=0 ; TestClass head; do int data; coutdata; if(data

5、=0)break; Insert( (3)将 “while()”补充完整为: while(p一 next!=NULL) (4)将 “TestClass*templ:; ”补充完整为: TestClass*templ=p一 next; 【试题解析】 在 VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的 math主函数开始入手,可以看出程序通过调用类 TestClass实现各种输出操作。 解题思路 (1)题目 1要求 “在父节点的 Next中保存新插入的节点的指针 ”。对于指针的操作pParent-next为 pParent的子结点,在父节点

6、的 Next中保存新插入的节点的 指针,即 “pParent-next=temp; “。 (2)题目 2要求 “把 pNext的子节点赋给 pNext本身 “。 pNe-next为 pNext的子结点,把 pNext的子节点赋给 pNext本身,即 “pNext=pNext-next; ”。 (3)注释 *3*下是判定 P的子节点不为空。 P的子节点是 p-next。程序中的 “while()”缺乏 P的子节点不为空的判断条件,所以修改为“while(p next!=NULL)”。 (4)题目 4要求 “用 tempi保存动态申请内存节点的链表 头 ”。 P为链表, p-next为链表头。程序中的语句 “TestClass*templ=; ”中 templ没有被赋值,所以修改为“TestClass*templ=p-next; ”。

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

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

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