专升本《面向对象程序设计》_试卷_答案
- 格式:doc
- 大小:231.50 KB
- 文档页数:6
《面向对象程序设计》第04章在线测试《面向对象程序设计》第04章在线测试剩余时间:58:55答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、如果在类B 中定义友元,其中正确的是:A、class B { friend int fun(A*, B&);};B、class B { friend int fun(A*, B*);};C、class B { friend int fun(A&, B&);};D、class B { friend int fun(A&, B*);};2、下面的语句中能将类B 定义为类A的友元类的是()A、friend class B;B、class A{ friend B};C、class A{ friend class B;};D、class friend B class A;3、关于友元的说法正确的是()A、友元关系可以继承B、友元关系是双向的C、友元关系不可以传递D、友元关系可以取消4、下面对于友元函数描述正确的是A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员5、一个类的友元函数或友元类能够通过成员操作符访问该类的()A、私有成员B、保护成员C、公有成员D、所有成员第二题、多项选择题(每题2分,5道题共10分)1、下面关于友元函数正确的说法是()A、在类中用关键词friend声明友元函数B、友元函数说明的位置只能在类的public区C、友元函数的定义只能放在类的外部D、友元函数不是类的成员函数2、定义类B的构造函数为类A的友元函数的语句是()A、class A { friend B();};B、class A { friend B::B();};C、class A { friend void B::B();};D、class A { friend double B::B();};3、关于友元函数的说法正确的是()A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数B、友元函数可以访问多个类的私有成员和保护成员C、在调用友元函数的时候需要使用“.”运算符D、如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀。
面向对象程序设计与Java语言专升本试题详解面向对象程序设计(Object-Oriented Programming,简称OOP)是一种常用的程序设计范式,它以对象作为程序的基本单元,通过封装、继承和多态等概念来实现程序的设计和开发。
Java语言作为一种广泛应用于软件开发领域的高级编程语言,也是OOP的主要实现语言之一。
在Java语言的专升本试题中,常涉及面向对象程序设计的相关知识和技术。
本文将通过详细解析一些常见的Java专升本试题,以帮助读者更好地理解和掌握面向对象程序设计与Java语言。
1. 面向对象程序设计基础题题目:根据以下要求,设计一个学生类(Student),包含学生的姓名、年龄、性别和学号等属性,并实现以下功能:1)构造方法,用于初始化学生对象;2)获取和设置学生属性的方法;3)打印学生的信息。
解析:根据题目要求,我们需要设计一个学生类(Student),该类应包含姓名(name)、年龄(age)、性别(gender)和学号(studentID)等属性。
为了能够初始化学生对象,我们可以在类中添加一个构造方法,通过构造方法来传入学生的姓名、年龄、性别和学号等参数,并将其赋值给对应的属性。
然后,我们可以为每个属性添加对应的获取和设置方法,以便在需要时可以获取或修改学生的属性。
最后,通过一个打印学生信息的方法来输出学生的相关信息。
代码示例:```javapublic class Student {private String name;private int age;private String gender;private String studentID;public Student(String name, int age, String gender, String studentID) { = name;this.age = age;this.gender = gender;this.studentID = studentID;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) { this.gender = gender;}public String getStudentID() {return studentID;}public void setStudentID(String studentID) {this.studentID = studentID;}public void printInfo() {System.out.println("姓名:" + name);System.out.println("年龄:" + age);System.out.println("性别:" + gender);System.out.println("学号:" + studentID);}}```通过以上的代码示例,我们设计了一个名为Student的学生类,其中包含了姓名、年龄、性别和学号等属性,并实现了构造方法、属性的获取和设置方法以及打印信息的方法。
《面向对象程序设计C++》期末考试试卷(A)试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。
已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
《面向对象程序设计C++》期末考试试卷(B)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( )就是错误的。
A.C语言就是C++语言的一个子集B.C语言与C++语言就是兼容的C.C++语言对C语言进行了一些改进D.C++语言与C语言都就是面向对象的2、已知:int m=10; 下列表示引用的方法中,( )就是正确的。
A.int &x=m;B.int &y=10;C.int &z;D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的就是( )。
A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的就是( )。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的就是( )。
A.类就是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了( )次构造函数。
A.0B.1C.2D.37、有关析构函数的说法,不正确的就是( )。
A.析构函数有且仅有一个B.析构函数与构造函数一样可以有形参C.析构函数的功能就是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的就是( )。
《⾯向对象程序设计》模拟试卷1浙江警官职业学院2013—2014学年第⼀学期期末考试《⾯向对象程序设计》模拟试卷⼀、判断题。
(共10分,每题1分,对的打“√”,错的打“メ”)1、C#程序必须包含⼀个Main⽅法作为程序的⼊⼝点。
(√)2、String类型是引⽤类型。
(√)3、只有Get访问器的属性称为只写属性。
(メ)4、构造函数可以被重载。
(√)5、属性占⽤存储空间。
(メ)6、类中的静态构造函数不能带参数,不能具有可访问性修饰符。
(√)7、⼀个类可以有多个不同名的构造函数。
(メ)8、⼦类将继承⽗类所有的成员。
(√)9、变量在可以作为ref引⽤参数传递之前,可以不赋值。
(メ)10、⼀个类可以实现多个接⼝。
(√)⼆、选择题。
(共20分,每题1分)1、以下C#注释代码,不正确的是( D )。
A、//C#注释代码B、//C#注释代码1//C#注释代码2C、////C#注释代码D、/*C#注释代码*/2、下⾯属于合法的字符串常量的是( B )。
A、@XYZB、"XYZ"C、’XYZ’D、XYZ3、在窗体中,改变label标签的显⽰结果,需修改的属性是(A )。
A、TextB、NameC、TitleD、Index4、当没有定义访问修饰符时,类的成员的默认访问修饰符为( D )。
A、privateB、publicC、protectedD、internal5、执⾏下列语句将产⽣的结果是( B )。
int i=1;if ( i ) Console.WriteLine(true);else Console.WriteLine(false);A、输出1B、输出trueC、输出falseD、编译错误6、以下关于静态⽅法的说法,不正确的是(D )。
A、静态⽅法不对特定实例进⾏操作B、静态⽅法只能直接访问静态成员C、在静态⽅法中引⽤this会导致编译时错误D、静态⽅法通过类的实例来访问7、定义⼀个数组string[] role={“赵灵⼉”,“李逍遥”,“林⽉如”,“杨过”,“⼩龙⼥”},数据中的role[5]指的是( D )。
《面向对象程序设计C++》期末考试试卷(B)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第8页上)】一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( D )是错误的。
A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,(A )是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是( C )。
>A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( A )。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的是( D )。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的^D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了(D )次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是( B )。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型。
1.C++的类的私有成员答案:可以被类自己的函数成员访问,不能被其派生类的函数成员访问2.内联函数通常()。
答案:函数体较小,且不应有分支类型的语句3.对于定义/成员b->a的类型为()。
4. C++的数组元素不可以是()。
答案:void类型5.函数成员的静态绑定是由()完成的。
答案:编译程序6.关于运算符函数->重载,正确的叙述为()。
答案:重载不改变运算符的优先级,但改变运算符函数的参数个数7.枚举类型定义的元素类型应该是()。
答案:int类型8. C++的union类型()。
答案:不能定义为基类和派生类9.对于struct E{int a; }b; int E::**p; 如下操作合法的为()。
答案:b.**p=6;10. C++的析构函数()。
答案:不能重载,不能定义返回类型11.对于定义int x=4; int &f(int &y) {return --y; },语句f(x)=6会使x的值等于()。
答案:612. C++的前置--形成的表达式如表达式--x表示()。
答案:先进行x=x-1运算,然后将运算结果作为最终结果,且最终结果为左值13.对于类A定义的A (*p[10])[20],只能使用如下形式初始化()。
答案:p[5]=new A[20];14.一个左值必然不是()。
答案:一个常量15. C++的函数不能够返回一个()。
答案:数组类型16.对于定义struct X{X operator+(const X &)const;}m, n; 合法的访问有()。
答案:m.operator+(n)17. C++的类可以继承基类()。
答案:定义的类型定义的函数成员定义的数据成员18. C++的抽象类X不能用于定义()。
答案:X m; X p[4]19. C++的运算符“*”可以重载为如下哪些类型的函数()。
答案:单目函数双目函数20. C++类的纯虚函数(析构函数除外)可以具有下列哪些特征()。
面向对象程序设计课后习题答案第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:每一个对象必须有一个名字以区别于其他对象。
需要用属性来描述它的某些特性。
有一组操作,每一个操作决定了对象的一种行为。
对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( D )。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是( C )。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正确的。
《面向对象分析与设计》考试试卷(第一套)课程号5808115040 考试时间100 分钟适用专业年级(方向):考试方式及要求:闭卷笔试一、单项选择(每题分,共45分,答案写在题前表格内)1.SDLC需求分析阶段结束时将产生哪个文档()。
A.可行性分析报告B.软件需求说明书C.软件需求统计D.系统需求统计2.面向对象将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理。
A.信息B.数据隐藏C.数据操作D.数据抽象3.()是从用户使用的角度描述系统功能的图形表示方法。
A.类图B.对象图C.序列图D.用例图4.()描述了一组交互对象间的动态协助关系,表示完成某项行为的对象和这些对象间传统消息的时间顺序。
A.对象图B.协作图C.序列图D.状态图A.瀑布模型B.原型模型C.增量模型D.螺旋模型6.()是用于把元素组织成组的通用机制A.包B.类C.接口D.组件7.对某企业的工作流程进行建模,()是最有效的。
A.交互图B.活动图C.状态图D.类图8.一个设计得好的OO系统具有()A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征9.下面那个图符表示UML中的实现关系?()。
A. B.C. D.10.下图表示类图的()+op11()+op12()-attr11-attr12Class1+op21()+op22()-attr21-attr22Class2A.关联关系B.泛化关系C.实现关系D.依赖关系11.一个银行业务系统采用如图所示的配置图,则错误的是()。
A.与GUI有关的类应该部署在Branch Client上B.这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、Database Server是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在12.用例图关于角色的说法中错误的是()。
《面向对象程序设计》第10章在线测试剩余时间:59:51答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、throw后面的表达式不可以是()A、常量B、变量C、对象D、数组2、关于异常的说法,正确的是()A、异常就是错误B、有了异常处理机制,出现错误也没有关系C、异常在C++中以消息的形式传递D、程序中出现的错误都可以用catch块来捕捉处理3、关于catch(。
)的说法错误的是()A、catch(。
)可以捕捉所有类型的异常B、catch(。
)必须放在所有catch块的后面C、catch(。
)可以避免出现没有被捕捉的异常D、catch(。
)不能单独使用4、C++中异常处理的默认模式是()A、终止模式B、恢复模式C、挂起模式D、暂停模式5、关于重新抛出错误的说法是()A、重新抛出是指抛出原来的异常B、用throw语句再次抛出原来的异常C、只能在catch块中抛出D、重新抛出时不能改变异常信号的值第二题、多项选择题(每题2分,5道题共10分)1、关于异常处理的说法正确的是()A、将异常的检测与处理分离B、异常就是错误C、异常由函数调用引起D、在上层调用函数中使用try检测函数调用是否引发异常2、try子句的作用是()A、代码的保护段B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后C、try子句产生异常D、try子句中的throw表达式产生异常3、catch子句的说法正确的是()A、catch子句后的复合语句是异常处理程序B、catch子句捕获throw表达式抛出的异常C、catch子句的异常类型说明只能是类型,不能是数值D、catch子句的异常类型不能是自定义类4、异常处理的执行过程是()A、程序执行try语句块内的保护段,如果发现异常则退出B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序D、如果没有匹配的catch子句,自动调用terminate终止程序5、关于catch(…)语句的说法正确的是()A、catch(…)语句可以捕获任何异常B、catch(…)语句可以放在catch子句的任何位置C、catch(…)语句必须放在catch子句的最后D、catch(…)语句捕获空的异常第三题、判断题(每题1分,5道题共5分)1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.正确错误2、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
++的类的私有成员答案:可以被类自己的函数成员访问,不能被其派生类的函数成员访问2.内联函数通常()。
答案:函数体较小,且不应有分支类型的语句3.对于定义/成员b->a的类型为()。
4. C++的数组元素不可以是()。
答案:void类型5.函数成员的静态绑定是由()完成的。
答案:编译程序6.关于运算符函数->重载,正确的叙述为()。
答案:重载不改变运算符的优先级,但改变运算符函数的参数个数7.枚举类型定义的元素类型应该是()。
答案:int类型8. C++的union类型()。
答案:不能定义为基类和派生类9.对于struct E{int a; }b; int E::**p; 如下操作合法的为()。
答案:b.**p=6;10. C++的析构函数()。
答案:不能重载,不能定义返回类型11.对于定义int x=4; int &f(int &y) {return --y; },语句f(x)=6会使x 的值等于()。
答案:612. C++的前置--形成的表达式如表达式--x表示()。
答案:先进行x=x-1运算,然后将运算结果作为最终结果,且最终结果为左值13.对于类A定义的A (*p[10])[20],只能使用如下形式初始化()。
答案:p[5]=new A[20];14.一个左值必然不是()。
答案:一个常量15. C++的函数不能够返回一个()。
答案:数组类型16.对于定义struct X{X operator+(const X &)const;}m, n; 合法的访问有()。
答案:+(n)17. C++的类可以继承基类()。
答案:定义的类型定义的函数成员定义的数据成员18. C++的抽象类X不能用于定义()。
答案:X m;X p[4]19. C++的运算符“*”可以重载为如下哪些类型的函数()。
答案:单目函数双目函数20. C++类的纯虚函数(析构函数除外)可以具有下列哪些特征()。
专升本《面向对象程序设计》一、(共75题,共150分)1. 的值为()。
(2分)A.1B.2C.3D.4.标准答案:B2. 调用C++的标准函数exit(0)退出程序,将()。
(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。
(2分)A.1B.2C.3D.4.标准答案:A4. 对于定义使用f的正确方法为()。
(2分)A.见图B.见图C.见图D.见图.标准答案:C5. 对于则调用f(x)的返回值为()。
(2分)A.6B.7C.8D.9.标准答案:C6. 对于定义正确的叙述为()。
(2分)A.w引用u,v引用wB.w引用u,v引用uC.w未引用u,v引用wD.w未引用u,v未引用w.标准答案:B7. C++的非静态函数成员()。
(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A 8. 对于定义类F 定义对象将调用哪一个构造函数()。
(2分)A.F::F(int)B.F::F(int, int)C.F::F(int, int, int)D.F::F(int, int, int, int).标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。
(2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cin>>x>>y输入,正确的说法是()。
(2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.>>是输入函数,一次接受两个实参:cin和要输入的变量如x(或者y)D.>>是输入函数,一次接受三个实参:cin、x、y.标准答案:C11. 关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。
专升本《 JAVA 语言程序设计》一、(共 75 题 , 共 150 分)1. 下列不属于面向对象编程的三个特征的是()。
( 2 分)A. 封装B. 指针操作C. 多态性D. 继承. 标准答案: B2. 类所实现的接口以及修饰不可以是()。
( 2 分)A.publicB.abstractC.finalD.void. 标准答案: D3. 下列类的定义,错误的是()。
( 2 分)A.B.C.D.. 标准答案: D4. 关键字 supper 的作用是()。
( 2 分)A. 用来访问父类被隐藏的成员变量B. 用来调用父类中被重载的方法C. 用来调用父类的构造函数D. 以上都是. 标准答案: D5. 下列说法正确的是()。
( 2 分)A.java 中包的主要作用是实现跨平台功能B.package 语句只能放在 import 语句后面C. 包( package )由一组类( class )和界面( interface )组成D. 可以用 #include 关键词来标明来自其它包中的类 ;. 标准答案: C6. 下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?()( 2 分)A.privateB. 无修饰符C.publicD.protected. 标准答案: B7. 下列语句序列执行后, x 的值是 ( ) 。
( 2 分)A.l3B.12C.11D.10. 标准答案: B8. 下列语句中,属于多分支语句的是()。
( 2 分)A.if 语句B.switch 语句C.do while 语句D.for 语句. 标准答案: B9. 阅读下列代码其运行结果是()。
( 2 分)A.JavanguageC.TestD. 编译出错. 标准答案: C10. 其运行结果是()。
( 2 分)A.2B.3C.4D.5. 标准答案: C11. 在 Applet 中显示文字 . 图形等信息时,应使用的方法是()。
( 2 分)A.paint()B.init()C.start()D.destroy(). 标准答案: A12. 下列关于 Applet 的说法中,错误的是()。
中国计量学院《面向对象程序设计》课程考试试卷(C)一、填空题(每空1分,共20分)。
1.所有的面向对象程序设计语言,都支持三个共同的本质特征___、___、___。
2.为了解决程序中函数调用的效率问题,引入了___,定义时需在函数前面加上___说明;为了提高程序的运行效率,引入了___,定义时需在函数前面加上___说明。
3.在类的定义当中,缺省的成员是__成员。
4.请填写下列表格(填写派生类中成员的类型)。
5.利用成员函数对二元运算符进行重载时,其左操作数为___,右操作数为___。
6.设置虚基类的目的是___,可通过___标识虚基类。
7.动态联编是在___的支持下实现的,它通过___来调用该函数操作。
二、选择题(每题2分,共20分)1.下列关于类型转换的描述中,()是错误的。
A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。
2.()不是构造函数的特征。
A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明3.在C++中,关于下列设置参数默认值的描述中,()是正确的。
A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置4.关于new运算符的下列描述中,()是错误的。
A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值。
5.重载函数在调用时选择的依据中,()是错误的。
A、参数个数;B、参数的类型;C、函数名字;D、函数的类型6.下列描述中,()是抽象类的特性。
A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。
专升本《面向对象程序设计》一、(共75题,共150分)1. 的值为()。
(2分)A.1B.2C.3D.4.标准答案:B2. 调用C++的标准函数exit(0)退出程序,将()。
(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。
(2分)A.1B.2C.3D.4.标准答案:A4. 对于定义使用f的正确方法为()。
(2分)A.见图 B.见图 C.见图 D.见图.标准答案:C5. 对于则调用f(x)的返回值为()。
(2分)A.6B.7C.8D.9.标准答案:C6. 对于定义正确的叙述为()。
(2分)A.w引用u,v引用wB.w引用u,v引用uC.w未引用u,v引用wD.w未引用u,v未引用w.标准答案:B7. C++的非静态函数成员()。
(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A8. 对于定义类F 定义对象将调用哪一个构造函数()。
(2分)A.F::F(int)B.F::F(int, int)C.F::F(int, int, int)D.F::F(int, int, int, int).标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。
(2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cin>>x>>y输入,正确的说法是()。
(2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.>>是输入函数,一次接受两个实参:cin和要输入的变量如x(或者y)D.>>是输入函数,一次接受三个实参:cin、x、y.标准答案:C11. 关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。
(2分)A.它们定义形式相同,都能指向类的静态数据成员B.它们定义形式不同,都能指向类的静态数据成员C.它们定义形式相同,都不能指向类的静态数据成员D.它们定义形式不同,都不能指向类的静态数据成员.标准答案:A12. 在C++的类的构造函数前()。
(2分)A.可以使用static和virtual说明B.不能使用static和virtual说明C.可以使用static说明,不能使用virtual说明D.可以使用virtual说明,不能使用static说明.标准答案:B13. C++的类的析构函数成员()。
(2分)A.可以定义为mutable和virtual的B.不能定义为mutable和virtual的C.可以定义为mutable的,不能定义为virtual的D.不能定义为mutable的,可以定义为virtual的.标准答案:D14. 对于类F 定义的只能使用如下定义的变量q的地址初始化p()。
(2分)A.见图B.见图C.见图D.见图.标准答案:A15. 对于定义函数调用g.e.f( )调用的函数为()。
(2分)A.见图B.见图C.见图D.见图.标准答案:B16. 运算符::的左部()(2分)A.可以出现名字空间名称,可以出现类名B.不能出现名字空间名称,可以出现类名C.可以出现名字空间名称,不能出现类名D.不能出现名字空间名称,不能出现类名.标准答案:A17. 当C++的类F定义了非静态数据成员f、以及参数为f的非静态函数成员g,则在函数g中访问数据成员f使用()。
(2分)A.见图B.见图C.见图D.见图.标准答案:B18. 关于C++的位段叙述哪个正确()。
(2分)A.可以出现在struct中,但不能出现在class中B.可以出现在struct中,也能出现在class中C.不能出现在struct中,也不能出现在class中D.不能出现在struct中,但可以出现在class中.标准答案:B19. 关于抽象类F的应用,下面哪个是正确的()。
(2分)A.见图B.见图C.见图D.见图.标准答案:D20. 关于++运算符函数重载,正确的叙述为()。
(2分)A.前置运算重载为单目,后置运算重载为双目B.前置运算重载为单目,后置运算重载为单目C.前置运算重载为双目,后置运算重载为双目D.前置运算重载为双目,后置运算重载为单目.标准答案:A21. 类F缺省的构造函数的原型为()。
(2分)A.F( )B.F(const F&) C.F(int x)D.F(const double&) .标准答案:A,B22. virtual保留字可以用于()。
(2分)A.说明基类B.说明普通成员函数C.说明非成员函数D.说明静态成员函数.标准答案:A,B23. 对于定义如下那种调用是正确的()。
(2分)A.f(m)B.f(n)C.f(p)D.f(q).标准答案:A,B24. C++的union类型可以定义()。
(2分)A.静态数据成员B.非静态数据成员C.静态函数成员D.非静态函数成员.标准答案:B,C,D25. C++的运算符“&”可以重载为如下哪些类型的函数()。
(2分)A.单目函数B.双目函数C.三目函数D.四目函数.标准答案:A,B26. sizeof(printf("16"))/sizeof(int)的值为()。
(2分)A.1B.2C.3D.4.标准答案:A27. 调用C++的函数abort( )退出程序,将()。
(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:C28. 对于定义double x=1; double &y=x; sizeof(y)的值为()。
(2分)A.1B.4C.8D.16.标准答案:C29. 对于定义int *const f[10],使用f的正确方法为()。
(2分)A.*f[5]=1;B.(*f)[5]=1;C.f[5]++;D.f[5]=1;.标准答案:A30. 对于则调用f(x)的返回值为()。
(2分)A.6B.7C.8D.9.标准答案:C31. 对于定义int u=3; int &w=++u; int &v=w++;正确的叙述为()。
(2分)A.w引用u,v引用wB.w引用u,v未引用uC.w未引用u,v引用wD.w未引用u,v未引用w.标准答案:B32. C++的普通函数成员()。
(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A33. 对于类F定义对象F x=(1,2,3,4);将调用哪一个构造函数()。
(2分)A.见图B.见图C.见图D.见图.标准答案:A34. 在计算类的存储空间大小时,其大小等于()。
(2分)A.所有数据成员大小之和B.所有数据成员大小之和,但不包括静态数据成员C.所有数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员D.所有基类、数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员.标准答案:D35. 使用coutA.cout是输出函数,一次接受两个实参x和yB.cout是输出函数,每次接受一个实参,因此,cout函数被调用两次C.>>是输出函数,一次接受两个实参:cout和要输出的变量如x(或者y)D.>>是输出函数,一次接受三个实参:cout、x、y.标准答案:C36. 关于C++静态数据成员指针和普通指针的叙述哪个正确()。
(2分)A.它们定义形式相同,指向的对象也相同B.它们定义形式不同,但指向的对象相同C.它们定义形式相同,但指向的对象不同D.它们定义形式不同,指向的对象也不同.标准答案:A37. 在C++的类的析构函数前()。
(2分)A.可以使用static和virtual说明B.不能使用static和virtual说明C.可以使用static说明,不能使用virtual说明D.可以使用virtual说明,不能使用static说明.标准答案:B38. C++的类的析构函数成员()。
(2分)A.可以定义为mutable和virtual的B.不能定义为mutable和virtual的C.可以定义为mutable的,不能定义为virtual的D.不能定义为mutable的,可以定义为virtual的.标准答案:D39. 对于类A定义的A (*p) =new A [30],只能使用如下形式释放p的内存()。
(2分)A.delete p;B.delete[ ]p;C.delete p[30];D.delete*p;.标准答案:B40. 对于在定义时在前面()。
(2分)A.可加static,可加virtualB.可加static,不可加virtualC.不可加static,可加virtualD.不可加static,不可加virtual.标准答案:C41. 运算符“.”的左部()(2分)A.可以出现返回代表对象的函数调用,可以出现对象B.不能出现返回代表对象的函数调用,可以出现对象C.可以出现返回代表对象的函数调用,不能出现对象D.不能出现返回代表对象的函数调用,不能出现对象.标准答案:A42. 强制类型转换,()。
(2分)A.可以将任何类型转换为普通成员指针B.可以将普通成员指针转换为任何类型C.可以实现任何类型之间的转换;D.可以实现任何类型之间的转换,A和B的转换除外;.标准答案:D43. 关于C++的位段叙述哪个正确()。
(2分)A.可以出现在struct中,但不能出现在union中B.可以出现在struct中,也能出现在union中C.不能出现在struct中,也不能出现在union中D.不能出现在struct中,但可以出现在union中.标准答案:B44. 关于双目运算符“/”重载为普通函数成员,下面哪个是正确的()。
(2分)A.参数表里只能有一个参数,且必须是代表对象的类型;B.参数表里只能有一个参数,不必是代表对象的类型C.参数表里可以有多个参数,且必须是代表对象的类型D.参数表里可以有多个参数,不必是代表对象的类型.标准答案:B45. 关于--运算符函数重载,正确的叙述为()。
(2分)A.前置运算重载为单目,后置运算重载为双目B.前置运算重载为单目,后置运算重载为单目C.前置运算重载为双目,后置运算重载为双目D.前置运算重载为双目,后置运算重载为单目.标准答案:A46. 类F缺省的赋值运算符重载函数的原型为()。