计算机二级C上机考试试题及答案(精选4套)
在各领域中,我们或多或少都会接触到试题,借助试题可以更好地考查参试者所掌握的知识和技能。一份好的试题都是什么样子的呢?下面是小编为大家整理了计算机二级C++上机考试题及答案,希望能帮助到大家!

计算机二级C上机考试试题及答案 1
2016年计算机二级C上机考试试题及答案
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(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);
obj.Num1=4;
//********4********
obj.AddNum();
ohj.display();
}
voidmain()
{
TCmyObj(12,18);
myObj.display();
rune();
return;
}
(1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。
(2)应添加“friendvoidfunc();”。
(3)应添加“intTC:Num3=4;”。
(4)将“obi.AddNum()”补充完整为“obj.AddNum(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)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。
计算机二级C上机考试试题及答案 2
试题1:班级通讯录程序填空题
给定程序的功能是调用fun函数建立班级通讯录,记录每位学生的编号、姓名和号码。通讯录中的`数据写入名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容,使程序能够正确运行。
void fun() {
FILE *fp;
int i;
if ((fp = fopen("myfile5.dat", "wb")) == NULL) return(0);
printf("Output data to file!\n");
for (i = 0; i < N; i++) {
fwrite(td[i], sizeof(STYPE), 1, fp);
}
fclose(fp);
return(1);
}
试题2:字符串反转程序修改题
给定程序fun的功能是将字符串中的字符按正序存入s,然后将剩余字符按逆序连接到s的末尾。例如,当输入字符串为“ABCDE”时,输出应为“ABCDEEDCBA”。请改正程序中的错误,使其能够正确运行。
void fun(char *s, char *t) {
int i, len = strlen(s);
for (i = 0; i < len / 2; i++) {
char temp = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = temp;
}
}
试题3:矩阵操作题
给定程序中的fun函数功能是:将N*N矩阵的主对角线对称元素相加,并将结果存放在左下三角元素中,右上三角元素置为0。例如,当N=3时,矩阵如下:
1 2 3
4 5 6
7 8 9
请在横线上填入正确的表达式或语句。
void fun(int (*t)[N]) {
int i, j;
for (i = 1; i < N; i++) {
for (j = 0; j < N; j++) {
t[i][j] = t[i][j] + t[j][i]; // 主对角线对称元素相加
t[j][i] = 0; // 右上三角元素置为0
}
}
}
计算机二级C上机考试试题及答案 3
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(char*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。
例如:abcdcba或者l234321都认为是回文字符串。
如果串为空或一个字母时,均认为是回文字符串。
注意:不能修改程序的其他部分,只能补充IsPatin-dromes函数。
试题程序:
#include
#defineMAXLEN1024
boolIsPalindromes(char*string)
{
}
voidmain()
{
charstr[MAXLEN];
cout<<"请输入一行文字"< cin.getline(str,MAXLEN); cout< return; } 答案: intlen=0: for(;string[len]!=NULL;len++)//获取字符串 的长度 ; len--;//下标从0开始到1en-1 for(inti=0;i if(string[i]!=string[1en])//不等说明不同,返 回0 return0; } return1; 【解析】本题由于字符串的长度是未知的,先利用循环求出字符串的长度,循环变量从0开始,直到数组的'末尾,string[len]==NULL为循环结束条件,如此便得到了数组的长度len。知道长度后就可以判断对称位置的元素是否相同,比如第一个元素和最后一个元素,第二个元素和倒数第二个元素,如此比较下去直到到了最中间的元素为止。可以利用循环来比较是否对称,设置另一个循环变量i,i从0开始表示从数组的头部开始读数,len从数组的尾部开始读数,如果string[i]!=slring[len],则跳出循环返回0,如果循环结束还没发现不同,则返回1。 综合应用题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示个人基本信息的类PInfo,但类PInfo的定义并不完整。请按要求完成下列操作,将类Pin-fo的定义补充完成: (1)定义私有数据成员bloodType用于表示血型,血型为char型的数据。请在注释1之后添加适当的语句。 (2)完成构造函数的定义,要求具有默认值,默认值为 身高175,体重70,血型A。请在注释2之后添加适当的语句。 (3)完成类PInfo外成员函数SetInfo的定义。请在注 释3之后添加适当的语句。 (4)在主函数main中调用成员函数Setlnfo,把对象d2的.3个私有数据成员分别设定为身高170,体重64,血型B。 请在注释4之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 试题程序: #include classPlnfo { private: intheight; intweight; //********1******** public: //********2******** :height(ht),weight(wt),bloodType(bt){}; Plnfo(Plnfo&h1):height(h1.height), weight(h1.weight),bloodType(h1.bloodType){} intGetHeight() { returnheight; } intGetWeight() { returnweight; } intGetBloodType() { returnbloodType; } voidSetlnfo(intht,intwt,charbt); voidDisplay(); }; //********3******** { height=ht; weight=wt; bloodType=bt; } voidPlnfo:Display() { cout<<"Humanlnf0:"; cout< Type"< } voidmain() { PInfoh1(169,61,’A’); Plnfoh2; Plnfoh3(h1); Plnfoh4(h2); //********4******** h1.Display(); h2.Display(); h3.Display(): h4.Display(); } 答案解析: (1)应添加“charbloodType;”。 (2)应添加“Plnfo(intht=175,intwt=70,charbt=’A’)”。 (3)应添加“voidPlnf0:Setlnfo(intht,intwt,charbt)”。 (4)应添加“h2.SetInfo(170,64,’B’);”。 【解析】本题第1处定义私有数据成员为chat:型的bloodType,故第1处应添加“charbloodType;”。构造Plnfo()完成3个成员的初始化,并且带有默认值参数,默认值为身高175,体重70,血型A,由函数体语句可知参数名分别为ht、wt和bt,因此第2处应添加“Pinto(intht=175,intwt=70,charbt=’A’)”。第3处的语句在类外完成成员函数Setlnfo的定义,在类外定义成员函数的格式为“(返回值类型><类名>:<成员函数)(<参数表>)”,故第3处应添加“voidPlnfo:Setlnfo(intht,intWt,charbt)”。调用函数Setlnfo需要3个参数,程序要求把对象d2的3个私有数据成员分别设定为身高170,体重64,血型为B,即把这3个值传入函数Setlnfo,因此第4处应添加“h2.Setlnfo(170,64,’B’);”。 【计算机二级C上机考试试题及答案】相关文章: 计算机二级C上机考试试题及答案06-22 计算机二级C语言考试上机冲刺试题及答案09-08 2016计算机等级考试二级C++上机模拟试题及答案07-14 计算机等级二级C语言上机模拟试题及答案10-25 华为C语言上机试题及答案07-01 计算机二级C上机考试试题及答案 4