成人教育面向对象程序设计期末考试试卷及复习题参考答案
(完整word版)面向对象程序设计期末复习题及答案
![(完整word版)面向对象程序设计期末复习题及答案](https://img.taocdn.com/s3/m/162ab884af1ffc4fff47ac07.png)
(完整word版)面向对象程序设计期末复习题及答案C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
15题,每小题2分,共30分) [主要从作业题目中抽出来]2。
填空题。
(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。
【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】. (第1、2题每题8分,第3题9分,共25分)重点复习内容打*号是重点,打▲号是编程题出题范围*基本概念,对象,消息,类。
面向对象系统特性,封装性,继承性,多态性.*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套.静态成员,对象数组,友元。
*函数重载。
运算符重载。
*引用定义与引用参数* 基类与派生类的定义。
*基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。
多继承与虚基类.*多态性与虚函数.纯虚函数、抽象类。
*▲函数模板。
*▲使用类来定义对象并在程序中的应用题型样题填空题1。
假定AB为一个类,则执行“AB a[10];"语句时,系统自动调用该类的构造函数的次数为_________。
答案:102。
可以用p。
a的形式访问派生类对象P的基类成员a,其中a是_________。
答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。
答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5。
函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案6。
在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。
答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include〈iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout〈〈“x=y”〈<endl;elsecout〈〈“x!=y"〈〈endl;}void disp(){cout〈〈“x=”<〈x〈<“,y”=<<y<<endl; }};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=y x=y2.分析以下程序的执行结果#include〈iostream。
成人教育 《面向对象程序设计》期末考试复习题及参考答案
![成人教育 《面向对象程序设计》期末考试复习题及参考答案](https://img.taocdn.com/s3/m/3b98b5f243323968001c9234.png)
面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
c面向对象程序设计期末考试题及答案
![c面向对象程序设计期末考试题及答案](https://img.taocdn.com/s3/m/99253b47c381e53a580216fc700abb68a982ad9e.png)
c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。
面向对象期末试卷 A(答案)
![面向对象期末试卷 A(答案)](https://img.taocdn.com/s3/m/9ddfca54ad02de80d4d8409c.png)
******************************************班级:******************************学号:************************************姓名:************************************共3页第1页得分 阅卷人************ ****** ****** ****** ****** ****** ****** 班级: ****** ****** ****** ****** ****** 学号: ****** ****** ****** ****** ****** ****** 姓名: ****** ****** ****** ****** ****** ******共3页 第21. (9分)class Point { private: int x, y; public:Point(){x=y=0;} Point(int x0,int y0) {x=x0;y=y0;} int GetX() { return x; } int GetY() { return y; }void Print(){cout<<"Point("<<x<<","<<y<<")"<<endl;} ___(1)___; //友元函数声明 ___(2)___; //友元函数声明};Point operator+(Point& pt,int dd) //加号操作符重载函数,实现Point 类对象与整数加法 { Point temp=pt; temp.x+=dd; temp.y+=dd; return temp;}Point operator+(Point& pt1,Point& pt2) //加号操作符重载函数,实现两个Point 类对象的加法 { Point temp=pt1; temp.x+=pt2.x; ___(3)___; return temp;}答案:(1) friend Point operator+(Point& pt,int dd) ----3分(2) friend Point operator+(Point& pt1,Point& pt2) ----3分 (3) temp.y+=pt2.y ----3分 2.(12分) 已知一个类的定义如下: #include<iostream.h> class AA { private:int a[10]; int n;public:void SetA(int aa[], int nn); //用数组aa 初始化数据成员a ,用nn 初始化数据成员n int MaxA(); //从数组a 中前n 个元素中查找最大值void SortA(); //采用选择排序的方法对数组a 中前n 个元素进行从小到大排序void InsertA();//采用插入排序的方法对数组a 中前n 个元素进行从小到大排序 void PrintA(); //依次输出数组a 中的前n 个元素};该类中InsertA()函数的实现如下,请在标号位置补充适当的内容。
《面向对象程序设计》期末考核试题样例及解答
![《面向对象程序设计》期末考核试题样例及解答](https://img.taocdn.com/s3/m/050e7ca428ea81c758f578f9.png)
《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. 源程序文件的缺省扩展名为( )。
A. B. C. D.2. x>0 5的相反表达式为()。
A. x<=0 5B. x<=0 5C. x>0 5D. x>0 53. 在下面的字符数组定义中,有语法错误的是( )。
A. a[20]=“”;B. a[]=“55.”;C. a[15];D. a[10]=’5’;4. 以下正确的函数原型语句是( )。
A. ( y)B. ( y)C. ();D. ( );5. 在下面存储类中,()的对象不是局部变量。
A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“ { [40]; ;}; * ;”,则正确的语句是()。
A. (>,””);B. (,””);C. (*,””);D. ((*)->,””);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。
A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有()函数的文件称为()。
A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用表示,包含的指针域用表示,链队的队首指针用表示,队尾指针用表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
A. B.C. 和D. 或10. 假定为一个类,则执行“ a, b(2), c[3], *;”语句时共调用该类无参构造函数的次数为( )。
A. 5B. 6C. 3D. 411. 引入友元的主要目的是为了()。
A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性12. 如果是类B在类A的基础上构造,那么,就称()。
A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类二、填空(每空1分,15小题,共18分)1. 语言是在语言的基础上发展起来的。
青岛农业大学成人教育《面向对象程序设计》期末考试复习题及参考答案
![青岛农业大学成人教育《面向对象程序设计》期末考试复习题及参考答案](https://img.taocdn.com/s3/m/0804d4ee4b35eefdc9d333a5.png)
46. 一个函数功能不太复杂,但要求被频繁调用,选用_______ 。( A )
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
47. 在 C++中使用流进行输入输出,其中用于屏幕输出的对象是_______ 。( C )
A. cerr B. cin C. cout D. cfile
48. 对 C++语言和 C 语言的兼容性,描述正确的是_______ 。( A )
A.友元函数的实现必须在类的内部定义 B.友元函数是类的成员函数
C.友元函数破坏了类的封装性和隐藏性 D.友元函数不能访问类的私有成员
27.下面叙述不正确的是________ 。(A)
A.基类的保护成员在派生类中仍然是保护成员
B.基类的保护成员在公有派生类中仍然是保护成员
C.基类的保护成员在私有派生类中是私有成员
A.public B. protected C.private D. static
35. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;
另一种是通过_______派生了新的类。 ( B )
A.复用
B.继承
C.封装
D.引用
36. 下列对派生类的描述中,错误的是_______ 。( D )
class Foo {ing bar ;};
则 Foo 类的成员 bar 是_________(C)
A.公有数据成员 B.公有成员函数 C.私有数据成员
D.私有成员函数
15.下列表示引用的方法中,__________是正确的。已知:int m=10; (D)
A. float &t=&m; B.int &y=10;
四川大学成人教育《面向对象程序设计》期末考试复习题及参考答案
![四川大学成人教育《面向对象程序设计》期末考试复习题及参考答案](https://img.taocdn.com/s3/m/621d09b2be1e650e53ea9914.png)
《面向对象程序设计》第一次作业答案单项选择题。
1.C+十函数的声明和定义可以分开,函数声明不需要()。
(D)A.返回类型B.函数名C.参数表D.函数体2.函数的形参是()。
(B )A.全局变呈B.局部变臺C.静态变臺D.部变星3.数组名表示的是数组的()。
(C )A.类型B.用途C.地址D.长度4.如果短整型的长度是2字节,有一个短整型J旨针p的值是0xFFED1200 ,那么p+1的值为()。
(B )A. 0xFFED1201B. 0xFFED1202 C. 0xFFED1203D. 0xFFED12045.private访问属性限制对象的成员可以在(冲访问。
(A )A.本类的成员函数B. main函数C.父类的成员函数D.子类的成员函数6.如果走义了一个类myclass则为myclass类对象以成员函数形式重载后++运算符的声明应该为(1(C)A. myclass operator++();B. myclass& operator++();C. myclass operator++( int );D. myclass& operator++( int);7.如果有如下走义:const char* str = "OK";那么,sizeof ( str)的值应该是()(D )A. IB. 2C. 3D. 48.父类和子类各自走义一个成员函数,函数名相同,参数表不同,那么()。
(D)A.在子类中这两个函数构成重载关系B.子类不会继承父类的这个函数C.子类中的函数会覆盖父类中的函数D.编译时会发生错误9.如果myclass类走义了拷贝构造函数和一个整型参数的构造函数,还重载了赋值运算符,那么语句myclass obj = 100 ;会( )。
(B )A.调用拷贝构造函数B.调用整型参数的构造函数C.调用赋值运算符D.引起编译错误10.抽象类指的是()。
(D)A.没有彳壬何成员的类B.只有成员函数没有数据成员的类C.有虚函数的类D.有纯虚函数的类11.多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递。
面向对象程序设计C++期末考试题及答案
![面向对象程序设计C++期末考试题及答案](https://img.taocdn.com/s3/m/e453bc64bb1aa8114431b90d6c85ec3a87c28bbe.png)
面向对象程序设计C++期末考试题及答案一、选择题(每题5分,共40分)1. 下面哪个不是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 顺序结构答案:D2. C++中,构造函数的名称与类名相同,下列关于构造函数的说法错误的是:A. 构造函数可以重载B. 构造函数不能有返回值C. 构造函数可以没有参数D. 构造函数的参数列表中不能有默认参数答案:D3. 在C++中,析构函数的名称是:A. ~类名B. 类名~C. 析构函数D. ~析构函数答案:A4. 关于静态成员的说法,下列正确的是:A. 静态成员函数不能访问非静态成员B. 静态成员函数只能访问静态成员C. 静态成员变量在类的每个对象中都有独立的副本D. 静态成员变量在类的所有对象中共享一个副本答案:D5. 下面哪个操作符不能用于重载?A. =B. +C. []D. :答案:D6. 关于虚函数的说法,下列错误的是:A. 虚函数可以是构造函数B. 虚函数可以是析构函数C. 虚函数必须有函数体D. 虚函数的返回类型可以是void答案:A7. 在C++中,纯虚函数的定义是:A. virtual 返回类型函数名(参数列表) = 0;B. virtual 返回类型函数名(参数列表) {}C. 返回类型函数名(参数列表) = 0;D. 返回类型函数名(参数列表) {}答案:A8. 下面哪个关键字用于定义模板类?A. templateB. typenameC. classD. template class答案:A二、填空题(每题5分,共30分)1. 面向对象程序设计中的三大特性是:________、________、________。
答案:封装、继承、多态2. 在C++中,构造函数的调用顺序是:先调用基类的构造函数,再调用________的构造函数。
答案:派生类3. 在C++中,析构函数的调用顺序是:先调用________的析构函数,再调用基类的析构函数。
《面向对象的程序设计》期末试卷(A)答案汇总
![《面向对象的程序设计》期末试卷(A)答案汇总](https://img.taocdn.com/s3/m/8b1e341067ec102de2bd8962.png)
电子系计控专业《面向对象的程序设计》期末试卷(A)答案一、选择题(每题1分,共20分)1、如果要改变窗体的标题,则需要设置的属性是 A 。
A. CaptionB. NameC. BackColorD. BorderStyle2、工程文件的扩展名是_C_。
A. frx B. bas C. vbp D.frm3、初始状态下,VB工具箱的控件称为_A_。
A. 标准控件(或内部控件)B. 外部控件C. ActiveX控件D. 可插入对象4、将命令按扭Command1设置为不可见,应修改命令按钮的 A 属性。
A. VisibleB. ValueC. CaptionD. Enable5、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。
用于标识各个控件数组元素的参数是 B 。
A. TagB. IndexC. ListIndexD. Name6、要改变控件的高度,应修改控件的_D_属性。
A. Top B. Left C. Width D. Height7、只能用来显示字符信息的控件是 B 。
A. 文本框 B. 标签 C. 图片框 D. 图象框8、InputBox$(函数返回值的类型为 B 。
A. 数值B. 字符串C. 变体D. 数值或字符串(视输入的数据而定)9、确定复选框是否选中,可访问的属性是_A_。
A. Value B. CheckedC. SelectedD. Caption10、选中复选框时,Value的值为 B 。
A. 0 B.1 C. True D. False11、添加列表框中的项目,应该用列表框的 C 属性。
A. Selected B. Value C. List D. Text12、若要在同一窗体中安排两组单选按扭,可用_D_控件来分隔。
A. 列表框B. 组合框C. 图片框D. 框架13、用户可以通过设置菜单项的_C_属性的值为False来使该菜单项失效。
A. HideB. VisibleC. EnableD. Checked14、在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动事件是 C 。
161青理工成人高等教育期末考试 面向对象程序设计 及参考答案
![161青理工成人高等教育期末考试 面向对象程序设计 及参考答案](https://img.taocdn.com/s3/m/468b2ac6783e0912a3162a41.png)
面向对象程序设计复习题二一、选择题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.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是()。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是()。
A.private 部分 B. protected 部分 C.public 部分 D.以上都不对9、关于常数据成员的说法,不正确的是()。
java面向对象程序设计期末考试题及答案
![java面向对象程序设计期末考试题及答案](https://img.taocdn.com/s3/m/f6142a4d4a73f242336c1eb91a37f111f1850d9f.png)
java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。
答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。
答案:final3. 在Java中,______关键字用于声明一个类是抽象的。
《面向对象程序设计》期末复习题及答案1
![《面向对象程序设计》期末复习题及答案1](https://img.taocdn.com/s3/m/362c4bec9b89680203d825c5.png)
面向对象程序设计》期末复习指导-单选题1. C++源程序文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2. 编写C++程序一般需经过的几个步骤依次是( )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接3. 程序中主函数的名字为()。
A. mainB. MAINC. MainD. 任意标识符4. 存储以下数据,占用存储字节最多的是()。
A. 0B. …0‟C. “0”D. 0.01 5. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc 的表达式是( )。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. x>0 || y==5的相反表达式为()。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==57. 字符串”a+b=12\n”的长度为()。
A. 6B. 7C. 8D. 98. 循环语句“for(int i=0; i<n; i++) cout<<i*i<<’’;”中循环体执行的次数为( )。
A. 1B. n-1C. nD. n+19. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 710. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 711. 循环体至少被执行一次的语句为()。
A. for循环B. while循环C. do循环D. 任一种循环12. 在下面的一维数组定义中,哪一个有语法错误。
JAVA面向对象程序设计(期末考试试题及答案)
![JAVA面向对象程序设计(期末考试试题及答案)](https://img.taocdn.com/s3/m/f6fdf6e1bdeb19e8b8f67c1cfad6195f312be8c2.png)
JAVA面向对象程序设计(期末考试试题及答案)一、选择题(每题5分,共30分)1. 下列哪个不是Java基本数据类型?A. intB. charC. StringD. boolean答案:C2. 下列哪个操作符用于取模?A. %B. /C.D. &答案:A3. 下列哪个关键字用于定义接口?A. classB. interfaceC. extendsD. implements答案:B4. Java中,下列哪个方法可以实现字符串的截取?A. substring(int start, int end)B. substring(int start, int length)C. substring(int index)D. substring(int index, int length)答案:A5. 下列哪个方法用于判断字符串是否为空?A. isEmpty()B. isBlank()C. isEmptyD. isNull()答案:B6. 下列哪个方法用于获取字符串长度?A. length()B. lengthC. size()D. getSize()答案:A二、填空题(每题5分,共30分)1. 在Java中,所有的类都是_______类的子类。
答案:Object2. Java中定义接口时,需要使用_______关键字。
答案:interface3. 在Java中,定义抽象类时需要使用_______关键字。
答案:abstract4. Java中,字符串比较可以使用_______方法。
答案:equals()5. 在Java中,若要实现字符串的翻转,可以使用_______类。
答案:StringBuilder6. 下列哪个方法用于判断字符串是否以指定的字符串开头?答案:startsWith(String prefix)三、编程题(共40分)1. 编写一个Java程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。
c面向对象程序设计期末考试题及答案
![c面向对象程序设计期末考试题及答案](https://img.taocdn.com/s3/m/1dd3475d66ec102de2bd960590c69ec3d5bbdba9.png)
c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 在C++中,以下哪个关键字用于定义类?A. structB. typedefC. enumD. union答案:A2. 以下哪个选项不是面向对象编程的三大特性?A. 封装B. 继承C. 多态D. 抽象答案:D3. 在C++中,构造函数的作用是什么?A. 初始化局部变量B. 初始化成员变量C. 销毁对象D. 计算对象的值答案:B4. 下列哪个关键字用于实现类的继承?A. extendsB. implementsC. inheritsD. public答案:D5. 在C++中,友元函数可以访问类的哪些成员?A. 公有成员B. 私有成员C. 保护成员D. 所有成员答案:D6. 下列关于虚函数的描述,哪个是正确的?A. 虚函数不能在基类中定义B. 虚函数不能在派生类中重写C. 虚函数可以用于实现多态D. 虚函数不能在接口类中定义答案:C7. 在C++中,下列哪个关键字用于定义纯虚函数?A. abstractB. virtualC. overrideD. final答案:B8. 下列关于静态成员的描述,哪个是错误的?A. 静态成员变量可以在类外初始化B. 静态成员函数可以访问类的非静态成员C. 静态成员属于类本身D. 静态成员函数不能访问类的静态成员答案:B9. 在C++中,下列哪个关键字用于定义常量成员函数?A. constB. staticC. finalD. abstract答案:A10. 下列关于运算符重载的描述,哪个是正确的?A. 运算符重载不能改变运算符的优先级B. 运算符重载可以改变运算符的结合性C. 运算符重载可以改变运算符的操作数数量D. 运算符重载可以改变运算符的类型答案:A二、填空题(每题2分,共20分)1. 在C++中,使用关键字________定义类。
答案:class2. 面向对象编程的三大特性包括封装、继承和________。
c面向对象程序设计期末考试题及完整参考答案
![c面向对象程序设计期末考试题及完整参考答案](https://img.taocdn.com/s3/m/0b53ceaa050876323012124d.png)
3.distanee/400.0改为distanee/400或者distanee/400.0f;
4.public float ISwimmable.Run(float distanee)改为float ISwimmable.Run(float distanee)
7.类索引函数的参数类型必须为或。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的实现,此时这个方法是这个
类的员,不能通过类的实例来访问。
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和,并通过在关键
字operator后跟操作符来声明。
二、判断题(每小题1分,共5分)
public virtual float Run( float dista nce)
{
retur n dista nce/Speed;
}
public Automobile(float speed)
{
Speed = speed;
}
}
public class Amphicar:Automobile, ISwimmable
Console.WriteLine("{0}空中飞行1000公里需{1}小时", plane, plane.Run(1000)); //调用IFlyable接口Run方法
Con sole.ReadL in e();
}
}
public in terface IFIyable
{
public float Run( float dista nee);
面向对象程序设计》期末试卷及标准答案
![面向对象程序设计》期末试卷及标准答案](https://img.taocdn.com/s3/m/427abbc077a20029bd64783e0912a21615797f5c.png)
⾯向对象程序设计》期末试卷及标准答案《⾯向对象程序设计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);D. double sum(int y, int x);6、下列表⽰引⽤的⽅法中,( A )是正确的。
已知:int a=1000;A. int &x=a;B. char &yC. int &z=1000;D. float &t=&a7、在⼀个函数中,要求通过函数来实现⼀种不太复杂的功能,并且要求加快执⾏速度,选⽤( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX大学继续教育学院面向对象程序设计试卷(A)学年:学期:
年级:专业:学习形式:层次:
(本试题满分100分,时间90分钟)
一.选择题(每题2分,共20分)
1. 下列关于包的描述中,错误的是
A.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种
2. 下列关于Applet程序的描述中,错误的是
A.Applet程序的主类必须是Applet类得子类
B.Applet不是完整的独立程序
C.Applet程序的主类中应有一个main()方法
D.Applet的字节码文件必须嵌套在一个HTML文件中
3. 下列界面元素中,不是容器的是
A. Dialog B.Frame C.List
D.Panel
4. 设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是A
A.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66; 5. Java语言的类间的继承关系是
A.多重的B.单重的C.线程的D.不能继承
6. 下列语句序列执行后,k 的值是
int i=10, j=18, k=30;
switch( j - i ) {
case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A.31 B.3 C.2 D.33
7. 设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是A.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x < z ) 8. 下列修饰符中,定义类头时能使用的修饰符是
A.private B.static C.abstract
D.protected
9. 设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是A.x( int m){ ... } B.void x( int m){ ... } C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... }
10. 下列对封装性的描述中,错误的是
A.封装体包含了属性和行为
B.封装使得抽象的数据类型提高了可重用性
C.被封装的某些信息在封装体外是不可见的
D.封装体中的属性和行为的访问权限是相同的
二.填空题(每空2分,共20分)
1. 构造方法是一种特殊的成员方法,构造方法名与相同,并且此方法(填有/无)有返回值。
2. 三目运算符的3个操作数中,第一个操作数的类型必须是型的。
3. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode 码占用字节内存空间,这样,无论是中文字符还是英文字符,都是占用字节内存空间。
4.使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。
5. 定义类的关键字是,定义接口的关键字是。
6. Java语言中,多态性主要表现在两个方面:和。
三.读程题(每题5分,共20分)
1.
class B {
int b;
B(int x) {
b = x;
System.out.println("b=" + b);
}
}
class A extends B {
int a;
A(int x, int y) {
super(x);
a = y;
System.out.println("b=" + b + ",a=" + a);
}
}
public class Test {
public static void main(String[] args) {
A obj = new A(13, 23);
}
}
2.
public class Output1 {
public static void main(String arge[]) {
int i=0;
for ( char ch = 97; ch<113; ch++,i++) {
if( i % 8 == 0 )
System.out.println(" ");
System.out.print("\t" +ch);
}
}
年级:专业:考试科目:}
(1)程序第5、6行的if语句的功能是什么?
(2)程序输出的结果有几行?
3.
public class Test1 {
public static void main(String[] agrs) {
AB s = new AB("Hello!", "I love JAVA.");
System.out.println(s.toString());
}
}
class AB {
String s1;
String s2;
AB(String str1, String str2) {
s1 = str1;
s2 = str2;
}
public String toString() {
return s1 + s2;
}
}
4.
class B {
int b;
B(int x) {
b = x;。