}
2.编写分别可求两个整型、浮点型和双精度型数和的重载函数,并写主函数调用之;
3.使用引用作为函数参数,编写一个交换两变量值的函数,并写主函数调用之。
C++模拟试题2
一、选择题(在A、B、C、D四个答案中选择一个正确的填入后面的括号中)
1.C++中,封装是借助于()达到的。
E.指针B.类C.数组D.函数
3.宏定义由()结束。
A.分号B.句号C.新行D.冒号
3.下面是关于一个类的友元的说法,其中不正确的是()
A.友元函数可以访问该类的私有数据成员
B.友元的声明必须放在类的内部
C.友元函数可以是类的成员函数
D.类与类之间的友元关系不能被继承
4.C++中声明常量的关键字是()。
A.constB.externC.publicD.enum
5.关于动态联编的下列描述中,错误的是()。
A.动态联编是以虚函数为基础的
B.动态联编时在运行时确定所调用的函数代码的
C.动态联编调用函数操作是使用指向对象的指针或对象引用
D.动态联编是在编译时确定操作函数的
6.下面函数()的表示方法说明它使用对象的引用作为参数。
A.test(pt*p)B.test(ptp)
C.test(pt&p)D.test(constP)
7.虚函数的调用()。
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
8.关于C++与C语言的关系的描述中,错误的是();
A.C语言是C++的子集;B.C语言与C++是兼容的;
C.C++对C语言进行了一些改进;D.C++和C语言都是面向对象的。
9.重载函数在调用时选择的依据中,()是错误的。
A.参数个数B.参数类型C.函数名字D.函数类型
10.下面的程序是关于函数承载的,假定A,B,C,D是它们可能的输出之一,其中正确的输出是()。
A.2510B.2010C.2011.4D.2014.076
源程序如下:
#include
intMultiply(intn1,intn2)
{
returnn1*n2;
}
floatMultiply(intf1,floatf2)
{
returnf1*f2;
}
voidmain()
{
inta1=10;
inta2=2.5;
floatb1=2.55;
floatb2=5.52;
cout<cout<}
二、判断下列描述正确性,对者划√,错者划×。
1.C++中数组元素的下标是从0开始,数组元素是连续存储在内存单元中的。
2.函数一定要有函数体。
3.在说明语句inta(5),&b=a,*p=&a;中b的值和*p值是相等的。
4.for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。
5.在C++中,定义函数时必须给出函数的类型。
6.对象引用作函数参数不如使用对象指针更方便。
7.说明或定义对象时,类名前必须要加class关键字。
8.C++语言中,允许单一继承,不允许多重继承。
9.面向对象方法具有三大特性:
封装性、继承性和继承性。
10.在共有继承中,派生类可以访问基类中的私有成员。
三、按要求写结果:
1.计算下列表达式的值:
(1)已知:
inti(10),j(5);
A.++i-j--;B.i=i*=j;C.i=3/2*(j=3-2);
(2)已知:
inta(5),b(3);计算下面表达式的值及a和b的值。
A.!
a&&b++;B.a||b+4&&a*b;
C.a=1,b=2,a>b?
++a:
++b;
2.写出下面程序的输出结果。
(1)#include
voidfun()
{
staticintn=25;
n--;
cout<<”n=”<}
voidmain()
{
for(inti=0;i<2;i++)
fun();
}
(2)#include
classBase
{
public:
voidSetc(chara){c2=(c1=a)-32;}
voidShow()
{cout<“<private:
charc1,c2;
};
voidmain()
{
Basea,b;
a.Setc(‘a’);
b.Setc(‘b’);
a.Show();
b.Show();
}
(3)定义类Tpoint如下:
classTPoint
{
public:
TPoint(intx,inty){X=x;Y=y;}
TPoint(TPoint&p);
~TPoint(){cout<<”destructorCalled.\n”;}
intGetX(){returnX;}
intGetY(){returnY;}
private:
intX,Y;
};
TPoint:
:
TPoint(TPoint&p)
{
X=p.X;
Y=p.Y;
}
并将其存入tpoint.h文件中,分析并写出下面主函数的执行结果:
#include
#include
voidmain()
{
TPointP1(5,7);
TPointP2(P1);
cout<<”P2=”<}
四、编程或程序填空。
1.在下划线处填上正确的语句成分,并编写一个测试主程序。
#include
classTest
{
public:
Test(inta,intb){___
(1)______}
voidshow(){____
(2)_____}
private:
intx,y;
};
2.编写分别可计算2、3或4个int型数的和的重载函数,并写主函数调用之;
3.设计一个类,使它具有一个求两个整数中较大者的成员函数以及输出成员函数,并写一个测试程序。