【盘点】二级C++试题

发布于 2019-04-29 15:38  编辑:simi
0
计算机等级考试题库 扫码微信刷题


因害怕失败而不敢放手一搏,是不会成功。因害怕计算机等级考试不过关而不去尝试做二级C++试题,永远不能战胜自己。



二级C++试题及答案

【1】

简单应用题

使用vC++6.0打开考生文件夹下的源程序文件2.cpp,请实现函数fun(doublea[],intlen)的如下功能:

(1)a[]是一个数组,长度为len。

(2)a[0]=0,a[1]=1。

(3)a[i+2]=a[i]+a[i+1]

注意:不能修改函数的其他部分。

试题程序:

#include(iostream)

voidfun(doublea[],intlen)

{

}

voidmain()

{

doublea[20];

fun(a,20);

for(inti=0;i<20;i++)

{

std::cout<<A[I]<<'';< p>

if(i%6==5)

std::eout<<STD::ENDL;< p>

}

return;

)

答案:voidfun(doublea[],intlen)

{

if(1en>O)

a[0]=0

if(1en>1)

a[1]=1;

for(inti=2;i<1en;i++)

a[i]=a[i-1]+a[i-2];

}

 

 

 

【2】

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

(1)在类TC中定义name为字符串类型,age为int型,请在注释1之后添加语句。

(2)设置类TC0的基类为TC类的定义,请在注释2后添加语句。

(3)在类TC的派生类TC0的公有成员中定义析构函数TC0,请在注释3后添加语句。

(4)设置类TCl的基类为TC类的定义,请在注释4后添加语句。

程序输出结果为

TCclassconstructor

TC0classconstructor

TConclassconstructor

TClclassconstructor

TClclassconstructor

TCclassconstructor

TC0classconstructor

TCclassconstructor

注意:增加或者修改代码的位置已经用符号表示出来一请不要修改其他的程序代码。

试题程序:

#include

classTC

{

//********1********

public

TC(){cout<<"TCclassconstructor"<<ENDL;)~< p>

TC(){tout<<"TCclassconstructor"<<ENDL;)< p>

};

//********2********

{

char*departmert;

intlevel;

public

TCO()

{cout<<"TCOclassconstructor"<<ENDL;)< p>

//********3********

{cout<<"TC0classconstructor"<<ENDL;)< p>

};

//********4********

{

char*maior

floatsalary;

public

TCl(){cOUt<<"TClclassconstructor"<<ENDL;)~< p>

TCI(){COUt<<"TClclassconstructor"<<ENDL;)< p>

};

voidmain()

{

TC0sl;

TCItl;

}

答案:(1)应添加“char*name;intage;”。

(2)应添加“classTC0:publicTC”。

(3)应添加“~TCO()”。

(4)应添加“classTC1:publicTC”。

 

 

 

 

【3】

程序改错题

使用VC++6.0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。

注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。

试题程序:

#include

voidmain()

{

inti=0;

charstr[120];

cout<<"Enterastringendwith'?'."<<ENDL;< p>

//********error********

cin.getline(str,120);

//********error********

while(str)

{

//********error********

if(str[i])='a')

str[i]=str[i]-'a'+'A';

i++;

}

cout<<STR<<ENDL;< p>

return;

}

答案:(1)应改为“ein.getline(str,120,'?');”。

(2)应改为“while(str[i])”。

(3)应改为“if(str[i]>='a'&&str[i]<='2')”。

 

 

 

 

【4】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,实现函数sort(intA[],intn),用选择排序法将数组从大到小排序。

提示:选择排序法的思想是

(1)反复从还未排好序的那部分线性表中选出关键字最小的结点。

(2)按照从线性表中选出的顺序排列结点,重新组成线性表。

(3)直到未排序的那部分为空,使得重新形成的线性表是一个有序的线性表。

补充函数sort(intA[],intn),实现选择排序。

注意:请勿改动主函数。

试题程序:

#include

#defineN10

voidsort(intA[N],intn)

{

}

intmain()

intA[N]={-72,54,-6,7,18,102,0,4,-11,1};

sort(A,10);

for(inti=0;i(sizeof(A)/sizeof(int);i++)

{

cout<<A[I]<<'';< p>

}

cout<<ENDL;< p>

return0;

}

答案:inti,j;

for(i=O;i<N-1;I++)< p>

{

for(j=0;j<N-1-I;J++)< p>

{

if(A[j]>A[j+1])//如果前面的数比后面的大则

进行交换

{

intt=A[j];//进行交换

A[j]=A[j+1];

A[j+1]=t;

}

}

}

 

 

 

【5】

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下:

从屏幕输入数字,然后由大到小插入到指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。

其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

(1)在父结点的Next中保存新插入的结点的指针,请在注释1后添加适当的语句。

(2)把pNext的子结点赋给pNext本身,请在注释2后添加适当的语句。

(3)判定P的子结点不为空,如果不为空,则打印P中的数据到屏幕,请在注释3后添加适当的语句。

(4)用t1保存动态申请内存结点的链表头,请在注释4

后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数

main与其他函数中的任何内容。

试题程序:

#include

classTC

{

public

TC(intdata=O)

{

this->data=data;

this->next=NULL;

}

intdata;

TC*next;

};

voidInsert(TC*P,intdata)

{

TC*temp=newTC(data);

TC*pParent=P

TC*pNext=p-)next

while(pNext)

{

if(data>pNext->data)

{

//********1********

temp->next=pNexti

return;

}

else

{

pParent=pNext;

//********2********

}

}

if(pNext==NULL)

{

pParent->next=temp;

return;

}

}

voidprintf(TC*p)

{

//********3********

while()

{

cout<next->data<<"";

P=P->next;

}

cout<<ENDL;< p>

}

voidDelete(TC*p)

{

//********4********

TC*t1=;

TC*t2;

while(t1!=NULL)

{

t2=t1->next

deletetl;

t1=t2

}

}

voidmain()

{

inti=0;

TChead

do

{

intdata;

cout<<"请输入一个数字:"<<ENDL;< p>

cin>>data;

if(data==O)break;

Insert(&head,data);

}while(1);

printf(&head);

Delete(&head)

return;

}

}

答案:(1)应添加“pParenl->next=telnp;”。

(2)应添加“pNext=pNext->next;”。

(3)将“while()”补充完整为“while(P->next!=NULL)”。

(4)将“TC*t1=;”补充完整为“TC*t1=P->next;”。



考无忧小编tips

开始努力刷二级C++试题吧!在备考这个过程中你必须放弃很多东西,但你要明白它们都不是你最终想要的,你要相信在你成功以后,总有一天它们会再回来,而且比现在更美好!



文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

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

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


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