《面向对象程序设计(C++)》期末考试试题_第1页
《面向对象程序设计(C++)》期末考试试题_第2页
《面向对象程序设计(C++)》期末考试试题_第3页
《面向对象程序设计(C++)》期末考试试题_第4页
《面向对象程序设计(C++)》期末考试试题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《面向对象程序设计(C++)》期末考试试题一、简答题(10分)1.(3分)什么是引用?它与指针有什么区别?2.(3分)运算符重载有哪两种形式?这两种形式有何区别?3.(4分)构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?二.填空题(20分,每空2分)1.C++程序中的数据可以分为两大类,其中

是指在程序执行过程中值不改变的数据;

是程序中用于存储信息的单元,并对应于某个内存空间。2.表示逻辑关系“a大于等于8或者a小于等于5”的C++表达式是

。3.C++语言的流程控制语句的基本控制结构有三种,分别是

。8.假设x=5,y=0,z=3,则表达式!x||y++&&z的值为

,执行表达式后y的值为

。10.若要把类bClass定义为类aClass的友元类,则应在类

的定义中加入语句

。三、选择题(20分,每题2分)1.在下列选项中,合法的C++变量名是

。A.long

B._2Test

C.3Dmax

D.A.dat2.下列语句中,错误的是

。A.inti,*ptr=&i;

B.inti;int*ptr;i=*ptr;C.int*ptr;ptr=0;

D.inti=5;int*ptr;*ptr=&i;3.已知枚举类型enumDay{Monday,Tuesday,Wednesday,Friday=2};下列语句中,

是合法的。A.Wednesday==Friday?1:0

B.Dayday;

day=3;C.Dayday;

day=Monday+3;

D.Tuesday=4;4.在“inta=10,*p=&a;”语句中,p的值是

。A.10

B.变量p的地址

C.变量a的地址

D.随机数5.下列有关设置函数参数默认值的描述中,

是正确的。A.对设置函数参数默认值的顺序没有任何规定B.函数具有一个参数时不能设置默认值C.默认参数要设置在函数的定义语句中,而不能设置在函数说明语句中D.设置默认参数可使用表达式,但表达式中不可用局部变量6.下列关于运算符重载的描述中,

是正确的。A.运算符重载可改变其优先级

B.运算符重载不改变其语法结构C.运算符重载可改变其结合性

D.运算符重载可改变其操作数的个数7.为了使类中的成员能够被类的对象通过成员运算符访问,则应该把成员的访问权限定义为

。A.public

B.protected

C.private

D.packaged8.下列各函数的说明中,表示纯虚函数的是

。A.virtualintvf(int);

B.intvf(int)=0;C.virtualintvf(int)=0;

D.virtualintvf(int){}9.假设类AB用成员函数的方式重载加法运算符,以实现两个AB类对象的加法,并返回相加的结果,则该成员函数的声明为

。A.ABoperator+(AB&a,AB&B);

B.ABoperator+(AB&);C.operator+(ABa);

D.AB&operator+();10.下列对C++中静态数据成员的描述中,正确的是

。A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象来调用四、读程题(20分,每题5分)1.给出下列源程序的输出结果。#include<iostream.h>voidmain(){intx=5,y=2;cout<<!(y==x/2)<<",";cout<<(y!=x%3)<<",";cout<<(x>0&&y<0)<<",";cout<<(x!=y||x>=y)<<endl;}2.给出下述源程序的运行结果。#include<iostream.h>intadd(int*x,intn){

intsum,i;for(sum=0,i=0;i<n;i++)sum+=*(x+i);returnsum;}voidmain(){intarr[]={1,3,5,7};cout<<add(arr,4)<<endl;}3.给出下述源程序的运行结果。#include<iostream.h>classBase{public:voidfun(){cout<<"1";}};classDerived:publicBase{public:voidfun(){cout<<"2"<<endl;}};voidmain(){Deriveda;Base*p=&a;(*p).fun();a.fun();}4.给出下述源程序的运行结果。#include<iostream.h>#include<string.h>voidmain(){chara[]=“changuage”,t,m;inti,j,k;k=strlen(a);for(i=0;i<=k-2;i+=2){m=i;for(j=i+2;j<=k;j+=2)

if(a[m]>a[j])

m=j;if(m!=i){

t=a[i];a[i]=a[m];a[m]=t;}}cout<<a<<endl;}五编程题(每题15分,共30分)1.定义并实现一个类Myst,使下列语句能够正常运行。Myst

x(3.2),y(5,5),z(0.0);z=8.9–y;y=x–6.3;2.在一个程序中,类Per

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论