厦门大学软件学院C++期末考试热身卷

别妄想泡我
836次浏览
2021年03月03日 06:36
最佳经验
本文由作者推荐

邓丽君小村之恋-珍爱生命预防溺水

2021年3月3日发(作者:梨树一中)




软件学院《


C++


程序设计》考试热身卷(


1




备注:试卷需要收回!学号:



2432











姓名:王崇菲



选择题



1


、有函数原型


void test(int a,int b=7,char *c=


下面函数调用中,不合法的调用()







A)test(5);



B)test(5,8);



C)test(6,




D)test(0,0,


2


、下面有 关重载函数的说法中正确的是()



< br>


A)


重载函数必须具有不同的返回值类型;




B)


重载函数形参个数必须不同;



C)


重载函数必须有不同的形参列表




D)


重载函数名可以不同;



3


、下列关于构造函数的描述中,错误的是()







A)


构 造函数可以设置默认参数;




B)


构造函数在定义类对象时自动执行









C)


构造函数可以是内联函数;





D)


构造函数不可以重载



4


、下列关于类和对象的叙述中,错误的是




A


)类是对某一类对象的抽象



B


)对象是类的具体实例




C




一个类只能有一个对象










D


)类和 对象的关系是一种数据类型与变量的关系



5

< br>、下列关于运算符重载的叙述中,正确的是




A


)通过运算符重载,可以定义新的运算符




B


)有的运算符只能作为成员函数重载




C


)若重载运算符

< br>+


,则相应的运算符函数名是


+



D


)重载一个二元运算符时,必须声 明两个形参



6


、已知在一个类体中包 含如下函数原型


: VOLUME operator-(VOLUME)const;


,下列关于这个


函数的叙述中,错误的是




A


)这是运算符


-


的重载运算符函数



B


)这个函数所重载的运算符是一个一元运算符




C


)这是一个成员函数



D


)这个函数不改变类的任何数据成员的值



7


、有如下类声明:



class Foo



{


int bar;


};


则< /p>


Foo


类的成员


bar

< br>是




A


)公有数据成员





















B


)公有成员函数




C


)私有数据成员





















D


)私有成员函数


< br>8


、在下列函数原型中,可以作为类


AA


构造函数的是




A



void AA(int);





















B



int AA( );



C



AA(int)const;





















D



AA(int);


9


、下列关于


this


指针 的叙述中,正确的是




A

< p>
)任何与类相关的函数都有


this


指针





B


)类的成员函数都有


this


指针




C


)类的友元函数都有


this


指针












D


)类的非静态成员函数才有


this


指针



10


、设有如下说明



typedef struct ST



{



long a;


int b;


char c[2];



} NEW;



则下面叙述中正确的是()




A


)以上的说明形式非法




















B



ST< /p>


是一个结构体类型



< br>C



NEW


是一个结构体类型< /p>



D



NEW< /p>


是一个结构体变量



11


、下列关于对象初始化的叙述中,正确的是



A


)定义对象的时候不能对对象进行初始化



B


)定义对象之后可以显式地调用构造函数进行初始化



C


)定义对象时将自动调用构造函数进行初始化



D


)在一个类中必须显式地定义构造函数实现初始化

< p>


12


、若在表达式


y/ x


中,



/


” 是作为成员函数重载的运算符,则该表达式还可以表示为



A



or/(Y)
























B



operator/(x,Y)


C



or/(x)

























D



operator/(y,x)


13


、某类中有一个无参且无返回值的常成员函数


Show


,则正确的


Show


函数原型是



A



const void Show()




















B



void const Show()




C



void Show()const





















D



void Show



const





14


、下列叙述中正确的是



A


)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的< /p>



B


)线性表的链式存储结构所需要的存 储空间一般要多于顺序存储结构



C


) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构



D


)上述三种说法都不对


< p>
15


、为了提高函数调用的实际运行速度,可以将较简单的函数定义为




A


)内联函数



B


)重载函数



C


)递归函数



D


)函数模板



16


、下列关于析构函数的描述中,错误的是




A


)析构函数可以重载













B


)析构函数由系统自动调用




C


)每个对象的析构函数只被调用一次





D


)每个类都有析构函数



17


、已知:


int a,&ra=a ;


关于


ra


的描述中正确的是



(




)


A. ra


int


型变量


a


的地址值









B. a



int


型变量

ra


的地址值



C. ra



int


型变量


a< /p>


的引用










