对自己狠一点,逼自己努力刷二级C++试题,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我坚信一句话:只有自己足够强大,才有可能成功。
二级C++试题
【1】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,使它能运行正确的结果。
注意:不要改动其他语句,不得增行或删行,也不得更改程序的结构!
本程序要求屏幕输出:i=12345
注意:语句在/********error********/的下面。修改该语句即可,其他的语句不能修改。
试题程序:
#include
/********error********/
classTC()
{
public:
/********error********/
void~TC(){}
TC(inti)
{
cout<<'i'<<'='<<I<<ENDL;< p>
}
/********error********/
}
voidmain()
{
TCobj(12345);
return;
}
答案:(1)“classTC()”应改为“classTC”。
(2)“void~TC(){}”应改为“~TC(){}”。
(3)“}”应改为“};”。
【2】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(char*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。
例如:abcdcba或者l234321都认为是回文字符串。
如果串为空或一个字母时,均认为是回文字符串。
注意:不能修改程序的其他部分,只能补充IsPatin-dromes函数。
试题程序:
#include
#defineMAXLEN1024
boolIsPalindromes(char*string)
{
}
voidmain()
{
charstr[MAXLEN];
cout<<"请输入一行文字"<<ERDL;< p>
cin.getline(str,MAXLEN);
cout<<ISPALINDROMES(STR)<<ENDL;< p>
return;
}
答案:intlen=0:
for(;string[len]!=NULL;len++)//获取字符串
的长度
;
len--;//下标从0开始到1en-1
for(inti=0;i<LEN;I++,LEN--) p 第一个和最后一个比较,第二个和倒数第二个比较<>
if(string[i]!=string[1en])//不等说明不同,返
回0
return0;
}
return1;
【3】
综合应用题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示学生学号的类StulD,但类Stu-ID的定义并不完整。请按要求完成下列操作,将类StulD的定义补充完整,使程序的运行结果为
学生的学号为:20100401
学生名为:张三
删除学生学号为:20100401
(1)定义StuID类的私有数据成员IDvalue,用于表示学生的学号,学号为long型的数据。请在注释1之后添加适当的语句。
(2)完成默认构造函数StuID的定义,使StulD对象的默认值为:id=0,并把学生的学号赋给IDvalue,并输出“学生的学号为:”及学号。请在注释2之后添加适当的语句。
(3)完成默认析构函数StuID的定义,使StuID析构时输出“删除学生学号为:”及学号。请在注释3之后添加适当的语句。
(4)完成默认构造函数StuInf0的定义。对应两个默认参数:定义charstName[],其默认值为“noname”,定义long-stlD,其默认值设为0,并使它们赋值给相应的类数据成员。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include
#include(strin9.h>
classStulD
{
//********1********
public:
//********2********
{
IDvalue=id;
cout<<"学生的学号为:"<<IDVALUE<<ENDL;}< p>
//********3********
{
cout<<"删除学生学号为:"<<IDVALUE<<ENDL;}< p>
};
classStulnfo
{
private:
StulDid;
charname[20];
public:
//********4********
{
cout<<"学生名为:"<<STNAME<<ENDL;< p>
strcpy(name,SlName);
}
};
voidmain()
{
Stulnfost("张三",20100401);
}
答案:(1)应添加“longIDvalue;”。
(2)应添加“StuID(longid=O)”。
(3)应添加“~StuID()”。
(4)应添加“Stulnfo(charstName[]="noname",longstID=0):id(stID)”。
【4】
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
150
200
注意:错误的语句在//******error******的下面,修改该语句即可。
提示:定义Numl为一个整型数据位长的变量。
试题程序:
#include
//******error******
struct
{
//******error******
intNuml:1;
intNum2;
}
MyStruct;
voidmain()
{
MyStructmstr;
mstr.Num1=150;
mstr.Num2=15;
//******error******
int*ptr=&mstr.Numl;
cout<<*ptr<<ENDL;< p>
*ptr=200;
cout<<*ptr<<ENDL;< p>
}
答案:(1)“typedefstruct”。
(2)“intNuml:32;”或“intNuml;”。
(3)“int*ptr=(int*)&mstr;”。
【5】
简单应用题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。使sum(intn)能计算所有n的因子之和(不包括1和自身)。
注意:不能修改程序的其他部分,只能补充sum函数。
试题程序:
#include
intsum(intn)
{
}
voidmain()
{
cout<<SUM(10)<<ENDL;< p>
cout<<SUM(200)<<ENDL;< p>
cout<<SUM(400)<<ENDL;< p>
return;
}
答案:intall=0:
for(inti=2;i<N;I++)< p>
{
if(n%i==0)
{
all+=i:
}
}
returnall;
考无忧小编tips:
有时候经历越多越会明白,在这个世界上,总有几样东西是别人拿不走的。比如,你读过的书、看过的风景、复习过的二级C++试题,更包括你那些曾经被嘲笑过的梦想。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