二级C++试题【周末汇总】

发布于 2019-05-27 13:43  编辑:simi
0
计算机等级考试题库 扫码微信刷题


对自己狠一点,逼自己努力刷二级C++试题,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我坚信一句话:只有自己足够强大,才有可能成功。


二级C++试题.jpg

二级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

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1905/2752537.html
选择分享到: