2019年计算机二级C++模拟试题(二)
2019年计算机二级C++模拟试题
1.阅读以下程序
#include(iostream.h>
voidmain( )
{
charline[10];
cin>>line;
cout<<1ine<}
如运行时输入“Thisisanexample.”,则程序的输出结果是( )。
A.This
B.Thisis
C.Thisisa
D.Thisisanexample
答案:A。【解析】本题考查C++中cin输入流对象的使用规则,其特点是以空格、回车和tab为分隔符。因此this和is之间的空格告诉cin对象停止接收后面的数据。故正确答案为A。
2.类MyClass的定义如下,若要对value赋值,则下面语句正确的是( )。
classMyClass
{
public:
MyClass( ){}
MyClass(inti){value=newint(i);}
int*value;
};
A.MyClassmy;my.value=10;
B.MyClassmy;*my.value=10;
C.MyClassmy;my.*value=10;
D.MyClassmy(10);
答案:D。【解析】因题目中定义的指针value是指淘变量i的,所以直接利用语句MyClass(inti){value=newint(i);}对value进行赋值即可。
3.类A是类B的友元,类B是类C的友元,则下列说法正确的是( )。
A.类B是类A的友元
B.类C是类A的友元
C.类A是类C的友元
D.以上都不对
答案:D。【解析】选项A、B和C都不正确,因为友元关系是单项的,并且没有交换性、传递性。
4.如有以下程序:
#include(iostream>
usingnamespacestd;
longfun(intn)
{
if(n)2)
return(fun(n-1)+fun(n-2));
else
return2;
}
intmain( )
{
cout
}
则该程序的输出结果应该是( )。
A.2
B.3
C.4
D.5
答案:C。【解析】主函数中调用fun(3),在fun内部当n>2时,递归调用fun(n-1)+fun(n-2),否则返回2。所以当n=3时,调用fun(2)+fun(1),即返回2+2,等于4。
5.下列程序执行结果是( )。
#include(iostream.h)
classA
{public:
inta;
A( ):a(10){cout<};
voidmain( )
{Aobj1;
Aobj2(obj1);
cout<<""<}
A.1010
B.编译错误缺少拷贝构造函数
C.10随机数
D.随机数随机数
答案:A。【解析】本题考查拷贝构造函数的知识。如果类中没有实现拷贝构造函数可以完成数据成员的自动赋值,对于复杂对象,则可能需要显式定义拷贝构造函数。
更多2019年计算机二级C++模拟试题,请继续关注环球网校计算机二级频道。需要及时了解考试动态的小伙伴可“ 免费预约短信提醒”届时环球网校会及时为大家推送2019年计算机二级考试相关信息提醒。环球网校友情提示:对于想要参加计算机二级考试的小伙伴们,环球网校特地为您准备了计算机二级考试资料,相关信息请持续关注哦!