天气炎热,希望大家静心刷计算机等级考试题库!祝大家都能一次性通过考试!认真复习以下的二级C++语言试题。
1.下列关于纯虚函数与抽象类的描述巾,错误的是( )。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类声明了纯虚函数,该基类的派生类一定不是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
答案:C。【解析】纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型作为继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。
2.以下程序的输出结果是( )。
#include
longfun(intn)
{longs;
if(n=-1‖n==2)s=2;
elses=n-fun(n-l):
returns;
}
voidmain( ){cout
B.2
C.3
D.4
答案:A。【解析】题中fun函数进行了递归调用,第1次调用时:fun(3)n=3,s=3-fun(2),第二次调用时:fun(2)n=2,s=2,返回第一次调用后,s=3-2=1。
3.对于模板定义关键字class和typename说法不正确的是( )。
A.程序中的class并不能都替换为typename
B.class和typename都可互相替换
C.程序中的typename都能替换为class
D.程序中的部分class可以替换为typename
答案:B。【解析】在C++程序中的typename是都可以替换为class的,但class不能都替换为typename。
4.有如下程序:
#include(iostream>
usingnamespacestd;
classCon
{
charID;
public:
Con( ):ID(’A){cout<<1;}
Con(charID):ID(ID){cout((2;)
Con(Con8Lc):ID(c.getlD( )){cout<<3;}
chargetID( )const{returnID;}
};
voidshow(Conc){cout
{
Conc1;
show(c1);
Conc2(’B’);
show(c2);
return0;
执行上面程序的输出结果是( )。
A.13A23A
B.23A13B
C.13A23B
D.13823A
答案:C。【解析】Concl定义cl对象,调用Con的无参数构造函数,输出1,ID值变为A,执行show(c1)时会调用拷贝构造函数,将cl对象的值复制给show函数的形参,此时输出3,然后在show()中输出cl的lD值A,Conc2(’B’)定义c2对象,调用Con(charID)构造函数,输出2,c2的ID值为B,show(c2)执行时先调用拷贝构造函数输出3,然后输出B。因此程序输出结果为“13A23B”。
5.有如下程序
#include(iostream.h>
voidmain( )
{charch[2][5]={"6937","8254"),*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j])’\0’;j+=2)
s=10*s+p[i][j]一’0’;
cout<该程序的输出结果是( )。
A.69825
B.63825
C.6385
D.693825
答案:C。【解析】该题主要要搞清楚以下几点:①定义了一个指针数组char*p[2]后,程序中第一个循环“for(i=0;i(2;i++)p[i]=ch[i]”的作用是使指针数组的p[0]元素(它本身是一个指针)指向了二维数组ch的第一行字符串,并使指针数组的p[1]元素指向了二维数组ch的第二行字符串,这样,就使指针数组P和二维数组ch建立起了一种对应关系,以后对二维数组ch的某个元素的引用就有两种等价的形式:ch[i][j]或p[i][j]。②对二维数组ch的初始化,使其第一行ch[0]中存入了字符串“6937”,第二行ch[1]中的内容为字符串“8254”。③程序中第二个循环中的循环体“s=s*10+p[i][j]-’0’”的功能是这样的,每执行一次,将s中的值乘以10(即将s中的数值整体向左移动一位,并在空出来的个位上添一个0),再将当前p[i][j]中的字符量转换为相应的数字,然后把这个数字加到s的个位上。④注意到内层循环的循环条件p[i][3]>’\0’是指p[i][j]中的字符只要不是字符串结束标志’\0’就继续循环,语句j+=2;是使下标j每次增加2,即一个隔一个地从p[i]所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从p[0]所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从p[1]所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果s中的值应该是6385。
总而言之,还有十九天的时间就要考试了,赶紧复习以上的计算机二级C++语言试题,收获是与付出成正比的。千万不要忘记刷计算机等级考试题库哦!预祝大家都能够顺利考取计算机等级证书~加油吧!考无忧小编等着你们的好消息~
文章推荐:
2018年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