面向对象程序设计期末针对性训练

合集下载

面向对象程序设计(Java)期末试卷

面向对象程序设计(Java)期末试卷

昆明理工大学《面向对象程序设计(Java)》期末试卷年级:专业:姓名:一、单项选择题(每小题2分,共30分)1.下列不是JAVA的关键字的是( )。

A.constB.nullC.falseD.this2. 在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。

A.if-elseB.switchC.tryD.Throw3.在编写Java Application程序时,若需要使用到标准输出语句,必须在程序的开头写上的语句是:( )A.import java:awt.*B.import java:applet.AppletC.import java:io.*D.import java:awt.Graphics4. 编译一个自定义一类,提示:jav(A):lang. NoSuchMethodError;最有可能的错误原因是( )。

A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确5.设a = 3,则表达式a<<a的值为:( )。

A.16B.8C.24D.126.编译一个自定义一类,提示:ng. NoSuchMethodError;最有可能的错误原因是( )。

A.变量没有找到B.没有引入某个包或者引入的包的版本不对C.编译环境设置不正确D.包路径名不正确7.下列叙述错误的是:( )。

A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类8.在下述Java语言语句中,错误的创建数组的方法是( )。

A.int intArray [ ]; intArray=new int[5];B.int intArray [ ]=new int[5];C.int [ ] intArray ={1,2,3,4,5};D.int intArray [5]={1,2,3,4,5};9.Java应用程序中,程序执行的总入口方法是:( )A.init()B.start()C.run()D.main()10.构造ArrayList类的一个实例,下面哪个方法是正确的:( )A.ArrayList myList = newObject();B.ArrayList myList = newArrayList();C.myList = newObject();D.myList=new ArrayList();11.表达式:(x>y)? w:z:(其中x=5,y=9,z=1,w=9)的值为:( )A.5B.8C.1D.912.字符串是Java已定义的类型,关于它的构造函数,下面不正确的是:( )A.String(char[] value, int offset, intcount);B.String(int[] codePoints, int offset,int count);C.String(Stringoriginal);D.String(StringBuffer buffer);13.指出正确的表达式:( )A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;14.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?( )A.FileInputStream in=newFileInputStream("file.dat"); in.skip(9); int c=in.read();B.FileInputStream in=newFileInputStream("file.dat"); in.skip(10); intc=in.read();C.FileInputStream in=newFileInputStream("file.dat"); int c=in.read();D.RandomAccessFile in=newRandomAccessFile("file.dat"); in.skip(9); intc=in.readByte();15.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )A.javaB.classC.htmlD.exe二、判断题(对的打“√”,错的打“×”,每小题2分,共20分)16.一个JAVA类可以有多个父类。

面向对象程序设计期末综合练习2(填空题)

面向对象程序设计期末综合练习2(填空题)

面向对象程序设计期末综合练习二(填空题)填空题1.以面向对象方法构造的系统,其基本单位是____对象_____。

2.每个对象都是所属类的一个____实例______。

3.对象将其大部分实现细节隐藏起来,这种机制称为___封装_______。

4.基类和派生类的关系称为____继承______。

5.复杂对象可以由简单对象构成,这种现象称为_______聚合___。

6.对象是对问题域中客观事物的_抽象_,它是一组属性和在这些属性上操作的_封装体______。

7.特殊类的对象拥有其一般类的全部属性与操作,称特殊类____继承____了一般类。

8.如果一个派生类的基类不止一个,则这种继承称为_____多继承_______。

9.如果一个派生类只有一个唯一的基类,则这样的继承关系称为____单继承______。

10.C++支持两种多态性:____编译_____时的多态性和_____运行_____时的多态性。

11.在C++中,编译时的多态性是通过_____重载_____实现的,而运行时的多态性则是通过______虚函数____实现的。

12.面向对象软件开发的生命周期分为三个阶段,即分析、____设计__和___实现____。

13.面向对象的分析包括_____问题域_____分析和____应用__分析两步。

14.类定义中,既包含数据成员,也包含____函数____成员。

15.类中的数据成员的访问属性通常被指明为___private_____。

16.类中的供外部调用定义的函数成员,其访问属性通常被定义为_____public___。