D. ra



int


型变量


a

< br>的指针



18


、重载函数在调用 时选择的依据中


,


错误的是



(




)


A


.参数个数



B


.参数类型



C


.函数名字



D.


函数类型



19


、要求通过函数来实现一种不太复杂的功能


,

< p>
并且要求加快执行速度


,


选用

( ).


A


.内联函数



B


.重载函数



C


.递归调用



D


.嵌套调用



20


、下述静态数据成员的特性中,错误的是



( )



A


.说明静态数据成员时前边要加修饰符


static


B


.静态数据成员要在类体外进行初始化



C< /p>


.引用静态数据成员时,要在静态数据成员前加〈类名〉和作用域运算符

< br>


D


.静态数据成员不是所有对象所共有的



21


、在


C++



,


关于下列设置参数默认值的描述中


,


正确的是



( )



A


.不允许设置参数的默认值



B


.设置参数默认值只能在定义函数时设置



C


.设置参数默认值时


,


应该是先设置右边的再设置左边的



D


.设置参数默认值时


,


应该全部参数都设置



22


、在


C++


中,


cin


是个



A


.类





B


.对象






C


.模板








D


.函数



2 3


、下列程序段中包含


4


个函数,其中 具有隐含


this


指针的是



int fun();


class Test{




public:


int fun2();




friend int fun3();


static int fun4();


};


A



fun1




B



fun2





C



fun3







D



fun4


填空题



C++


语言中使用


const


定义常量时需要指出常量类型



_



_


常量名


_


和常量值


_




函数调用


excc((v1,v2),(v3,v4,v5),v6);


语句中实参的个数是


_____3




_.


在用


class


定义一个类时,数据成员和成员函数的默认访问权限是(






private











在下面 程序的横线处填上适当的语句,使该程序执行结果为


10.






#include


using namespace std;


class MyClass






{



public:








MyClass(int a){x = a;}










int getnum(){return x;}




//



x


< br>








private








int x;






};






int main()






{



MyClass my(10);


cout<<()<



return 0;






}


5

、非成员函数应声明为类的(友元)函数才能访问这个类的


private


成员。



6


、判断题: 静态数据成员是属于某个对象的。




F


7


、判断题:没有参数的两个函数 也可以重载。




F



三、简答题



请描述静态数据成员的特性和静态成员函数在访问数据成员


(包括静态数据成员和非静 态数


据成员)时的要求;



静态数据成 员为类的所有对象所共有,


一旦数据值发生变化,


则在所有类对 象中该值均发生


变化。



静态成员函数 可以直接访问该类的静态数据成员和成员函数,


单数需要通过对象名来访问非

< p>
静态数据成员



使用


co nst


修饰类的成员函数有什么优点?



不会改变对象数据成员的值,更有安全性



C++


异常处理机制有何优点?



避免局部错误造成程序的全盘崩溃,提高程序的安全性和稳固性



定义了用于表示日期的类


Date,


请 按要求完成下列操作


,


将类


Date< /p>


的定义补充完整


:


< p>


1



定义私有数据成员


year,month



day


分别用于表示年


,



,



,


它们都是


int


型的数据


.



2



完成默认构造函数


Da te


的定义


,


使


Date


对象的默认值为


:year=1,month=1, day=1,




3


)完成重载构造函数


Date(int y,int m,int d)


的定义,把数据成员


year,month



day


分别初


始化为参数


y,m,d


的值




4


)完成成员函数


print


的类外内联定义,使其以"年-月-日"的格式将


Date

对象的值


输出到屏幕上.



class Date


{



int year;



int month;



int day;


public:



Date():year(1),month(1),day(1){}



Date(int y,int m,int d):year(y),month(m),day(d){}



void print();


};


void Date::print()


{



cout<


}


四、程序结果运行题



#include


void fun(int& x, int y) { int t = x; x = y; y = t; }


int main( )


{



int a[2] = {23, 42};



fun(a[1], a[0]);



std::cout<< a[0] <<



return 0;


}


程序结果:



42,23



#include


using namespace std;


class Test{




pulbic:





Test()



{ cout<<2; }





Test(const Test &t)



{ cout<<1;}


};


Test fun(Test &u)




{Test t=u; return t; }


int main( )



{ Test x,y;



x=fun(y);



return 0;



}


程序结果:



2211




#include


using namespace std;


class AA{




int n;

邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水


邓丽君小村之恋-珍爱生命预防溺水