面向对象程序设计复习题文档.doc

上传人:wux****ua 文档编号:9124828 上传时间:2020-04-03 格式:DOC 页数:17 大小:70KB
返回 下载 相关 举报
面向对象程序设计复习题文档.doc_第1页
第1页 / 共17页
面向对象程序设计复习题文档.doc_第2页
第2页 / 共17页
面向对象程序设计复习题文档.doc_第3页
第3页 / 共17页
点击查看更多>>
资源描述
面向对象程序设计考试题型:1) 选择题10题,共20分2) 填空题10题,共20分3) 程序阅读题3题,共15分4) 程序填空题,10空,共20分5) 简答题3题,共15分6) 编程题1题,共10分一、 选择题: 1.属于C#语言的关键字( )。A. abstract B. camel C. Salary D. Employ答案:A2.C#语言中,值类型包括:基本值类型、结构类型和( )。A.小数类型 B.整数类型 C.类类型 D.枚举类型答案:D3. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的( )。A. intarr = new int10,20B. intarr = int new10,20C. int,arr = new int10,20 D. int,arr = new int20;10答案:C4在类作用域中能够通过直接使用该类的( )成员名进行访问。A. 私有 B. 公用 C. 保护 D. 任何答案:D5.小数类型和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C6能作为C#程序的基本单位是( )。A. 字符 B. 语句 C. 函数 D. 源程序文件答案:B7. 可用作C#程序用户标识符的一组标识符是( )。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof答案:B8.引用类型主要有4种:类类型、数组类型、接口类型和( )。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型答案:C9.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是( )。 A.WriteLine() B.Write() C.WritetoEnd() D.Read()答案:A10.建立访问键时,如“新建(N)”菜单中的“N”键,需在菜单标题的字母前添加的符号是( )。A.! B.# C.$ D.&答案:D11.在C#.Net中,用来创建主菜单的对象是( )。A. Menu B.MenuItem C.MenuStrip D.Item答案:C12.在VC#.Net中,可以标识不同的对象的属性是( )。 A.Text B.Name C.Title D.Index答案:B 13.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick答案:B14.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index答案:A15.在接口的成员中,能包含的是( ).A.私有数据成员 B.方法 C. 公有数据成员 D.常量答案:B16.在C#中定义接口时,使用的关键字是( )。A.interface B.: C.class D.overrides答案:A17.在类的成员中,用于存储属性值得是( )。A. 属性 B. 方法 C. 事件 D. 数据成员答案:成员变量18.在C#中,定义派生类时,指定其基类应使用的符号是( )。A.Inherits B.: C.Class D.Overrides答案:B19.类的以下特性中,可以用于方便地重用已有的代码和数据的是( ).A.多态 B.封装 C.继承 D.抽象答案:C20.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。A.Str() B.Cchar C.CStr() D.int.Parse();答案:D21.字符串连接运算符包括&和( )。A. + B. - C. * D. /答案:A22.先判断条件的当循环语句是( )。A. do.while B. while C. while.do D. do .loop答案:B23.VC#Net是一种面向( )的语言。A. 机器 B.过程 C.对象 D.事物答案:C24. 面向对象的语言具有继承性、多态性和_性。A) 封装 B) 拆箱 C) 封闭 D) 逻辑答案:A25. 以下叙述正确的是_ A) 接口中可以有虚方法。 B) 一个类可以实现多个接口。 C) 接口可以被实例化。 D) 接口中可以包含已实现的方法。答案:B26. .当整数a赋值给一个object对象时,整数a将会被_。A)拆箱 B)丢失 C) 装箱 D)出错答案:C27. float f=-123.567F; int i=(int)f;i的值现在是_? A) 123f B) 123.56 C) -123f D)-123答案:D28. 委托声明的关键字是_。A) delegate B) delete C) public D)interface答案:A29在c#中using关键字的作用是_A)定义命名空间 B)新建实例 C)调用类 D)引入命名空间答案:D30在c#中new关键字的作用是_A)新建对象实例 B)定义命名空间 C)调用类 D)引入命名空间答案:A31在c#中利用sealed修饰的类_。A)密封,不能继承 B)密封,可以继承 C)表示基类 D)表示抽象类答案:A32. 以下说法正确的是( )。A. 接口可以实例化B. 类只能实现一个接口C. 接口的成员都必须是未实现的D. 接口的成员前面可以加访问修饰符答案:C33. 下列关于抽象类的说法错误的是( )。A. 抽象类可以实例化B. 抽象类可以包含抽象方法C. 抽象类可以包含抽象属性D. 抽象类可以引用派生类的实例答案:A34. 下列关于重载的说法,错误的是( )。A. 方法可以通过指定不同的参数个数重载B. 方法可以通过指定不同的参数类型重载C. 方法可以通过指定不同的参数传递方式重载D. 方法可以通过指定不同的返回值类型重载答案:D31. 关于虚方法实现多态,下列说法错误的是( )。A. 定义虚方法使用关键字virtualB. 关键字virtual可以与override一起使用C. 虚方法是实现多态的一种应用形式D. 派生类是实现多态的一种应用形式答案:B32. 以下关于继承的说法错误的是( )。A. .NET框架类库中,object类是所有类的基类B. 派生类不能直接访问基类的私有成员C. protected修饰符既有公有成员的特点,又有私有成员的特点D. 基类对象不能引用派生类对象答案:D33. 继承具有( ),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。A. 规律性B. 传递性C. 重复性D. 多样性答案:B34. 下列说法中,正确的是( )。A. 派生类对象可以强制转换为基类对象B. 在任何情况下,基类对象都不能转换为派生类对象C. 接口不可以实例化,也不可以引用实现该接口的类的对象D. 基类对象可以访问派生类的成员答案:A35、在C#中,下列常量定义正确的是(B)。 A.const double PI 3.1415926;B.const double e=2.7C.define double PI 3.1415926D.define double e=2.736、以下c#代码:using System.Threading;class App public static void Main() Timer timer = new Timer(new TimerCallback(CheckStatus),null,0,2000); Console.Read(); static void CheckSatus(Object state) Console.WriteLine(正在进行检查.) 在使用代码创建定时器对象的时候,同时指定了定时器的事件,运行时将每隔两秒打印一行“正在运行检查.”,因此,TimerCallback是一个(A)。 A.委托B.结构C.函数D.类名 37、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。 A.只读属性B.只写属性C.读写属性D.不可读不可写的属性 38、 阅读以下的C#代码:public class TEApp public static void ThrowException() throw new Exception(); public static void Main() try Console.WriteLine(try); ThrowException(); catch(Exception e) Console.WriteLine(catch); finally Console.WriteLine(finally); 请问代码运行结果是(A)。 A.try catch finallyB.tryC.try catchD.try finally 39、在C#中,一个类(B).(选择一项)A.可以继承多个类B.可以实现多个接口C.在一个程序中只能有一个子类D.只能实现一个接口 40、针对下面的代码:using System;class Teststringpublic static void Main() String strOriginal; strOriginal = Console.ReadLine(); bool A = strOriginal.Equals(A); Console.WriteLine(A.ToString(); int B = strOriginal.Length; Console.WriteLine(B.ToString(); Console.ReadLine();程序运行时输入“ ”(五个A的前面有三个空格)则程序输出为(B)A.0 8B.False 8C.1 8D.False 5 41、以下的C代码段: public struct Person public string Name; public int Age; public static void Main() FileStream A; Person B; /其他处理代码 以下说法正确的是(A)。 A.A为引用类型的变量,B为值类型的变量B.A为值类型的变量,B为引用类型的变量C.A和B都是值类型的变量D.A和 B都是引用类型的变量 42、以下的C代码:static void Main(string args) Console.WriteLine(运行结果: 0,Console.ReadLine(); Console.ReadLine(); 代码运行结果为(D)。 A.在控制台窗口显示“运行结果:”B.在控制台窗口显示“运行结果:0”C.在控制台窗口显示“运行结果:,ConsoleReadLine”D.如果用户在控制台输入“ A”,那么程序将在控制台显示“运行结果:A” 43、在C#中定义一个数组,正确的代码为(B)。(选择一项)A.int arraya = new int5;B.int arraya = new int5;C.int arraya = new int;D.int5 arraya = new int; 44、在C语言中,下列关于属性的描述正确的是(B) A.属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏C.要定义只读属性只需在属性名前加上readonly关键字D.在C#的类中不能自定义属性 45、程序运行过程中发生的错误,叫作(C) A.版本B.断点C.异常D.属性46、在NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(A)。 A.容器控件B.组合控件C.排列控件D.基类控件47、阅读以下的C代码: class A public A( ) Console.WriteLine(A); class B:A public B() Console.WriteLine(B); class Program public static void Main() B b = new B(); Console.ReadLine(); 上述代码运行后,将在控制台窗口输出(C)。 A. AB. BC. A BD.B A48、在.NET中,以下关于命名空间的描述,正确的是(D)。 A.命名空间不可以进行嵌套B.任一个.cs文件中,只能存在一个命名空间C.便用private修饰的命名空间,其内部的类也不允许访问D.命名空间使得代码更加有条理、结构更清晰47、NET中,程序中的错误可以划分为以下三类,除了(D)。 A.逻辑错误B.运行时错误C.语法错误D.自定义错误48、以下关于C#中方法重载的说法不正确的是(B)。(选择二项)A.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载D.如两个方法名字相同,而参数的类型对应顺序不同,那么它们可以构成方法重载49、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用(A)关键字。 A.overrideB.newC.staticD.virtual50、下列关于C#的异常处理的说发法,错误的是(BC)。(选择二项)A.Try块必须跟catch块组合使用,不能单独使用B.一个try块可以跟随多个catch块C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常D.在try catch .finally块中,finally块肯定会执行51、在.NET中,一些数据类型为引用类型,当引用类型的值为(B)时,表明没有引用任何对象。 A.EmptyB.nullC.NothingD.052、在C#中,接口与抽象基类的区别在于(D)。 A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法B.抽象基类可以被实例化,而接口不能被实例化C.抽象基类不能被实例化,而接口可以被实例化D.抽象基类能够被继承,而接口只能被实现53、在.NET中,文本框控件的(A)属性用来设置其是否是只读的。 A.ReadOnlyB.LockedC.LockD.Style54、在C#中,(c)访问修饰符修饰的变量只能由当前程序集访问。A.publicB.protectedC.internalD.private55、在C#中,下列代码运行后,变量Max的值是(C)int a=5,b=10,c=15,Max=0; Max = ab?a:b; Max = cMax?c:Max;A.0B.5C.10D.1556.下列不属于值类型的有( A )A.class B.enum C.struct D.int 57.以下说法正确的是( B )A.构造函数名不必和类名相同B.一个类可以声明多个构造函数C.构造函数可以有返回值D.编译器可以提供一个默认的带一个参数的构造函数58.以下说法不正确的是( B )A.一个类可以实现多个接口B.一个类可以继承多个类C.在C#中要在派生类中重新定义基类的虚函数必须在前面加overrideD.子类能添加新方法59声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是( B )A. void myCallBack(int x)B. int receive(int num)C. string receive(int x)D.不确定的60.C#的数据类型有(b)a)值类型和调用类型; b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型;61.下列描述错误的是(d) a)类不可以多重继承而接口可以;b)抽象类自身可以定义成员而接口不可以;c)抽象类和接口都不能被实例化;d)一个类可以有多个基类和多个基接口;62.下列关于构造函数的描述正确的是(c) a)构造函数可以声明返回类型。b)构造函数不可以用private修饰c)构造函数必须与类名相同d)构造函数不能带参数63.int,myArray3=new int3,35,6,2,6,7,8,9,3,2; myArray32,3的值是(d)a)9 b)2 c)6 d)越界64.如果要将窗体设置为透明的,则( b) a)要将FormBoderStyle属性设置为None; b)要将Opacity属性设置为小于100%的值; c)要将locked 属性设置为True; d)要将 Enabled属性设置为True; 二、 填空题或选择题需掌握的知识点 1 在switch语句中,每个语句标号所含关键字case后面的表达式必须是常量表达式。2 在while循环语句中,一定要有修改循环条件的语句,否则,可能造成死循环3 C#数组元素的下标从 0开始。4 当在程序中执行到 continue 语句时,将结束所在循环语句中循环体的一次执行。5 当在程序中执行到 break 语句时,将结束所在循环语句的执行。6 元素类型为double的2行5列的二维数组共占用 80 字节的存储空间。7 C#数组类型是一种引用类型,所有的数组都是从System命名空间的 object 类继承而来的引用对象。 8 枚举是从System. Enum 类继承而来的类型。9一般将类的构造方法声明为 public 访问权限。如果声明为private,就不能创建该类的对象。10.类中声明的属性往往具有get()和 set() 两个函数。11.对于方法,参数传递分为值传递和 引用传递 两种。12.传入某个属性的SET方法的隐含参数的名称是 value 。13.C#的类不支持多重继承,但可以用多个接口来实现。14.C#提供一个默认的无参构造函数,当实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。应该写两个构造函数。15.在方法定义中,virtual含义:被virtual修饰的方法可以被子类覆写。16、接口(interface)是指:只含有公有抽象方法的类。这些方法必须在子类中被实现。17. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。18. 在C#中要在派生类中重新定义基类的虚函数必须在前面加override。19、在实例化类对象时,系统自动调用该类的构造函数进行初始化。20、通过interface关键字定义一个接口。21、C#要求程序中的每个元素都要属于一个类。22、在C#程序中,程序的执行总是从Main方法开始的。23、在C#中,进行注释有两种方法:使用“/”和使用“/*.*/“符号对,其中“/”只能进行单行注释。24要在控制台程序运行时输入信息,可使用Console类的ReadLine方法。25.设x为int型变量,请写出描述“x是奇数”的C#语言表达式x%2=1。26.请写出描述“-10=x=-10&x=10。27. 在switch语句中,在分支的最后应有一条default语句28. 在C#语言中,实现循环语句主要有while 、do-while和for29. 在循环执行过程中,希望当某个条件满足时退出循环,使用( dowhile )语句。30数组定义与赋值语句如下:int a=1,2,3,4,5;则a2的值是( 3 )。31.下列程序段执行后,a4的值为( 4 )。 int a=1,2,3,4,5;a4=aa2; 32. 要定义一个3行4列的单精度型二维数组f,使用的定义语句为float,f=new float3,4。33定义方法时使用的参数是形参,调用方法时使用的参数是实参。34C#中的字符串有两类,规则字符串和逐字字符串,定义逐字字符串时,应在其前面加上 号。35所谓装箱就是将一个值类型隐式地转换成一个object类型。所谓拆箱就是将一个object类型显示式转换成一个值类型。36在类的成员声明时,若使用了protected修饰符则该成员只能在该类或其派生类中使用。37类的静态成员属于类所有,非静态成员属于类的实例所有。38C#方法的参数有四种,分别是:值参数(对应值传递)、引用参数(对应地址传递)、输出函数和函数数组,在形参中声明参数数组时应使用params关键字。39要给属性对应的数据成员赋值,通常要使用set访问器,set访问器始终使用value来设置属性的值。40在声明类时,在类名前abstract修饰符,则声明的类只能作为其他类的基类,不能被实例化。41throw语句的作用是抛出一个异常。42catch从句捕捉并处理异常。43 try块封装了可能引发异常的代码。44. 表示控件是否可以对用户交互作出响应的属性是Enabled。45. 表示是否显示控件的属性是Visible。46. 按钮控件的常用事件是Click。47C#中菜单功能的实现主要用到弹出式菜单(ContextMenuStrip)、主菜单 ( MenuStrip )和菜单项(ToolStripMenuItem)。48工具栏(ToolStrip)中可以添加工具按钮(ToolStripButton)49状态栏(StatusStrip)主要用来提示软件操作的状态信息。50自定义对话框分为模式对话框和非模式对话框。51模式对话框是指用户只能在当前窗体中进行操作,不能切换到其它窗体,非模式对话框是指用户可以自由切换当前窗体。52系统对话框有消息对话框(MessageBox)、字体对话框(FontDialog)、选择文件对话框(OpenFileDialog)、保存文件对话框(SaveFileDialog)。53C#的System.IO命名空间中基本包含了与I/O操作相关的类。54File类的Exists方法确定指定的文件是否存在,File类的Create方法创建或覆盖指定的文件,File类的Delete方法删除指定的文件。55 采用OleDbConnection连接Access数据库“d:dbteach.mdb”,其连接字符串是Provider=Microsoft.Jet.OLEDB.4.0;Data Source= d:dbteach.mdb 56 要完成对数据库记录的新增、修改和删除操作用到数据库类有OleDbConnection、OleDbCommand。其中执行SQL语句用到OleDbCommand类的CommandText属性和ExecuteNonQuery方法。57在C#中提供有很多的异常类,所有的异常类都是System.Exception类型或是从其派生的类型。60.在C#中通过设置断点(F9)、启动调试(F5)、逐语句(F11)、逐过程(F10)、跳出方法、停止调试来实现程序跟踪调试三、 程序阅读题和程序填空题输入任意两个整数,交换后输出。从键盘上输入三个整数,输出其中的最大数。从整数半径为1的圆开始,输出圆周长,直到周长大于139.67时停止求输入的10个整数中偶数的个数及其和值定义一个类,有求两个双精度浮点数和三个双精度浮点数最小值的方法。定义一个类,提供成员方法分别求两个整数、三个双精度浮点数、四个单精度浮点数中的较小数。定义一个矩形类,该类包含左上角位置、长和宽性质,一个无参构造函数、一个有参构造函数以及一个静态属性和一个静态方法来统计创建的矩形对象的个数。已知有图形三角形和正方形,三角形有三个顶点的位置、填充颜色等属性,有计算面积和周长的方法;正方形有中心点的位置、填充颜色、边长等属性,有计算面积和周长的方法。要求创建一个图形的基类并采用抽象类和抽象方法的方式来实现求面积、周长以及显示图形具体信息的功能。平面点的+、运算 采用委托的方式求四个实数里的最大值和三个实数里的最小值。从键盘输入个实数存放到数组中,然后按由大到小的顺序排序,在屏幕上输出; 从键盘输入一个实数,如果该数在数组中存在则删除并输出删除后的结果。求5*6矩阵中的最大值及其所在的位置建立10名学生的信息表,每个学生的数据包括学号、姓名和三门课的成绩,求出每个学生的总分和平均分,在屏幕上把学生信息、总分和平均分输出出来。四、 简答题1) 接口和抽象类的区别是什么?2) 使用委托的步骤?3) 简述 private、 protected、 public、 internal 修饰符的访问权限4) 主菜单的设计步骤5) 工具栏的设计步骤6) 自定义对话框的分类及各自的特点7) 继承的规则是什么?8) 虚方法的作用及定义格式?9) 面向对象的三大特征是什么?封装(encapsulation): 封装是面向对象方法的一个重要原则。它有两个涵义:第一个涵义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。第二个涵义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口使之与外部发生联系。 继承(inheritance): (单继承和多继承)子类可以继承父类中的属性和操作,也可以定义自己的属性和操作多态性(polymorphism):在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或操作名在一般类及其各个特殊类中具有不同的语义。五、 编程题:(10分,1个题目)1、 类和对象2、 数组
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!