计算机二级C上机考试程序改错题及答案
为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C上机考试程序改错题及答案,供参考练习,预祝考生们考出自己理想的成绩!
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
10
6
30
2
2
注意:错误的语句在//******error******的'下面,修改该语句即可。
试题程序:
#include
classTC
{
private:
intnumber;
intAdd(inti)
{
returnnumber+=i:
}
intSub(inti)
{
returnnumber-=i:
}
intMul(inti)
{
returnnumber*=i:
}
intDiv(inti)
{
if(i!=O)
{
returnnumber/=i;
}
else
returnnumber;
}
//******error******
typedefint(FUNC)(int);
//******error******
FUNCfunc[];
public:
TC()
{
fune[0]=TC::Add;,
fund[1]=TC::Sub;
func[2]=TC::Mul;
func[3]=TC::Div;
number=0;
}
intCallFunetion(inti,intj)
{
//******error******
return(func[i])(j);
}
};
voidmain()
{
TCmyobj;
cout<<myobj.callfunction(0,10)<<endl;
cout<<myobj.callfunction(1,4)<<endl;
cout<<myobj.callfunction(2,5)<<endl;
cout<<myobj.callfunction(3,15)<<endl;
cout<<myobj.callfunction(3,o)<<endl;
}
解析:
(1)应改为:“typedefint(TC::*FUNC)(int);”。
(2)应改为:“FUNCfunc[4];”。
(3)应改为:“return(this->*fund[i])(j);”。
【解析】在类中定义函数指针须指定类名及指针定义运算符*,因此第1处函数指针正确的定义为“typedefint(TC::*FUNC)(int);”。函数指针数组本身是数组类型,因此在定义时如果没有初始化,就必须指定数组大小,在本题中因为指针数组包含的指针变量需要指向4种算数运算,因此定义指针数组大小为4,即第2处应改为“FUNCfunc[4];”。func是指针数组,因此访问时需要有指针运算符“*”,第3处应改成“return(this->*func[i])(j);”。
-
2016年二级JAVA考试预测试卷及答案
一、基本操作题(共18分)本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,并输出比较结果。publicclassjaval{publicstaticvoidmain(String[]args){;cl=’A’;c2=’a’;Stringstrl=newString("A"),str2=newString("a"...
-
2016计算机二级《C语言》练习题及答案
2016年3月计算机考试即将在3月26日-29日进行,为了帮助大家顺利通过2016年计算机二级考试,下面本站小编为大家带来2016计算机二级《C语言》练习题及答案,供大家参考学习,预祝考生备考成功!1[单选题]有以下程序:程序运行后的输出结果是()。A.10,One*Dream!B.9,One*Dream...
-
2012年9月全国计算机二级考试C语言真题
(11)以下叙述中正确的是A)在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预...
-
计算机二级《MS Office》判断习题及答案
计算机二级考试是全国计算机等级考试四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是小编整理的计算机二级《MSOffice》判断习题及答案,欢迎大家阅读学习。计算机二级《MSOffice》...