自学考试面向对象程序设计试题一

合集下载

10月全国面向对象程序设计自考试题及答案解析

10月全国面向对象程序设计自考试题及答案解析

全国2019年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列特性中,C与C++共有的是( )A.继承B.封装C.多态性D.函数定义不能嵌套2.通常情况下,函数模板中的类型参数个数不能..是( )A.0B.2C.4D.33.在下列成对的表达式中,运算符“+”的意义不相同...的一对是( )A.5.0+2.0和5.0+2B.5.0+2.0和5+2.0C.5.0+2.0和5+2D.5+2.0和5.0+24.类的指针成员的初始化是通过函数完成的,这个函数通常是( )A.析构函数B.构造函数C.其它成员函数D.友元函数5.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )A.const char *p=“ABCD”;B.char const *p=“ABCD”;C.char *const p=“ABCD”;D.const char * const p=“ABCD”;6.静态成员函数没有..( )A.返回值B.this指针C.指针参数D.返回类型7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数8.下面叙述不正确...的是( )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的19.在C++中实现封装是借助于( )A.枚举B.类C.数组D.函数10.所有在函数中定义的变量,都是( )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。

面向对象程序设计试卷及答案

面向对象程序设计试卷及答案

面向对象程序设计试卷及答案.)答案考试试卷A(面向对象程序设计注意事项:请考生按要求在试卷装订线内填写姓名、学号1.和年级专业。

请仔细阅读各种题目的回答要求,在规定的位2.置填写答案。

不要在试卷上乱写乱画,不要在装订线内填写3.无关的内容。

分钟。

100分,考试时间为1204. 满统分得单项选择一.分分,共小题,每小题3(本大题共10 评分) 30分人) B 中每个int类型的变量占用(1. C# 个字节的内存。

)C (( B)4 8 (A)1 )(D 2) A 2. 面向对象的特点是(态装封、继承、多(A)(B)抽象、封装、多态封继承、(C )抽装象、)抽象、多态、重载(D 3. C#控制台程序的主入口点是() C)C Run Page_Load(A)函数(B)函数( Main函数函数)(DForm_Load引用类型存储在()中。

B 4.))(堆内存B 堆栈)(A () C队列D (列表表示一个字符串的变量应使用以下哪在5. C#中,)B 条语句定义(.(A)CString str (B)string str(C)Dim str as string (D)char*str6.在中,用来与数据源建立连接的对象是( A )。

(A)Connection对象(B)Command 对象(C)DataAdapter对象(D)DataSet 对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征。

(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。

(A)1 (B)0 (C)23)(D)类型类型的值可以隐式转换成(9. float C的值而保持值不被改变。

double )C( long )B( char )A(int )D(是IExample而,是一个类Class1假设,中在C#10.A 下面的(,一个接口)类声明是正确的。

class Employee: Class1, IExample )A(.class Employee: IExample, Class1 B)(class Employee- Class1, IExample )(Cclass Employee: Class1/IExample )(D得.判断题二分15共每小题小题,3分,(本大题共5 评)分分中子类可以继承多个基类,也可以1. C人)×继承一个接口。

面向对象程序设计-试卷[附参考答案]

面向对象程序设计-试卷[附参考答案]

《面向对象程序设计》试卷第一学期“本科”期末考试计算机专业面向对象程序设计试题一、单项选择题(每小题1分,共20分)1.由C++源程序文件编译而成的目标文件的默认扩展名为(C)。

A.cppB.exeC.objD.lik2.设x和y均为bool量,则x&&y为真的条件是(A)。

A. 它们均为真B.其中一个为真C. 它们均为假D. 其中一个为假3.在下面的二维数组定义中,正确的语句是(C)。

A.int a[5][];B.int a[][5];C.int a[][3]={{1,3,5},{2}};D.int a[][10];4.在文件包含命令中,被包含文件的扩展名(C)。

A.必须是 .h;B.不能是 .h;C.可以是 .h或 .cpp;D.必须是 .cpp;5.要使语句“p=new int[10][20]”正确,p应事先定义为(D)。

A.int *p;B.int **p;C.int *p[20];D.int (*p)[20];6.在关键字public后定义的成员为该类的(B)成员。

A.私有B. 公有C.保护D.任何7.假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为(B)。

A.aB.AA::aC.a( )D. AA::a( )8.队列具有(A)的操作特性。

A.先进先出B.先进后出C.进出无序D.仅进不出9.假定AB为一个类,则执行“AB a,b(3),*p”语句时共调用该类构造函数的次数为(D)。

A. 5B. 4C. 3D. 210.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。

A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符二、填空题(每空2分,共20分)1.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到下一行的开始位置。

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案

面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。

2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。

3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。

4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。

5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。

6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。

B、对象是类的实例化。

C、类用于描述多个对象的共同特征,它是对象的模板。

D、类与对象没有什么实际关系。

正确答案:D答案解析:对象是通过类来创建的。

7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。

面向对象程序设计试题及答案

面向对象程序设计试题及答案

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。

2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。

3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。

4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。

5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。

6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。

7. 请解释类(Class)与对象(Object)之间的关系。

8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。

9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。

二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。

2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。

(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。

(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。

(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。

3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。

封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。

(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。

(3)降低模块之间的耦合度,提高代码的灵活性。

4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。

(完整版)面向对象程序设计试卷及答案

(完整版)面向对象程序设计试卷及答案

考试试卷A(答案)面向对象程序设计注意事项:1。

请考生按要求在试卷装订线内填写姓名、学号和年级专业。

2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。

3。

不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。

满分100分,考试时间为120分钟。

一。

单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。

(A)8 (B)4 (C)2 (D)12。

面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。

C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。

引用类型存储在( B )中。

(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。

在中,用来与数据源建立连接的对象是( A )。

(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。

(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。

(A)char (B)long (C)double (D)int10。

在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。

(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。

面向对象程序设计原理考核试卷

面向对象程序设计原理考核试卷
A.组合表示部分和整体的生命周期相同
B.聚合表示部分和整体的生命周期可以不同
C.组合是一种强关系
D.聚合是一种弱关系
14.以下哪些操作符可以用于对象的比较?()
A. ==
B. !=
C. equals()
D. compareTo()
15.以下哪些说法关于静态变量和静态方法是正确的?()
A.静态变量属于类,所有实例共享
1.以下哪些是面向对象程序设计的基本原则?()
A.抽象
B.封装
C.继承
D.多态
2.在面向对象程序设计中,类和对象的关系是()
A.类是对象的抽象
B.对象是类的实例
C.类和对象是同一概念
D.类和对象没有关系
3.以下哪些是类的成员?()
A.属性
B.方法
C.构造函数
D.运算符
4.关于继承,以下哪些说法是正确的?()
11.关于抽象类,以下哪些说法是正确的?()
A.抽象类不能被实例化
B.抽象类可以包含抽象方法
C.抽象类可以包含具体实现的方法
D.抽象类只能被继承
12.以下哪些是Java中的访问控制符?()
A. public
B. private
C. protected
D. default
13.以下哪些说法关于组合和聚合是正确的?()
D. super
8.以下哪个方法可以用来隐藏父类的同名方法?()
A. overload
B. override
C. inherit
D. hide
9.以下哪个关键字用于调用父类的构造方法?()
A. this
B. super
C. new
D. extends

自学考试面向对象程序设计试题以及答案

自学考试面向对象程序设计试题以及答案

一、选择题1、程序设计中,首先在问题域中识别出若干个()A.函数B.类C.文件D.过程2、定义类模板用关键字()A.constB.newC.deleteD.template3、运算结果类型相同的()A. 9.0/2.0 9.0/2B. 9/2.0 9/2C. 9.0/2 9/2D. 9/2 9.0/2.04、已知f1 f2同一类两个成员函数,但f1不能调用f2,说明()a.f1 f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1 f2都不是静态函数5、调用一成员函数时,使用动态联编的情况是()A.通过对象调用一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数6、假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行"A x(4)"后,x.a和x.b值分别是:()A.1,0B.1,4C.4,0D.4,17、在派生类中能直接访问基类的()A.公有成员,私有成员B.保护成员,私有成员C.不可访问成员,私有成员D.公有成员,保护成员8、不具访问权限属性的是:( )A.非类成员B.类成员C.数据成员D.函数成员9、类定义中private,protected,public 出现次数为()A.任意多次B.至多一次C.public 至少一次D.至少一次10、C++鼓励程序员将()A.数据操作分别封装B.不同类型数据封装C.数据操作封装在一起D.不同作用操作封装在一起二、填空1、C++中,最好用()代替malloc2、函数模板中template之后尖括号的类型参数冠以保留字()3、在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,( )4、如果重载了运算符+,则相应运算函数名是()5、由static修饰的数据成员为该类的所有对象()6、为了实现多态性,派生类需要重新定义基类中的()7、编译时多态性通过()函数实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国2005年1月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题2分,共38分)1.下面对于指针的描述不正确的是( )。

A.指针是地址变量B.指针不能用除0以外的常量赋值C.两个指针变量的加减法无意义D.指针指向不同基类型的变量长度不同2.下面对于析构函数的描述中不正确的是( )。

A.析构函数是内置函数B.析构函数与类名相同C.析构函数不能有参数D.析函数在对象撤销时自动执行3.下列指针用法中错误的是( )。

A. int i;int*ptr=&i;B. int i;int *ptr;i=*ptr;C. int *ptr;ptr=0;D. int i=5;int *ptr;*ptr=i;4.派生类的对象对它的基类成员中什么是可访问的( )?A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员5.在( )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句B.函数体含有递归语句C.需要加快程序的执行速度D.函数代码多、不常调用6.在类中说明的成员可以使用关键字( )进行修饰。

A. publicB. externC. cpuD. register7.如果类A被说明成类B的友元,则( )。

A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元8.定义析构函数时,应该注意( )。

A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句9.在类中声明转换函数时不能指定( )。

A.参数B.访问权限C.操作D.标识符10.在派生类中重新定义虚函数时必须在( )方面与基类保持一致。

A.参数类型B.参数名字C.操作内容D.赋值11.设int a=3,b=4,c=5;表达式(a+b)>c&&b==c的值是( )。

A. 2B. -1C. 0D. 112.下列标识符中,不合法的用户标识符为( )。

A. a#bB. _intC. a_10D. PAd13.while(!x)中的(!x)与下面条件( )等价。

A. x==1B. x!=1C. x!=0D. x==014.每个类( )构造函数。

A.只能有一个B.只可有公有的C.可以有多个D.只可有缺省的15.在一个类中可以对一个操作符进行( )重载。

A. 1种B. 12种以下C. 32种以下D. 多种16.重载赋值操作符时,应声明为( )函数。

A.友元B.虚C.成员D.多态17.在私有继承的情况下,基类成员在派生类中的访问权限( )。

A.受限制B.保持不变C.受保护D.不受保护18.通过( )调用虚函数时,采用动态束定。

A.对象指针B.对象名C.成员名限定D.派生类名19.在类中声明转换函数时不能指定( )。

A.参数个数B.访问权限C.标识符D.操作二、填空题(每空2分,共22分)1.派生类的主要用途是可以定义其基类中_______。

2.当建立_______,程序自动调用该类的构造函数。

3.定义重载函数函数时,应在_______上有所不同。

4.类是用户定义的类型,具有类类型的变量称作_______。

5.当一个成员函数被调用时,该成员函数的_______指向调用它的对象。

6.拷贝函数通过_______使用引用来初始化创建中的对象。

7.在一个类中至少可以对一个_______进行2种重载。

8.在C++中有二种_______方式即值传递和_______传递。

9.函数的_______性通过虚函数来实现的。

10.使用空的虚函数可以保证_______建立起一条存取路径,使派生类通过虚函数机制正确存取虚函数。

三、完成程序题(每小题5分,共20分)1.在下面程序的底画线处填上适当的字句,使该程序执行结果为60。

-第1 页共3 页-# include <iostream.h>class base{int X;public∶void int (int initX){X=initX; }int Getnum() {return X+7; }void main(){______________cout<<test.Getnum();}2.在下面程序的底画线处填上适当的字句,完成类中成员函数的定义。

# include <iostream.h>class box{ private∶int color;int upx,upy;int lowx,lowy;public∶friend int same_color(line a,box b);_______;void define_box(int x1,int y1,int x2,int y2){upx=x1;upy=y1;} };class line{ private∶int color;int startx,starty;int len;public∶friend_int same_color(line a,box b);_______;void define_line(int x,int y){startx=x;}};int same_color(line a,box b){if(a.color= =b.color)return 1;return 0;}3.在下面程序的底画线处填上适当的字句,完成程序。

# include <iostream.h>class A{_______(int i){cout<<i<<endl;}void g(){cout<<”g\n”;}};closs B∶A{public∶void h(){cout<<”h\n”;}_______;};void main(){ B d1;d1.f(6);d1.h();}4.在下列程序的空格处填上适当的字句,使输出为:0,8,5。

# include <iostream.h># include <math.h>class Magic{double x;public∶Magic(double d=0.00)∶x(fabs(d)){}Magic _______{return Magic(sqrt(x*x+c.x*c.x));}_______<<(ostream & os,Magic c){return os<<c.x;}};void main(){Magic ma;cout<<ma<<’,’<<Magic(-8)<<’,’<<ma+Magic(-3)+Magic(-4); }四、综合应用题(共20分)1.分析下列程序可能的输出结果。

(8分)# include “iostream.h”class test{private∶int num;float fl;public∶test( );int getint( ){return num;}float getfloat( ){return fl;}~test( );};test∶∶test( );{cout<<″lnitalizing default″<<endl;num=0;fl=0.0;}test∶∶~test( ){cout<<″Desdtructor is active″<<endl;}int main( ){test array[2];cout<<array[1].get int ( )<<″″<<array[1].getfloat()<<endl;}-第2 页共3 页-2.下列shape类是一个表示形状的抽象类,length()为求图形周长的函数,total()则是一个通用的用以求不同形状的图形周长总和的函数。

请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求周长函数。

给出shape,total的定义如下所示。

(12分)class shape{public∶virtual float length( )=0};float total(shape *s[],int n){float sum=0.0;for(int i=0;i<n;i++)sum+=s[i]->length( );return sum;}-第3 页共3 页-。

相关文档
最新文档