2022年面向对象程序设计试题一 2.pdf
1 贵 州 财 经 学 院20082009 学年第二学期期末考试试卷程序设计II A 卷题号一二三四五总分复核得分一、填空题(共 5 小题,每小题 2 分,10 分)1、常用的面向对象的程序设计语言有:、等。c+,c#,java 2、C#是一种的编程语言,声明变量时必须同时声明其类型。强类型3、抽象模型越简单,它就,也就越具有普遍性。抽象模型越复杂, 就越具。 越通用 限制4、在学习新东西时,大脑会自动搜寻以前创建和掌握的抽象/模型,以资借鉴。这种进行特性对比, 找到可供重用的近似抽象的过程又称为模式和。匹配重用5、在 C# 语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用关键字。 override 得分评卷人年级与专业(或班级)姓名学号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 2 6、委托是一种数据类型,定义委托需要使用关键字。delegate 7、 在 ASP.NET 应用程序中,Membership类用于并。验证用户凭据管理用户设置(如密码和电子邮件地址)8、面向对象的三大基本原则是、和。封装,继承,多态。9、在.NET中所有类的基类是。object 10、用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承的关键字是,异常处理语句结构中,表示总是执行的部分的关键字是。finally final 11、是一个由 Microsoft .NET Framework 中包含的类、接口和值类型组成的库。该库提供对系统功能的访问,是 建 立 .NET Framework 应 用 程序 、组 件 和 控件 的基础 。.NET Framework 类库12、.NET Framework 类库是一个由 Microsoft .NET Framework 中包含的类、接口和值类型组成的库。 该库提供对系统功能的访问,常用的系统类库有: System.IO、System.Conllections、和。System.Windows System.Web 二、选择题(共 5 小题,每小题 2 分,10 分)在每小题列出的四个备选项中只有一个符合题目要求,请将其代码填写在题后的括号内。错选、多选或未选均无分。1、在 WinForm 应用程序中,可以通过以下(c )方法使一个窗体成得分评卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 3 为 MDI 窗体。(A) 改变窗体的标题信息(B) 设置为启动窗体(C) 设置窗体的 isMdiContainer 属性(D) 设置窗体的 imeMode 属性2、在 C#中,( c )访问修饰符修饰的变量只能由当前程序集访问。(A) public (B) protected (C) internal (D) private 3、设置控件布局位置的属性是以下哪一个? ( C ) (A) DisplayRectangle (B ) FlatStyle (C) Dock (D) Location 4、用于设置时间的控件是以下哪一个? ( D ) (A) Timer (B) ComboBox (C) DateTime (D) DateTimePicker 5、窗口打开时触发的事件是以下哪一个? ( C ) (A) Click (B) MenuStart (C) Load (D) MouseMove 6、构造函数何时被调用? ( A ) (A) 创建对象时(B) 类定义时(C) 使用对象的方法时(D) 使用对象的属性时7、int myArray3=new int3 new int35,6,2, new int56,9,7,8,3, 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 4 new int23,2 ; myArray322 的值是? ( D) (A) 9 (B) 2 (C) 6 (D) 越界8、下列选项中,(c)是引用类型。(A)enum 类型(B)struct 类型(C)string 类型(D)int 类型9、下列关于构造函数的描述正确的是(c)(A)构造函数可以声明返回类型。(B)构造函数不可以用private 修饰(C)构造函数必须与类名相同(D)构造函数不能带参数10、接口是一种引用类型,在接口中可以声明(a),但不可以声明公有的域或私有的成员变量(A)方法、属性、索引器和事件;(B)方法、属性声明、属性;(C)索引器和字段;(D)事件和字段;11、ASP.NET 框架中,服务器控件是为配合Web 表单工作而专门设计的。服务器控件有两种类型,它们是(a) (A)HTML 控件和 Web控件(B)HTML 控件和 XML 控件(C)XML 控件和 Web 控件(D)HTML 控件和 IIS 控件12、声明一个委托 public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是(b )(A)void myCallBack(int x) ; (B)int receive(int num) ;(C)string receive(int x) ;(D)不确定的;13、 以下叙述正确的是:( B ) (A) 接口中可以有虚方法。(B) 一个类可以实现多个接口。(C) 接口不能被实例化。(D) 接口中可以包含已实现的方法。14、下列描述错误的是(D )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 5 (A) 类不可以多重继承而接口可以;(B) 抽象类自身可以定义成员而接口不可以;(C) 抽象类和接口都不能被实例化;(D) 一个类可以有多个基类和多个基接口15、下列关于构造函数的描述正确的是(C )(A) 构造函数可以声明返回类型。(B) 构造函数不可以用private 修饰(C) 构造函数必须与类名相同(D) 构造函数不能带参数16、装箱、拆箱操作发生在 : ( C ) (A) 类与对象之间(B) 对象与对象之间(C) 引用类型与值类型之间(D) 引用类型与引用类型之间三、简答题(共5 小题,每小题 5 分,25 分)1. 简述 C#语言中 private、 protected 、 public、 internal 修饰符的访问权限。2. 简述面向对象中的抽象与建模概念。3简述面向对象程序设计的三要素。4简述 C#中接口的定义与应用。5简述 C#中 delegate与面向对象程序设计中delegation的区别。6简述 C#中集合 (Collections)类型及作用。7简述 C#中重载( overload)与覆载( override)的区别。8定义并说明一个在C#中的可执行的最小程序代码。9简述类与对象,要求分一般意义和面向对象软件设计两方面来描述。10。简述面向对象程序设计中对象的访问。得分评卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 6 11简述面向对象程序设计中封装的定义与作用。12简述 Camel 命名法、 Pascal命名法及应用场景。13简述面向对象程序设计中的关联(Association)与链接 (Link) 。14在 c#中 using和 new 这两个关键字有什么意义 ? 四、程序阅读题(共5 小题,每小题 3 分,15 分)1、下列语句是 MyClass的一部分, obj 是MyClass的一个对象。void change(int i) i+; public void test( ) int a=100; change(a); Console.WriteLine(a); 运行结果:则调用 obj.test()后。控制台输出( 100 )。2、下列语句是 MyClass的一部分, obj 是MyClass的一个对象。void change( ref int i) i+; public void test( ) 得分评卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 7 int a=100; change( ref a); Console.WriteLine(a); 运行结果:则调用 obj.test()后。控制台输出( 101 )。3、写出程序的输出结果using System; public class test static void Main() int arr1=new int2; int arr2=new int1,2,3; string arr3=six, is ,me; int, arr4=1,2,3,4; int, arr5=new int3,4; for(int i=0;iarr1.Length;i+) arr1i=i*i*i; Console.WriteLine(arr10=1,i,arr1i); for (int i=0;i4;i+) for(int j=0;j3;j+) arr5j,i=i*j; Console.WriteLine(arr50,1=2,j,i,arr5j,i); 运行结果:arr10=0 arr11=1 arr50,0=0 arr51,0=0 arr52,0=0 arr50,1=0 arr51,1=1 arr52,1=2 arr50,2=0 arr51,2=2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 8 arr52,2=4 arr50,3=0 arr51,3=3 arr52,3=6 4、写出程序的输出结果class Class1 private string str = Class1.str; private int i = 0; static void StringConvert(string str) str = string being converted.; static void StringConvert(Class1 c) c.str = string being converted.; static void Add(int i) i+; static void AddWithRef(ref int i) i+; static void Main() int i1 = 10; int i2 = 20; string str = str; Class1 c = new Class1(); Add(i1); AddWithRef(ref i2); Add(c.i); StringConvert(str); StringConvert(c); Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str); 运行结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 9 (考查值引用和对象引用) 10 21 0 str string being converted. 评分标准:答对一点得2 分,满分 8 分。5. 写出程序的输出结果public abstract class A public A() Console.WriteLine(A); public virtual void Fun() Console.WriteLine(A.Fun(); public class B: A public B() Console.WriteLine(B); public new void Fun() Console.WriteLine(B.Fun(); public static void Main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 12 页 - - - - - - - - - 10 A a = new B(); a.Fun(); 运行结果:A B A.Fun() (考查在继承类中构造函数, 以及 new 方法 , ) 6、写出程序的输出结果:public class A public virtual void Fun1(int i) Console.WriteLine(i); public void Fun2(A a) a.Fun1(1); Fun1(5); public class B : A public override void Fun1(int i) base.Fun1 (i + 1); public static void Main() B b = new B(); A a = new A(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 12 页 - - - - - - - - - 11 a.Fun2(b); b.Fun2(a); 运行结果:2 5 1 6 五、综合设计题(共3 小题, 1 小题 10 分,2、3 小题各 15 分,40 分)1、约定一个名为 Book 的类,包括以下 attribute: Author authors; String title; int noOfPages; bool fiction; 请用单行的赋值与取值访问器为这些attribute 编写 property。1、约定一个名为 Sutdent的类,包括以下 attribute: string studentID; string name; double gpa; Professor advisor ; 请用单行的赋值与取值访问器为这些attribute 编写 property。得分评卷人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 12 页 - - - - - - - - - 12 2、给定义下抽象模型:一本书(book)是章节 (chapter)的群集,而章节(chapter)则是页 (page)的群集。请设计出 Book、Chapter和 Page类,要求:创建任何你认为需要的attribute,充分利用群集作为attribute 的好处;在 Chapter类中加入增加页的方法,以及判断一章中有多少页的方法; 在 Book 类中添加这些方法:判断一本书中有多少章,判断全书有多少页,打印全书目录。2、给定义下抽象模型:圆 (Circle)是球体 (Ball)和圆锥体 (Cone)的基类。请设计出 Circle、Ball 和 Cone类,要求:计算圆的面积和周长,球体和圆锥体的表面积和体积。所有类必须实现带参数的构造函数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 12 页 - - - - - - - - -