17.对于类中定义的任何成员,其隐含访问权限为____ private_____。

18.对于结构中定义的任何成员,其隐含访问权限为_____ public____。

19.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为___ private______。

20.若在类的定义体中给出了一个成员函数的完整定义,则该函数属于___内联_____函数。

java面向对象程序设计期末考试题及答案

java面向对象程序设计期末考试题及答案

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中,______关键字用于声明一个类是抽象的。

《面向对象程序设计(本科)》2019-2020期末试题及答案

《面向对象程序设计(本科)》2019-2020期末试题及答案

面向对象程序设计 试题 第 1 页 共7页
《面向对象程序设计(本科)》2019-2020期末试题及答案
一、单选题:从供选择的答案中选出正确的答案,将其字母编号填入下列叙述的括号内(每小题4分,共40分)。

请将答题结果填入该表:
1. 在C#.Net 中,用来创建主菜单的对象是( )。

A. Menu B.MenuItem C.MenuStrip D.Item 5.在
C#中,定义派生类时,指定其基类应使用的语句是( )。

A.Inherits
B.:
C.Class
D.Overrides 3.加载窗体时触发的事件是( )。

A. Click
B.Load
C.GotFoucs
D.DoubleClick 4.属于C#语言的关键字( )。

A. abstract
B. camel
C. Salary
D. Employ 2. 以下说法正确的是( )。

A. 接口可以实例化
B. 类只能实现一个接口
C. 接口的成员都必须是未实现的
D. 接口的成员前面可以加访问修饰符
6.在VC#.Net 中,可以标识不同的对象的属性是( )。

A.Text
C.Title
D.Index 7.在C#中定义接口时,使用的关键字是( )。

计本03《面向对象程序设计》期末试卷 [A卷]

计本03《面向对象程序设计》期末试卷 [A卷]

计本03级《面向对象程序设计》期末试卷[A卷] 第1页共8页计本03级《面向对象程序设计》期末试卷 [A卷]一、判断题,正确的打√,错误的打×(每小题1分,共计10分)1、C语言与C++语言的最大区别是:C语言程序是以.C作后缀的,而C++语言程序是以.CPP 作后缀的。

2、在C++语言中,字符串在内存中存放时,最后是以ASCII值为0的字符作为结尾标识的。

3、在C++语言中,语句#include “file1.h”和语句#include <file1.h>是等价的。

4、C++中标识符内的大小写字母是没有区别的。

5、所有的MFC应用程序都必须有一个且只有一个CWinApp对象。

6、当将一个类A定义为另一个类B的友元类时,类A的所有成员函数都可以直接访问类B的所有成员。

7、在C++中用new分配的内存空间,在不需要时一般用free将该空间释放。

8、Visual C++集成开发环境中,一个Workspace 中可以创建多个Project。

9、在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。

10、语句“int (*p)(int x, int y);”说明了p是一个指向整数的指针。

二、简答题(共21分)1、什么是类?什么是对象?简要说明用面向对象的程序设计方法开发出的程序的运行过程。

(9分)2、在VC++6.0中,用MFC开发一个工程,一般是每个类会对应有一个.CPP源文件和一个.H 头文件。

简要说明程序中如何在一个类中使用另一个类的成员。

(6分)3、在C++中,分别使用while 和do…while 语句等价实现下列for语句的功能:for (i=1,k=0;i<10;k+=i++); (6分)三、填空题(10分)下面main()是一个求1+(1+2)+(1+2+3)+...+(1+2+3+...+n)之和的程序。

递归函数NSum(n)求1+2+…+n的和。

面向对象的程序设计技术期末试题_百度文库资料

面向对象的程序设计技术期末试题_百度文库资料

