电大面向对象程序设计期末复习题
- 格式:doc
- 大小:69.00 KB
- 文档页数:11
(完整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。
《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题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. 语言是在语言的基础上发展起来的。
电子科技大学22春“计算机科学与技术”《面向对象程序设计》期末考试高频考点版(带答案)一.综合考核(共50题)1.下列()关键字通常用来给对象进行加锁,该标记使得对对象的访问是排他的。
A.transientB.synchronizedC.staticD.serialize参考答案:B2.下列()是Java的调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试。
A.javaprof.exeB.java.exeC.javadoc.exeD.jdb.exe参考答案:D3.在Java中,子类重新定义一个与从父类那里继承来的域变量(成员变量)完全相同的变量,这称为域的()。
A.隐藏B.重载C.覆盖D.Java不支持此特性参考答案:C4.A class can implement as many interfaces as needed.()A.正确B.错误5.()类是所有异常类的父类。
A.ThrowableB.ExceptionC.ErrorD.AWTError参考答案:B6.Java语言中,字符变量以char类型表示,它在内存中占()位bit。
A.8B.32C.2D.16参考答案:D7.在Java中,用()关键字定义常量。
A.fixedB.finalC.#defineD.const参考答案:B8.下列语句输出结果为()。
public class A{public static void main(String[]args){byte b=0xa; System.out.println(b);}} 。
A.aB.10C.1D.0xa参考答案:B下列叙述错误的是()。
A.Java语言允许使用指针访问内存B.Java是一种面向对象的网络编程语言C.Java提供了类库支持TCP/IP协议D.Java Applet程序在网络上传输不受硬软件平台的限制参考答案:A10.import java.awt.*;public class X extends Frame{public static void main(String[] args){X x=new X();x.pack();x.setVisible(true);}public X(){setLayout(new GridLayout(2,2));Panel p1=new Panel(); add(p1);Button b1=new Button("One"); p1.add(b1);Panel p2=new Panel(); add(p2);Button b2=new Button("Two"); p2.add(b2);Button b3=new Button("Three"); p2.add(b3);Button b4=new Button("Four"); add(b4);}}when the frame. is resized, ()A.all change height and widthB.Button Two change height and Button Three change widthC.Button One change heightD.Button Four change height and width参考答案:D11.下列代码的执行结果是()。
OOP技术:面向对象程序设计期末复习指导面向对象程序设计课程系中央电大开放教育本科计算机科学与技术专业统设必修课程,本课程的期末复习以中央电大下发的资料和网上复习指导为准。
为了加强期末复习,下面市电大给出一套综合练习题,仅作参考。
综合练习题一、单选题1、 C++源程序文件的默认扩展名为( )。
A:cpp B:exe C:obj D:lik2、用new运算符创建一个含10个元素的一维整型数组的正确语句是( )。
A: int *p=new a[10];B: int *p=new float[10];C: int *p=new int[10];D: int *p=new int[10]={1,2,3,4,5}3、假定有“struct BOOK{char title[40]; float price;}; BOOK *book=new BOOK;”,则正确的语句为()。
A: strcpy((*book)->title,”Wang Tao”);B: strcpy(*book.title,”Wang Tao”);C: strcpy(book->title,”Wang Tao”);D: strcpy(book.title,”Wang Tao”);4、假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句()。
A: delete p;B: delete *p;C: delete &p;D: delete []p;5、关于消息,下列说法中不正确的是()。
A: 发送消息的对象请求服务,接受消息的对象提供服务B: 消息的发送者必须了解消息的接收者如何相应消息C: 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用D: 每个对象只能接收某些特定格式的消息6、对于任一个类,用户所能定义的析构函数的个数至多为( )。
A: 0 B: 1 C: 2 D: 任意个7、 do语句能够改写为()语句。
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。
A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。
A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。
A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。
A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。
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.设x和y均为bool量,则x && y为真的条件是( )。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假2. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0;while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 73. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A. p=new int;B. p=new int*;C. p=new int**;D. p=new int[10];4. 以下关于函数模板叙述正确的是()。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型5. 在多文件结构的程序中,通常把类的声明单独存放于()中。
A. 主文件B. 实现文件C. 库文件D. 头文件6. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A. pb=b;B. pb=&b[0];C. pb=new int;D. pb=b[5];7. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(0);”语句后,x.a和x.b的值分别为( )。
A. 0和0B. 0和1C. 1和0D. 1和18. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x 为该类的一个对象,则访问x对象中数据成员a的格式为()。
A. x.aB. x.a()C. x->GetValue()D. x.GetValue()9. C++的继承性允许派生类继承基类的()。
A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性10. 假定AB为一个类,则执行“AB x;”语句时将自动调用该类的( )。
《面向对象程序设计》复习要点及复习题(一)复习要点1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。
3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。
5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。
6.虚函数与动态绑定、纯虚函数与抽象类(二) 复习题一、单项选择题。
1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C)。
A. continueB. gotoC. breakD. default2.说明友元函数的关键字是(D)。
A. inlineB. virtualC. staticD. friend3.下面对指向常量的指针描述正确的是(C)。
A. 只能指向常量B. 指向的数据可以被修改C. 可以指向普通变量D. 必须进行初始化4.友元函数没有(A)。
A. this指针B. 返回类型C. 函数名D. 参数5.关于重载,(A)不正确。
A. 类名可以重载B. 函数名可以重载C. 运算符可以重载D. 缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数组的指针。
A. 0B. 1C. n-1D. n7.为类X重载前缀自增运算,则函数返回类型应为(C)。
A. XB. X*C. X&D. int8.以下(A)未调用构造函数(X为类名)。
A. X*p;B. X obj;C. X obj(1);D. X obj=2;9.若在类外有函数调用X::func();则函数func是类X的(C)函数。
面向对象程序设计复习资料(可编辑修改word版)面向对象程序设计期末总复习题一、单项选择题1.下面关于对象概念的描述中,是错误的。
(B)A.对象代表着正在创建的系统中的一个实体B.对象就是C 语言中的结构体变量C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的2.继承机制的作用是:(C)A.信息隐藏B.数据封装C.定义新类D.数据抽象3.有关析构函数的说法不正确的是(D)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数没有形参D.析构函数不能是虚函数4.友元的作用之一是(A)A.提高程序的运行效率B.加强类的封装性C.实现数据的隐藏性D.增加成员函数的种类5.通常拷贝构造函数的参数是。
(C)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名6.如果在基类中将show 声明为不带返回值的纯虚函数,正确的写法是。
(C)A.irtual show()=0;B.virtual void show();C.virtual void show()=0;D.void show=0 virtual;7.下面关于友元的描述中,错误的是。
(D)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承8.在C++中,运算符不能重载。
(B)A. +B.?:C.-D.<=9.下列关于运算符重载的描述中,是正确的。
(D)A.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构10.在下列函数原型中,可以作为类AA 构造函数的是(D)A.void AA(int) ; B.int AA( ) ; C.AA(int)const; D.AA(int);11.在声明类时,下面的说法正确的是。
(C)A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是 registerC.private,public,protected 可以按任意顺序出现D.没有用private,public,protected 定义的数据成员是公有成员12.继承具有,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。
电大面向对象程序期末复习题目与答案(精选)一、单选题,在括号内填写正确的选项编号{每小题2分,共20分)1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A.颜色B.动态 c.状态 D 重量2.使用JDK编译Java程序时使用的命令是( )。
A. javaB. javacC. appletviewer D javadoc3.包含主方法的类被称为主类,主方法的存储控制属性应定义为()。
A. finalB. abstractC. short Do static4.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为( )。
A. constB. finalC. static D public5.JaV3 语言中规定的转义字符,以()字符作前缀。
A. B.I C. / D.\6.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
A.封装性B.多态'性C.继承性D.开放性7.具有()访问权限的成员能够被本类和其他任何类中的成员所访问。
A. publicB. protectdC. privateD.缺省8.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract9.下面的关键字( )与异常处理无关。
A. throwB. throwsC. importD. finally10.下面( )既可以作为流的数据源,又可以作为流的目的地。
A.键盘B.磁盘文件c.显示器D.扫描仪二、是非判断题,在每小题后面括号内打上对号、/表示叙述正确,打上叉号×表示叙述错误11. Java既支持类的单继承,又支持类的多重继承。
( )12.在一个派生类中,能够定义与上层父类中的成员具有相同名称的成员。
( )13.派生类可以直接访问从父类中继承下来的所有成员。
( )14.在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。
电子系计控专业《面向对象的程序设计》期末试卷(B)答案一、选择题(每题2分,共40分)1、下列关于窗体的描述中,错误的是A。
A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中B. 窗体的Load事件在加载窗体时发生C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止D. 窗体的Height、Width属性用于设置窗体的高和宽2、窗体文件的扩展名是_D_。
A.frxB. basC. vbpD. frm3、双击窗体上的控件后,将显示的窗口是 C 。
A. 项目(工程)窗口B. 工具箱C. 代码窗口D.1属性窗口4、表示滚动条控件取值范围最大值的属性是__A__A. MaxB. LargeChangeC. ValueD. Max-Min5、若要设置文本框中文本所显示的颜色,使用的属性是_C__。
A. BackColorB. FillColorC. ForeColorD. BackStyle6、下列属性中, B 属性是列表框不具有的。
A. NameB. CaptionC. ColumnsD. Text7、设计动画时,通常用定时器控件的A属性来控制动画速度。
A. IntervalB. ValueC. MoveD. Enabled8、改变控件在窗体中的左右位置,应设置该控件的__B__。
A. TopB. LeftC.WidthD.Height9、可以同时删除字符串前导和尾部空格的函数是 C 。
A. LtrimB. RtrimC. TrimD. Mid10、列表框的_B_属性返回或设置列表框中各列表项的文本。
A. SelectedB. ListC. TextD. Caption11、以下选项中,不是VB标准控件的是_C_。
A. 单选框B. 复选框C. 对话框D. 定时器12、为了把焦点移到某个指定的控件,所使用的方法是 D 。
A. SetFocusB. VisibleC. RefreshD. GetFocus13、Byte类型的变量可存的最大整数是_A_。
《面向对象程序设计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 )是正确的。
国家开放大学(面向对象程序设计)[填空题]1试述值类型和引用类型的区别?参考答案:值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。
值类型变量直接把变量的值保存在栈中,引用类型的变量把实际数据的地址保存在栈中,而实际数据则保存在堆中。
[填空题]2试述下面代码的输出结果是什么?参考答案:old3[填空题]3简述装箱和拆箱的过程。
参考答案:装箱(boxing)是将值类型隐式地转换为引用类型。
如int i=3;object o = i ;便是装箱过程,装箱一个数值会为其分配一个对象实例,并把该数值拷贝到新对象中。
拆箱(unboxing)是显式地把引用类型转换成值类型,如int j = (int)o char j= (char)。
[填空题]4什么是静态变量?参考答案:类的数据成员可以分静态变量、非静态变量两种.静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在内容中。
一个类中可以同时包含静态成员和非静态成员,类中也包括静态构造函数和非静态构造函数。
[填空题]5试述abstract class和interface有什么区别?参考答案:[填空题]6进程和线程分别怎么理解?参考答案:1)定义解释进程是具有一定独立功能程序在关于某个数据集上的一次运行活动。
进程是系统进行资源分配和调度的一个独立单位。
线程是进程的一个实体,是Cup调度的基本*单位。
《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。
)01、下列关于C++函数的叙述中,正确的是( C )。
A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。
A)一个类只能有一个对象 B)对象是类的具体实例C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( D )。
A)内联函数 B)重载函数 C)模板函数 D)虚函数!04、下列关于运算符重载的叙述中,正确的是( B )。
A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句 cout<<x<<endl;错误的是描述是( D )。
A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符(插入运算符)06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( 保护数据成员个数1,保护陈谷原函个数2 )。
( B )class MyBASE{ private: int k;public: void set(int n){ k=n;}int get( )const{ return k;} };class MyDERIVED: protected MyBASE{ protected: int j;public: void set(int m, int n){ MyBASE::set(m); j=n;}int get( ) const { return MyBASE::get( )+j; } };A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。
⾯向对象程序设计》期末试卷及标准答案《⾯向对象程序设计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分,12小题,共12分)C++源程序言件的缺省扩展名为()。
A.cppB.exeC.objD.lik2.x>0||y==5 的相反表达式为()。
A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53. 在下边的字符数组定义中,有语法错误的选项是( )。
A.chara[20]= “abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]= ’5’;以下正确的函数原型语句是()。
doublefun(intx,inty)doublefun(intx;inty)doublefun(int,int);doublefun(intx,y);5. 在下边储存类中,()的对象不是局部变量。
A. 外面静态类B. 自动类C. 函数形参D. 寄存器类6. 假设有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,则正确的语句是()。
A.strcpy(book->title, ”WangTao”);B.strcpy(book.title,”WangTao”);C. strcpy(*book.title, ”WangTao”);D.strcpy((*book)->title, ”WangTao”);7. 软件产品所拥有的所有或部分地再用于新的应用的能力称为该软件的()。
A. 可保护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,往常把含有main()函数的文件称为()。
A. 主文件B. 实现文件C. 程序言件D. 头文件9. 在一个用链表实现的行列类中,假设每个结点包括的值域用elem表示,包括的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail 表示,若链队为空,则进行插入时一定把新结点的地点赋给 ( ) 。
一、单项选择题1.退出Visual Basic的快捷键是()。
CA.Ctrl + Q B.Shift + Q C.Alt + Q D.Ctrl + Alt + Q2.以下四个VB的变量名中,不合法的是()。
CA.Print_Num1 B.Abc% C.Const D.X1_y2_z33设置ADO数据控件RecordSource属性为数据库中的单个表名,则CommandType属性需要设置为()。
B A.adCmdText B.adCmdTable C.adCmdStoredProc D.adCmdUnknown4设有如下过程:Sub ff( x,y,z )x = y + zEnd Sub以下所有参数的虚实结合都是传址方式的调用语句是()。
BA.Call ff ( 5,7,z )B. Call ff ( x,y,z )C. Call ff ( 3 + x,5 + y,z )D. Call ff ( x + y,x - y,z )5.菜单的热键指使用Alt键和菜单标题中的一个字符来打开菜单,建立热键的方法是在菜单标题的某个字符前加上一个()字符。
CA.% B.$ C.& D.#6.函数Int( 76 * RND() )的值是在()范围内的整数。
CA. [1,75]B. [1,76]C. [0,75]D. [0,76]7.以下能够触发文本框Change事件的操作是()。
DA. 文本框失去焦点B.文本框获得焦点C. 设置文本框的焦点D.改变文本框的内容8.设组合框Combo1 中有3个项目,则以下能删除最后一项的语句是()。
BA.Combo1.RemoveItem Text B.Combo1.RemoveItem 2C.Combo1.RemoveItem 3 D.Combo1.RemoveItemCombo1.Listcount9.要使菜单项Menu1在程序运行时失效,使用的语句是()。
DA.Menu1.Visible=True B.Menu1.Visible =False C.Menu1.Enabled=True D.Menu1.Enabled=False10.以下叙述中错误的是()。
一、单选题,在括号内填写正确的选项编号{每小题2分,共20分)1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A.颜色B.动态 c.状态 D 重量2.使用JDK编译Java程序时使用的命令是( )。
A. javaB. javacC. appletviewer D javadoc3.包含主方法的类被称为主类,主方法的存储控制属性应定义为()。
A. finalB. abstractC. short Do static4.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为( )。
A. constB. finalC. static D public5.JaV3 语言中规定的转义字符,以()字符作前缀。
A. B.I C. / D.\6.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。
A.封装性B.多态'性C.继承性D.开放性7.具有()访问权限的成员能够被本类和其他任何类中的成员所访问。
A. publicB. protectdC. privateD.缺省8.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract9.下面的关键字( )与异常处理无关。
A. throwB. throwsC. importD. finally10.下面( )既可以作为流的数据源,又可以作为流的目的地。
A.键盘B.磁盘文件c.显示器D.扫描仪二、是非判断题,在每小题后面括号内打上对号、/表示叙述正确,打上叉号×表示叙述错误11. Java既支持类的单继承,又支持类的多重继承。
( )12.在一个派生类中,能够定义与上层父类中的成员具有相同名称的成员。
( )13.派生类可以直接访问从父类中继承下来的所有成员。
( )14.在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的引用对象。
( )15.在一个抽象类中,不允许包含任何成员变量和构造方法。
( )16.接口中的成员方法都默认具有pu blic和abstract的修饰属性。
( )17.在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。
( )18.在Java语言中,声明包语句可以出现在一个Java程序文件的任何位置。
( )19.向量类Vector中的size()方法能够返回调用向量中当前保存的元素的个数。
( )20. FileWriter类的构造函数的参数不是一个文本文件名。
( )21.输入流类(InputStream)和输出流类( OutputStream)是用来处理字符流的抽象基类。
()22. DatalnputStream类的文件流能够从二进制文件中读出基本类型的数据。
( )23. 在图形用户界面中,原子组件是不能同用户进行交互的组件。
( )24. 在Java程序中,既允许创建单个线程,也允许创建多个线程。
( )25.如果在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时将隐含调用父类的元参构造方法。
( )三、填空题,在横线上填写正确的内容(每空1分,共15分}26.Java语言中的逻辑类型的关键字为,它的两种取值分别为关键宇true和false。
27. 用于修饰类的成员具有公有访问属性的关键字为28. 假定整数变量x的值为10,则执行y=2 * x++赋值后,y的值为。
29. 类中的方法不需要给定返回值类型。
30. 当类中的成员定义采用static关键宇修饰时,则称该成员为类的(静态/实例) 成员。
31.类中的成员方法也可以使用关键字进行修饰,表示该方法不能被子类所重新定义。
32.在方法调用的参数传递中,若为(按值/引用) 传递,方法体中对形参内容的修改不影响实参的值。
33. 定义一个终结类时需要在类首部的关键字class前使用修饰符。
34. 假定一个字符串对象x的值为"abc",则x. concat("def勺的值为。
35. 假定要访问→维数组X中的第k个元素,则对应的元素(下标变量)表示为。
36. 基本数据类型boolean对应的包装类为。
37.在Java语言中,程序运行时发生的运行错误又分为致命性的严重错误和非致命性的-般错误两种,异常属于错误。
38.Java语言中的System. out表示标准(输入/输出) 流。
39. 对于原子组件,根据功能的不同,可以被分为类。
40. 每个线程具有四种基本状态:就绪状态、、死亡状态和阻塞状态。
四、写出下列每个程序编译和运行后的输出结果41. public class XXK {public static void main(String[ ]args) {int x , y=O;for(x=l; x<lO; x+十)ifCx%2==0) y+=x祷x;System. out. println("y= "+y) ;42. public class XXK2 {private final int a;public XXK2(int a) {this. a=a;)public int f1 (int x) {if(x%2= =1) return a+x;else return a-x;public static void main(String[] args) {XXK2 x=new XXK2(3);int y= x. f1(l() ;System. out. println("y="+y);43. class Rectangle {private int a ,b;public RectangleCint aa , int bb) {a=aa; b=bb;}public int areaO {return a势b;}public int girthO {return 2券(a十b);}public class XXK3 extends Rectangle {privateInt c;public XXK3(int aa , int bb , int cc) {super(aa,bb); c=cc;}public int volumeO {return areaO赞c;}publicint arrisLengthO {return 2替girthO+4祷c;}public static void main(Stri吨口args){XXK3x=new XXK3 (l ,3,5) ;int yl =x. volumeO;int y2 =x. arrisLength() ;System.Olit. println(y1 +", "+y2);44. public class XXK4 {public static void main(String[] args) {int口[丁a={凹,5,剖,{3,6,9},{4 ,5,6}};int 8=0;{orCint i=O; i<a.length; i十十){or(int j=O; j<a[i].length; j+十)自+= a[i][jJ;System.out.printirk"5="十s)45.class ABC {inta ,b;public ABCCint a , int b) {this. a=的this.b=b;}public int compareToCABC x) {return a祷b-x.a祷x.b; }public class XXK5 {public static void mainCString[J args) {int [J[Jd={{3,肘,饨,6},{5,6},{2,9},饵,7}};ABC口arznewABC[5j;int i,k=O;for (i=O; i<d.length; i++)ar[iJ= new ABCCd[iJ[OJ,d[i丁[lJ);forCi=l; i<ar.length; i++)if(ar[i]. compareToCar[k].O) k=i;System. out. printlnC"k= "+ k) ;一、单选题,在括号内填写正确的选项编号1. B2.B3.D4.C5.D6.A7.A8.B9.C 10.B二、是非判断题,在每小题后面括号内打上对号J表示叙述正确,打上叉号×表示叙述错误11. X(错) 12. .J(对) 13. X(错) 14. .J(对) 15. X(错) 16. .J(对) 17. X(错) 18. X(错) 19. .J(对) 20. X(错) 21. X(错) 22. .J(对)23. X(错) 24.、J(对) 25. .J(对)三、填空题,在横线上填写正确的内容26. boolean 27. public 28. 20 29.构造30.静态31. final 32.按值33. final 34. "abcdef" 35. x[k一lJ 36. Boolean37.一般38.输出39. 3 40.运行状态四、写出下列每个程序编译和运行后的输出结果41. y=120 42. y=一7 43. 15 , 36 44. s=48 45. k=2一、单项选题1.设x和y均为bool量,则x && y为真的条件是( )。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假2. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0;while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 73. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A. p=new int;B. p=new int*;C. p=new int**;D. p=new int[10];4. 以下关于函数模板叙述正确的是()。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型5. 在多文件结构的程序中,通常把类的声明单独存放于()中。
A. 主文件B. 实现文件C. 库文件D. 头文件6. 假定有定义“int b[10]; int *pb;”,则不正确的赋值语句为()。
A. pb=b;B. pb=&b[0];C. pb=new int;D. pb=b[5];7. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(0);”语句后,x.a和x.b的值分别为( )。