2016下半年计算机二级C上机考试试题及答案
1.程序改错题
使用VC++6.0打开考生文件夹下的源程序文件,该程序运行时有错误,请改正其中的错误,使程序正确运行,并且使程序输出的结果为
0K
注意:错误的语句在//******error******的下面,修改该语句即可。
试题程序:
#include
classTC
{
public:
TC()
{
a=b=0:
}
private:
inta,b;
};
classTCl:publicTC
{
public:
TC1()
{
}
//******error******
virtualvoidfunc();
};
classTC2:publicTCl
{
public:
TC2()
{
a=0:
b=0:
}
voidfunc()
{
//******error******
cout<<"OK" }
private:
inta;
intb;
};
voidmain()
{
TC20bj;
//******error******
TCl*p=(TCl*)obj;
p->func();
}
(1)应改为“virtualvoidfunc()=0;”。
(2)应改为“cout<<"0K"<(endl;”。
(3)应改为“TCl*p=(TCl*)&obj;”。
【解析】本题中TCl类中的func函数是纯虚函数,纯虚函数的定义格式为virtual<函数类型><函数名>((参数表>)=0”,因此第1处的语句应为“virtualvoidfunc()=0;”。func函数没有参数表。编译程序后发现第2处的语句有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<"0K"<
2.综合应用题
使用VC++6.0打开考生文件夹下的源程序文件。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成TC的构造函数,请改正注释1后的错误。
(2)完成func函数定义,请改正注释2后的错误。
(3)初始化CmyClass的成员变量Num3为4,请改正注释3后的错误。
(4)完成func函数,请改正注释4后的错误。
输出的.结果为
Num1=12
Num2=18
Num3=16
Num1=4
Num2=2
Num3=19
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include
classTC
{
public:
//********1********
TC(inti,intj)
{
Numl=i;
Num3+=i:
}
voiddisplay()
{
cout<<"Num1="< cout<<"Num2="< cout<<"Num3="< }
voidAddNum(inti)
{
Num3+=i;
}
private:
intNum1;
constintNum2;
staticintNum3;
//********2********
};
//********3********
voidfunc()
{
TCobj(1,2);
1=4;
//********4********
um();
lay();
}
voidmain()
{
TCmyObj(12,18);
lay();
rune();
return;
}
(1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。
(2)应添加“friendvoidfunc();”。
(3)应添加“intTC::Num3=4;”。
(4)将“um()”补充完整为“um(2);”。
【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune();”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>::<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,1=1,2=2,Num3=16+1=17,1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“um(2);”。
3.简单应用题
使用VC++6.0打开考生文件夹下的源程序文件。阅读下列函数说明和代码。
函数func(intd口,intn)的功能是将长度为num的数组d中的奇数扩大1倍,并存储到数组d中。
例如:2,15,6,-3,8,-11,9,24,50
返回4,30,12,-6,16,-22,18,48,100
将func(intd[],intnum)函数补充完整。
注意:请勿改动主函数main。
试题程序:
#include
voidfunc(intd[],intnum)
{
}
intmain()
{
intData[]={2,15,6,-3,8,-11,9,24,50};
func(Data,9);
for(inti=0;i(sizeof(Data)/sizeof(int);i++)
{
cout< }
cout< return0;
}
for(inti=0;i {
if(d[i]%2!=O)
d[i]=2*d[i];
}
【解析】由审题分析可知,利用循环来逐个判断d[]中的元素,d[]中元素个数为hum,因此循环变量从0变化至num。在循环内,用if语句判断该元素是不是奇数,即if(d[i]%2!=0),将满足条件的d[i]扩大一倍。
更多计算机二级相关试题推荐:
1.2016年9月计算机二级C语言选择题及答案
2.2016计算机二级C语言测试题及答案[最新]
3.2016年计算机二级C语言基本知识点
4.2016年计算机二级c语言真题
5.计算机二级C语言机试题库及答案
6.计算机二级c语言试题及答案
7.2016年计算机二级C语言练习题及答案
8.2016年计算机二级C语言选择模拟题及答案
9.2016计算机二级C语言考前模拟试题及答案
10.计算机二级考试C语言试题与答案
-
成都学院2017上半年计算机考试报名通知
根据2017上半年(第48次)全国计算机二级考试(NCRE)报名工作的'通知,yjbys小编下面为你整理了关于成都学院2017上半年计算机考试报名通知,希望对你有所帮助。一、报名对象我校在校学生二、报名时间2016年11月29日至2016年12月8日三、报名方式请登录正方教务管理系...
-
计算机二级msoffice知识点积累
任何单位任何事情,首先强调的就是程序,因为管理界有句名言:细节决定成败。程序就是整治细节最好的工具。下面是小编整理的关于计算机二级msoffice知识点积累,欢迎大家参考!计算机病毒的特征和分类1.计算机病毒计算机病毒,是指编制或者在计算机程序中插入的破坏计算...
-
2017年9月计算机二级c语言考试试题基础版
英国著名诗人拜伦的女儿爱达·勒芙蕾丝曾设计了巴贝奇分析机上计算伯努利数的一个程序。她甚至还创建了循环和子程序的概念。下面是小编收集的关于计算机二级c语言考试试题,希望大家认真阅读!一、选择题1.下述标识符中,()是合法的用户标识符。A.A#Ch*2.在C...
-
2017年全国计算机一级考试试题及答案「精华版」
计算机网络它是这样定义的:存在着一个能为用户自动管理的网络操作系统。有它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。yjbys小编收集了一些全国计算机一级考试试题及答案,欢迎大家练习!1.现代计算机中采用二进制数字系统是因...