面向对象的程序设计技术期末试题一、单选题(25分)1 面向对象的程序设计技术中对象有三个最基本的性质,他们分别是:A 封装、继承和多态B 封装、继承和接口C 封装、异常和继承D 抽象、自治和可视化2 关于封装,比较准确的说法是:A 程序不能修改B 程序不能被其它程序调用C 程序语句和变量仅在对象内部生效D 对象之间不能相互通信3 关于对象的最准确的描述是:A 对象是能够显示在屏幕上的有形界面B 对象是程序,数据或者两者的组合C 对象就是一个类D 对象是整数和字符串总称4 对于类最准确的描述是:A 类一般是由一些数据和管理这些数据的一些程序组成的B 类是一组数据C 类是一组对象D 类必须实例化才有效5 下面说法不准确的描述是:A IOException是数据输入输出异常B ArrayIndexOutBoundException是下标出界异常C NumberFormatException是数值格式转换异常D ArithmeticException是中断异常6 关于继承的最准确的描述是:A 继承是相对于父类和子类而言的,对于继承来的子类方法不能改变B 父类可以继承子类的方法C 子类可以继承父类的方法,也可以继承父类的成员变量D子类可以继承父类的方法,但不可以继承父类的成员变量7关于多态的最准确的描述是:A一个类有多个成员变量B一个类有多个方法C一个类中有多个同名的方法D 一个类中有多个引用相同成员变量的方法8关于接口的最准确的描述是:A 接口都是系统提供的B 接口包括特定名称的方法,但这些方法没有具体功能C 接口必须和一个类绑定后才能生效D 接口中的方法必须在绑定到一个类时实现具体功能9关于包的最不准确的描述是:A 包用于划分一些工具组件所在的位置B 包都是由语言系统提供的C 一个包中只能有一个工具组件D 一般在引用一个工具组件是都需要是用import语句指明工具组件所在的包9在面向对象的程序设计技术中,关于方法不准确的说法是:A 方法在一个类的内部函数B 在一个类中最多只能由一个方法C 任何一条语句都必须出现在一个方法中D 类不能没有方法10 一个类一般是由和构成的A 方法和成员变量(域变量)B 接口和菜单C 对象和事件D 包和异常11 在String 类中,用于判定是否等同于另一个字符串的方法是A equalsB substringC charAtD toLowerCase12 在String 类中,用于去除两端空格的方法是:A trimB toUperCaseC valueOfD toString13 在String 类中,用于确定一个特定位置时什么字符的方法是:A charAtB lengthC compareToD indexOf14 在Integer 类中,用于将一个字符串转换成位整数的方法是:A parseIntB parseFloatC toStringD equals15 关于构造方法,不准确的说法是:A 构造方法和类同名B 一个类可以有一个或者多个构造方法C 构造方法是在生成这个类的实例时执行的初始化函数D 构造方法不能继承16 定义一个抽象类的正确语句是:A final class abc{ }B abstract class abc { }C public class abc { }D class abc extends abstract { }17 下面的哪一个不是JAVA语言中有效的类修饰符:A publicB staticC voidD final18静态方法中的修饰符static 嘴准确的说法是:A 该方法不可继承B 该方法不可以重载,即在子类中不能重新改写来自父类的同名方法C 该方法属于类,不属于实例,因此可以不经过实例化就直接引用D 静态变量可以调用类的非静态方法19 在语句public static void main(String aa[] 中,public表示:A 该方法可以被其他类直接调用B 该方法可以被同类内部的其他方法调用,但不能被其他类的任何方法调用C 该方法不能继承D 该方法不能被重写。

2021 面向对象程序设计 期末考试 含答案

面向对象程序设计考前练习本试卷有3种题型共120小题,作答时间为90分钟,总分120分。

单选题判断题多选题一、单选题(本部分共89题,每题1分,共89分)1、在类定义的外部,可以被访问的成员有()。

• A . 所有类成员• B . private的类成员• C . public或private的类成员• D . public的类成员A B C D参考答案:D共137人答过,平均正确率55.47%2、下列关于C++语言类的描述中错误的是()。

• A . 类用于描述事物的属性和对事物的操作• B . 类与类之间通过封装而具有明确的独立性• C . 类与类之间必须是平等的关系,而不能组成层次结构• D . 类与类之间可以通过一些方法进行通信和联络A B C D参考答案:C共117人答过,平均正确率70.09%3、定义析构函数时,应该注意()。

• A . 其名与类名完全相同• B . 返回类型是void类型• C . 无形参,也不可重载• D . 函数体中必须有delete语句A B C D参考答案:C共116人答过,平均正确率68.97%4、下列函数中,正确的递归函数是()。

• A . int Fun(int n){{ if(n<1)? return 1;?? else? return n*Fun(n+1); }}• B . int Fun(int n){{ if (abs(n)<1)? return? 1;? else? return?n*Fun(n/2); }}• C . int Fun(int n){{ if(n>1)? return 1;? else? return n*Fun(n*2); }}• D . int Fun(int n){{?? if(n>1)? return 1; else? return n*Fun(n-1); }}A B C D参考答案:B共115人答过,平均正确率73.04%5、在C++中编译器所生成的文件的扩展名为()。

JAVA面向对象程序设计(期末考试试题及答案)

程序设计(期末考试试题及答案)JAVA面向对象面向对象程序设计一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

A.javaB..classC.htmlD..exe2、不允许作为类及类成员的访问控制符的是(C)。

A.publicB.privateC.staticD.Protected3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

A.3B.3.5C.4D.54、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。

A.static void method()B.public void method()C.final void method()D.abstract void method()5、下列属于容器的组件有:(B)A.JButton B.JPaneC.Canvas D.JTextArea6、v oid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值 D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。

《面向对象的程序设计》期末试卷(B)答案

电子系计控专业《面向对象的程序设计》期末试卷(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--》期末试卷及答案

一、选择填空题(共20小题,每小题2分,共40分)。

1. 关于C++与C语言关系的描述中,(d)是错误的。

a.C语言是C++语言的一个子集b.C语言与C++语言是兼容的c.C++语言对C语言进行了一些改进d.C++语言和C语言都是面向对象的2.按照标识符的要求,(a )符号不能组成标识符。

a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(c)组成配对关系。

a.缩排位置相同的ifb.在其之前未配对的ifc.在其之前未配对的最近的ifd.同一行上的if4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(c)。

a.1b.0c.6d.25. 设"char **s;",以下正确的表达式是(b)。

a.s="computer";b.*s="computer";c.**s="computer";d.*s='c';6. 对于"int *pa[5];"的描述中,(d )是正确的。

a.pa是一个指向数组的指针,所指向的数组是5个int型元素b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量c.pa [5]表示某个元素的第5个元素的值d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针7. 在下列表示引用的方法中,(a )是正确的。

已知:int m=10;a.int &x=m;b.int &y=10;c.int &z;d.float &t=&m;8. 下列for循环的次数为(b)。

for(i=0, x=0; !x&&i<=5; i++)a.5b.6c.1d.无限9. 对于C/C++语言的函数,下列叙述中正确的是(a)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
int CompareBig(AA&b); //比较*this与b的大小,从前向后按两数组
//中的对应元素比较,若*this中元素值大则返回1,若b中
//元素值大则返回-1,若相等则继续比较下一个元素,直到
//一个数组中无元素比较,此时若两者的n值相同则返回0,
//否则若*this中的n值大则返回1,若b中的n值大则返回-1。
A.首地址B.元素个数
C.每个元素所占的字节数D.总字节数
5.若使p指向包含30个整型元素的动态数组空间,则使用的定义语句为( )。
A.int *p=new int[30]; B.int *p=new int(30);
C.int *p=new [30]; D.*p=newint[30];
6.软件产品与其他软件产品组合成一个整体的难易程度叫做软件的( )。
for(j=2;j<=T;j+=2)k++;
}
cout<<”k=”<<k<<endl;
}
运行结果:
2.#include<iostream.h>
class CE {
private:
int a,b;
int getmax() {return (a>b? a:b);}
public:
int c;
void SetValue(int x1,int x2, int x3) {
A. 0 B.4 C. 8 D. 6
3.以下正确的描述是( )。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
4.设有定义“double array[10];”,则表达式sizeof(array)/sizeof(array[0])的结果为array数组的( )。
C. (first-1)%MS D. (first+length)%MS
9.假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(4);”语句后,x.a和x.b的值分别为( )。
for(int i=1;i<size; i++){
char *p=table[i];
for(intj=i-1; j>=0 ; j--)
if(strcmp(p,table[j])<0)table[j+1]=___________;
else break;
table[j+1]=__________;
}
}
3.类A的定义
}
运行结果:
3.#include<iostream.h>
void main()
{
int i,p=1;
int N;
cout<<"输入一个正整数:";
cin>>N;
for(i=1;i<=N;i++) p*=i;
cout<<”N!=”<<p<<endl;
}
程序功能:
4.int f(char *s)
{
int i=0;
};
答案供参考
一、单项选择题(每小题2分,共20分)
1.C2.C3.B4.A5.B
6.D7.C8.B9.A10.A
二、填空题(每小题2分,共20分)
1./*2.353.相同4.195.文件
6.数组名7.char *8.析构9.a10.主文件
三、程序填充题,根据题意在横线上填写合适的内容。(每小题6分,共24分)
4.含随机函数的表达式rand()%20的值在0至______的整数区间内。
5.程序的编译是以__________为单位进行的。
6.一个数组的________实际上是指向该数组的第一个元素的指针,并且在任何时候都不允许修改它。
7.指针变量pv和pc定义为“void *pv =”Hello, word!”; char *pc;”,要将pv值赋给pc,则正确的赋值语句是pc=(___________)pv。
A. length+1 B. first+length
C. (first+length-1)%MS D. (first+length)%MS
7.假定一个类的构造函数为“A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行“A x(4,5);”语句后,x.a和x.b的值分别为( )。
三、程序填充题,根据题意在横线上填写合适的内容。(每小题6分,共24分)
1.采用辗转相除法求出两个整数的最大公约数。
#include<iostream.h>
void main()
{
int a,b;
cout<<"请输入两个正整数:";
cin>>a>>b;
while(a<=0 ||b<=0) {cout<<"重新输入:"; cin>>a>>b;}
10.队列具有( )的操作特性。
A.先进先出B.先进后出C.进出无序D.仅进不出
二、填空题(每小题2分,共20分)
1.多行注释的开始标记符为__________。
2.假定x=5,y=6,则表达式x++*++y的值为__________。
3.假定x是一个逻辑量,则x && true的值与x的值__________。
8.一个类的__________函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。
9.假定用户为类AB定义了一个构造函数“AB(int aa):a(aa){}”,则__________是该类的数据成员。
10.在多文件结构的程序中,通常把含有main()函数的文件称为该程序的________。
A. 4和5B. 5和4C.4和20D. 20和5
8.假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A. 0B. 1C. 2D. 3
9.一个类的成员函数也可以成为另一个类的友元函数,这时的友元声明()类域的限定。
A. 需加上 B. 不需加上C. 可加可不加 D.取消
totalWeight+=Weight;
}
~Goods(){totalWeight-=Weight;}
char* GetN(){__________________;}//返回商品名称
int GetW(){return weight;}
static intGetTotalWeight() {//定义静态成员函数返回总重量
评分标准:每空3分
1.a=b、b=r
2.table[j]、p
3. new、~A() {delete []a;}
4.returnName、return totalWeight
四、理解问答题,分别写出前2小题的程序运行结果和指出后2小题的程序或函数功能。(每小题6分,共24分)
1.k=9
2.12
3.计算并输出N阶乘的值,其中N值由键盘输入。
A.可维护性 B.可复用性 C.兼容性D.正确性
5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A. in B. inline C. inLine D. InLiner
6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。
A.2B.4C.6D.8
3.假定p是具有int**类型的指针变量,则给p赋值的正确语句为( )。
A. p=new int; B. p=new int*; C. p=new int**; D. p=new int[10];
4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
4.求出并返回字符指针参数s所指向的字符串长度。
五、编程题(每小题6分,共12分)
评分标准:按编程完整程度酌情给分。
1.void fun(char* a, int b[])
{
int i;
for(i=0;i<10;i++) b[i]=0;//2分
while(*a) {
int j=*a-’0’;
if(j>=0 && j<=9) b[j]++;
面向对象程序设计课程期末针对性训练
训练第一套
一、单项选择题(每小题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]的值为( )。
while(b) {
int r;
r=a%b;
______________;______________;//分别修改a和b的值
}
cout<<a<<endl;//输出最大公约数
}
2.用插入排序方法对table指针数组中size个指针所指向的字符串进行按升序排序的算法。
void sort(char *table[], int size){
class A {
char *a;
相关文档
最新文档