计算机等级考试题库,二级C++试题及答案

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


在这个天气凉爽的季节,考无忧小编想悄悄告诉你:下一次的计算机二级考试也很快到来的!赶紧刷二级C++试题及答案吧!


二级C++试题及答案

【1】

综合应用题

用vc++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了多个类,其中定义的类并不完整,按照要求完成下列操作,将类的定义补充完整;使其输出如下:

TC2

TC3

TCl

(1)类TC2公共继承于TC1,请在注释1后添加适当的语句。

(2)print函数为虚函数,请在注释2后添加适当的语句。

(3)修改语句,使得p指定对象0bj3,请在注释3后添加

适当的语句。

(4)修改语句,利用P调用print函数,完成输出信息,在注释4后添加适当的语句。

注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

试题程序:

#include

usingnamespacestd;

classTCl

{

public

voidprint()

{

cout<<"TCl"<<ENDL:< p>

}

};

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

classTC2

{

public

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

voidprint()

{

cout<<"TC2"<<ENDL;< p>

}

};

classTC3:publicTC2

{

public

voidprint()

{

cout<<"TC3"<<ENDL;< p>

}

};

intmain()

{

TC20bj2;

TC30bj3;

TC1*P;

obj2.print();

obj3.print();

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

p=obj3;

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

P.print();

return0;

}

答案:(1)将“classTC2”补充完整为“classTC2:publicTCl”。

(2)将“voidprint()”补充完整为“virtualvoidprint()”。

(3)将“p=obj3;”修改为“p=&obj3;”。

(4)将“P.print();”修改为“p->print();”。

 

【2】

简单应用题

使用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;

}

}

}

 

 

【3】

综合应用题

使用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;”。

 

【4】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include(iostream.h)

voidfun(char*s1,char*s2)

{

}

voidmain()

{

charsi[100】,s2【1OO];

cout<<"Pleaseenterstringstrin9:"<<ENDL;< p>

cin.getline(s1,100);

fun(s1,s2);

cout<<"Theresultis:"<<S2<<CNDL< p>

return;

}

答案:inti;

for(i=0;s1[i]!=0;i++)//循环判断每一个字符

{

if(i%2==0)//判断字符串中下标为偶数位置

{

s2[i]=s1[3];

s2[i+1]=s1[i];

s2[i+2]='\0';//新串添加尾符

}

}

 

 

【5】

简单应用题

使用VC++6.0打开考生文件夹下的源程序文件

2.cpp。请完成函数fun(intx),该函数的功能是将X的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。

例如x=6,6的二进制数为110,则输出到屏幕的数为110。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

#include(iostream)

#include(fstream)

#include(cmath)

usingnamespacestd;

voidWriteFile(char*str)

{

ofstreamout1;

out1.open("2.txt",ios—base::binary|ios_base::app);

for(inti=0;str[i]!=0;i++)

out1.put(str[i]);

out1.close();

}

voidfun(intx)

{

}

voidClearFile()

{

ofstreamout1;

out1.open("2.txt");

out1.close();

}

intmain()

{

ClearFile();

fun(13);

return0;

}

答案:charstr[32];

inti;

for(i=30;i>=0;i--)//计算二进制

{

if(x%2)str[i]='1';//求余,如果余不为零字符串

str第i位为1

elsestr[i]='0';//否则为0

x>>=1;

if(!x)break;

}

str[31]='\0';//串加尾符

cout<<&str[i]<<ENDL;< p>

writeFile(&str[i]);




考无忧小编tips

只要一直走下去,一直坚持复习以上的二级C++试题,蓦然回首,你会发现,坚持的每一处,都是曾经想要放弃时以为到达不了的地方!




文章推荐:

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

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

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


温馨提示:

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

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

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



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