C面向对象程序设计试卷_第1页
C面向对象程序设计试卷_第2页
C面向对象程序设计试卷_第3页
C面向对象程序设计试卷_第4页
C面向对象程序设计试卷_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、上海应用技术学院20112012学年第一学期 面向对象程序设计 期(中)(B)试卷课程代码: B 学分: 3 考试时间: 100 分钟课程序号: 班级: 学号: 姓名: 我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守考场规则,如有违反将愿接受相应的处理。题 号一二三四五六七八九十总 分应得分20202436100实得分 试卷共 8 页,请先查看试卷有无缺页,然后答题。一、选择题(每题2分,共20分)1、在C+语言中函数返回值的类型是由_决定的。 A)调用该函数时系统临时 B)return语句中的表达式类型 C)定义该函数时所指定的函数类型 D)调用该函数时的主调函数类型2、在函数定义前加

2、上关键字inline,表示该函数被定义为_。 A)重载函数 B)内联函数 C)成员函数 D)普通函数3、假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为_。 A)MyClass &(MyClass x); B)MyClass (MyClass x) C)MyClass (MyClass &x); B)MyClass (MyClass *x)4、下面对于友元函数描述正确的是_。 A)友元函数的实现必须在类的内部定义 B)友元函数是类的成员函数 C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员5、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把

3、该成员的访问权限定义为_。 A)public B)protected C)private D)static6、下面对静态数据成员的描述中,正确的是_。 A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用7、关于new运算符的错误的描述是_。 A)使用运算符new创建对象数组时必须定义初始值 P=new type B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组 D)使用new运算符创建的对象可以使用运算符delete删除8. 下列给字符数

4、组进行初始化中,_是正确的。 A. char s1 =12345abcd; B. char s23=xyz; C. char s33= a, x, y; D. char s423=xyz,mnp;9、_是析构函数的特征。A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。;10、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,_是正确的。A *p p-m A A1A. A1.p=5; B. A1-p=5;C. A1.*p=5; D. *A1.p=5;二、填空题(每空2分,共20

5、分)1、 1在C+程序中,使用基本输入输出流需要包含的头文件是_iostream_。2、 执行_new_操作将动态分配P所指向的数据空间,执行_delete_操作将释放由P所指向的动态分配的数据空间。3、 C+的三种作用域分别是全局作用域、 文件作用域 和_ 函数作用域 。4、在C+语言中,每个类都有一个隐含的指针叫做_this_指针,该指针指向正在调用成员函数的对象。5、如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是 引用 类型或 指针 类型。10类的访问权限有 public、_private_和protected。7在C+程序中,打开std命名空间的语句是_us

6、ing namespace std_。三、写出程序运行结果(每题 4分,共 24 分)1、写出下列程序的运行结果。#include using namespace std;class MyPoint public: MyPoint(int xx=5, int yy=5) X = xx; Y = yy; cout(X,Y); private: int X, Y; ;void main() MyPoint a(10,10),b;(10,10)(5,5)2、写出下列程序的运行结果。#includeusing namespace std;int i=0;void fun() static int i=

7、1; couti+,;couti,;int main()fun();fun();return 0;1,2,1,23、写出下列程序的运行结果。#includeusing namespace std;class testprivate: int a;public: test()coutconstructorendl; test(int a)coutaendl; test()coutdestructorendl;int main() test A(3); return 0;3Destructor4写出下列程序的运行结果。#include using namespace std;int fib(int

8、 n)int result;cout n ;if (n 2) result = 1; else result = fib(n - 1);return result;int main()cout fib(3) n;return 0;3 2 1 15写出下列程序的运行结果。#include using namespace std;int countp=0;class Point int X,Y; public: Point(int x=0,int y=0) X=x; Y=y; coutConstructorn;countp+; friend Point myfun(Point p1 ,Point

9、p2); Point myfun(Point p1,Point p2) Point tmp(p1.X+p2.X,p1.Y+p2.Y);coutCopy Constructorn; return tmp;void main() Point pp0,pp1(1,2); myfun(pp0,pp1); std:coutcountpendl;ConstructorConstructorConstructorCopy Constructor36写出下列程序的运行结果。#includeusing namespace std;class Sample int m,n;public: Sample() Sam

10、ple(int i,int j)m=i;n=j; int add()return m+n;void main() int i; Sample a3=Sample(0,1), Sample(3,4), Sample(6,8); for(i=0;i3;i+) coutai.add() ; coutendl;1 7 14 四、编程题(每题9分,共36分)1. 通过递归的方式实现下列问题:有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。问第4个学生多少岁,他说比第3个学生大2岁。问第3个学生多少岁,他说比第2个学生大2岁。问第2个学生多少岁,他说比第1个学生大2岁。最后问第1个学生,他

11、说是10岁。请问第5个学生多大?2 12 3 14 4 16 5 18 #includeintfun(int);/声明递归函数intmain()intk=fun(5);printf(第5个人的年龄为:%dn,k);return0;/递归函数的实现intfun(intn)if(n=1)return10;/第一个人年龄为10岁elseif(n1)returnfun(n-1)+2;/后面每个人年龄依次在前一人基础上加2elsereturn-1;/如果你给的n值不合法(比如为负数),就返回-1 2. 编写四个重载函数,返回值为参数的两倍,参数类型分别为int,long,float,double,返回值

12、类型和参数类型一致。#includeusing namespace std;int Double(int x);long Double(long x);float Double(float x);double Double(double x);int main() int myInt = 6500; coutDouble(myInt)endl; long myLong = 65000; coutDouble(myLong)endl; float myFloat = 6.5F; coutDouble(myFloat)endl; double myDouble = 6.5e20; coutDouble(myDouble)endl;int Double(int x) return 2*x;long Double(long x) return 2*x;float Double(float x) return 2*x;double Double(double x) return 2*x;3. 定义一个Book类,拥有静态数据成员booksum,记录Book的个体数目;静态成员函数Getbooksum( ),存取b

温馨提示

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

评论

0/150

提交评论