ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:32.54KB ,
资源ID:10331123      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10331123.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计习题库.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计习题库.docx

1、面向对象程序设计习题库面向对象程序设计习题库选择题1. 一个设计得好的面向对象系统具有( D)特征。 A 低聚、低耦合 B 高聚、低耦合 C 高聚、高耦合 D 低聚、高耦合2. 面向对象程序设计的特点主要概括为(C)。A 可分解性、可组合性、可分类性 B 继承性、封装性、多态性C 抽象封装性、继承性、多态性 D 封装性、易维护性、可扩展性、可重用性3. 关于C#程序的书写,下列不正确的说法是( D )。A. 区分大小写 B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法4. 关于C#语言的基本语法,下列哪些说确的是(

2、 C )A. C#语言使用using 来引用需要用到的命名空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行;5 以下标识符中,正确的是(A )。A. _nName B. typeof C. 6b D. x5#6.字符串连接运算符包括&和( A )。A. + B. - C. * D. /7.拆箱是关于:( B )A、值类型到引用类型的转换 B、引用类型到值类型的转换C、引用类型到引用类型的转换 D、值类型到值类型的转换8.装箱是关于:( A )A、值类型到引用类型的转换 B、引用类型到值类型的转换C、引

3、用类型到引用类型的转换 D、值类型到值类型的转换9下列引用类型和值类型描述正确的是( A )。A. 引用类型变量保存存地址,值类型直接保存变量值B. 引用类型在变量中直接保存变量值,值类型保存存地址C. 引用类型和值类型保存数据的方式相同D. .NET Framework不支持值类型,因为所有的类型都是引用类型了10.一个类中的静态方法的调用可以:( A ) A、通过类名调用 B、通过实例化的对象调用C、在主方法中直接调用 D、在同一个类中的某一方法中直接调用11.以下数据类型中,属于引用类型的是:(A )A、string类型 B、double类型 C、int类型 D、 char类型12.下列

4、类型中为值类型的是( C )A. 字符串类型 B. 树组类型 C. 枚举类型 D. 接口类型13.decimal类型和浮点类型都可以表示小数,正确说法:( C )A. 两者没有任何区别 B. 小数类型比浮点类型取值围大C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低14. 有定义语句:int ,a=new int5,6; 则下列正确的数组元素的引用是_C_。A. a(3,4) B. a(3)(4) C. a34 D. a3,415. 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?( A ) A. decimal theMoney; B. in

5、t theMoney; C. string theMoney; D. double theMoney; 16. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?( B ) A. CString str; B. string str; C. Dim str as string D. char * str; 17. C#中每个int 类型的变量占用( C )个字节的存。A. 1 B. 2 C. 4 D. 8 18.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的( C )。A. int arr = new int10,20 B. int arr = int new10,20C.

6、int , arr = new int10,20 D. int , arr = new int20;1019. 枚举型常量的值不可以是( D )类型A. int B. long C. ushort D. doule20.引用类型主要有4种:类类型、数组类型、接口类型和( C )。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型21. 分析下列语句:namespace TestCS public delegate void Hello(string target);该语句的作用是:( D )A. 在TestCS 命名空间中定义了一个名为Hello 的全局方法;B. 在TestCS 命名

7、空间中声明了函数Hello 的原型;C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针;D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型;22. 以下关于for循环的说法不正确的是 ( A )。A. for循环只能用于循环次数已经确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。23下面对异常说法不正确的是( D )Atry/catch块为基本引发异常的组合B在捕获异常时,可以有多个catch块C无论异常是否发生,finally块总会

8、执行Dtry块和finally 不能连用24. C#程序中,可使用try.catch 机制来处理程序出现的( B )错误。A. 语法 B. 运行 C. 逻辑 D. 拼写25. 为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为( A )_。A. Exception B. DivideByZeroException C. FormatException D. 以上三个均可26. C#源程序文件的默认扩展名为( C )。 A. cpp B. exe C. cs D. lik27. 下列的( D )不是构造函数的特征。A. 构造函数的函数名和类名相同B. 构造函数可以重载C. 构造

9、函数可以带有参数D. 可以指定构造函数的返回值28.类的析构函数的作用是(D ) A.一般成员函数B.类的初始化 C.对象的初始化D.释放资源29.类的析构函数是在( C )调用的。 A.类创建时B.创建对象时 C.销毁对象时D.不自动调用30. 在C#程序中,可以使用( A )属性来引用处于非托管代码环境中的函数。A. DllImport B. Conditional C. STAThread D. SecureMethod 31对托管代码与非托管代码之间的区别描述正确的是( D )。A. 非托管代码依赖于CLR提供的服务,而托管代码不需要B. 托管代码生成的应用程序为目标机器上可执行文件,

10、非托管代码生成的应用程序为中间语言文件C. 托管代码和非托管代码之间没有区别D.托管代码依赖于CLR提供的服务,而非托管代码不需要32在System.IO命名空间中( C )类是实现创建、移动、枚举目录和子目录的实例方法。ADiretory BFile CDirectoryInfo DFileInfo 33下面对程序集和命名空间说确的是( B )。A. 一个程序集只能引用一个命名空间B. 一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中C. 一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中D. 一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命

11、名空间34.( C )命名空间中的类和接口用于创建Web 应用程序的页面?A. System.Drawing B. System.IO C. System.Web.UI D. System.Web.Service 35. ADO.NET 使用( B )命名空间的类访问SQL Server 数据库中的数据。A. System.Data.OleDb B. System.Data.SqlClientC. System.Xml.Serialization D. System.IO 36构成对象的两个主要因素是( A )。 A 属性和操作 B 标识和容 C 继承和多态 D 消息和封装37下面的修饰符中(

12、 C )不是访问修饰符。Apublic Bprotected Cnew Dinternal38. 在类的定义中,类的( B )描述了该类的对象的行为特征。A. 类名 B. 方法 C. 所属的名字空间 D. 属性39.有关类和对象的说法不正确的是(B)。 A)对象是类的实例 B)一个类只有一个对象 C)任何一个对象只能属于一个类 D)类与对象的关系和数据与变量的关系相似 E)类是抽象的,对象是具体的40. 以下类MyClass 的属性count 属于( B )属性.class MyClassint i;int countget return i; A. 只写 B. 只读 C. 可读写 D. 不可

13、读不可写41. 根据下面的代码,可以确定类A与类B之间存在( A )关系。 public class A private B theB; public void aMethod() theB.doSomthing(); A 关联 B 泛化 C 实现 D 包含42.继承机制的作用是(D ) A.信息隐藏B.数据封装 C.定义新类D.数据抽象43 已知类B是由类A继承而来,类A中有一个为M的非虚方法,现在希望在类B中也定义一个名为M的方法,若希望编译时不出现警告信息,则在类B中声明该方法时,应使用( B )方法。A. static B. new C. override D. virtual44.类

14、的以下特性中,可以用于方便地重用已有的代码和数据的是( C ).A.多态 B.封装 C.继承 D.抽象45. 在ADO.NET 中,执行数据库的某个操作,则至少需要创建( A )并设置它们的属性,调用合适的方法:A. 一个Connection 对象和一个Command 对象B. 一个Connection 对象和DataSet 对象C. 一个Command 对象和一个DataSet 对象D. 一个Command 对象和一个DataAdapter 对象46下列说法中对 Mdi子窗体描述正确的是( D )A设置MdiChildForm属性为trueB设置MdiChild属性为falseC设置MdiC

15、hild属性为trueD设置MDI子窗体MDiParent属性引用父窗体实例47. 使用派生类的主要原因是( A ) 。A 提高代码的可重用性 B提高程序的运行效率C 加强类的封装性 D 实现数据的隐蔽48、如果一个类至少有一个抽象方法,那么就称该类为( A )。A抽象类 B接口类 C密封类 D所有类49、在C#语言中引入泛型,是为了提高 ( D )。A程序运行效率 B程序通用性C类的安全性 D以上三个方面50.以下( D ) 对接口方法的述是正确的A可以是静态的 B可以是公有的C可以是任何访问限制 D以上都不对填空题1、常用的面向对象的程序语言有:C+、 、 等。 参考答案:java c#2

16、定义方法时使用的参数是 ,调用方法时使用的参数是 。参考答案:形参 实参3数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为 。 参考答案:void4、在C#中,进行注释有两种方法:使用 / 和使用/* */符号对,其中 只能进行单行注释。 参考答案:/5、使用泛型类型可以最大限度地重用代码、以及。 参考答案:保护类型的安全提高性能6、 C#数组元素的下标从 开始。参考答案:07.设x为int型变量,请写出描述“x是奇数”的C#语言表达式 。参考答案: x%2=18已知字符串str的值为“abcdefgh”,则表达式str.Substring(1,3)的值为 。参考答案

17、:bcd9. 当在程序中执行到 语句时,将结束本层循环类语句或switch语句的执行。 参考答案:break10. 当在程序中执行到_语句时,将结束所在循环语句中循环体的一次执行。参考答案:continue11. 在switch语句中,在分支的最后应有一个 选项。 参考答案:default12. 在C#语言中,实现从群集中取出每一个元素的循环语句是 。参考答案:foreach一个命名空间除了可包含其他命名空间外,还可包含、枚举、委托等成员。参考答案:类结构接口13.NET Framework 包括三个主要部分: 、 和 。参考答案:公共语言运行库 类库 应用模板14、在.NET中所有类的基类是

18、 。参考答案:Object15、抽象模型越简单,它就 ,也就越具有普遍性。抽象模型越复杂,就越 。参考答案:越抽象 具体16、在学习新东西时,大脑会自动搜寻以前创建和掌握的抽象/模型,以资借鉴。这种进行特性对比,找到可供重用的近似抽象的过程又称为 和 。参考答案:模式匹配 模式重用17、委托是一种数据类型,它的作用是 。参考答案:允许在运行时选择要调用哪些函数。18.传入某个属性(访问器结构)的SET方法的隐含参数的名称是 。参考答案:value 19、在面向对象的结对关系有三种,分别是: 和 、 。参考答案要点:一对一 一对多 多对多20、在.NET中表示接口的关键字是 。参考答案:inte

19、rface21、接口可由 、 、事件、索引器或这四种成员类型的任意组合构成。接口不能包含 。参考答案:方法 属性 字段22、在类中若要实现接口成员,类中的对应成员必须是 、 ,并且与接口成员具有相同的名称和签名。参考答案:公共的 非静态的23、在ADO.NET中的对象有 、 和DataSet等。参考答案:SqlConnection SqlCommand24、常用的SQL操作语句有 、 、 和 Delete 等。参考答案:Select 、 Update 、Insert25Timer控件的 属性用来设置定时器Tick事件发生的时间间隔。参考答案:Interval26、用以说明类中私有成员的关键字是

20、 。参考答案:(private)27、对类的实例数据成员的访问格式为对象名 。参考答案:(.数据成员名)28、类有两种用法,一种是用于 ,另一种是通过 派生新的类。参考答案:(定义对象,继承或派生)29 静态成员在类中有两种情况,即 和 。参考答案:(静态成员函数,静态数据成员。可以颠倒)30. 根据类的赋值兼容原则,派生类对象可以赋给 的变量。参考答案:(基类)31 异常处理,就是针对软件的外部环境出现意外和 所作出的适当处理。参考答案:(错误)32. 静态构造函数是通过 来调用的。参考答案:(类)简答题1. 简述面向对象程序设计的三要素。参考答案要点:在上述面向对象的基本概念基础之上,不可

21、避免地要涉及到面向对象程序设计所具有的3个共同特征:用户定义类型、继承和多态性。用户定义类型提供一种表达真实世界的直观代码,便于重用,减少代码量。继承:不修改代码的条件下进行扩展,派生类较为短小,编写(维护)更少;多态如何使同一个消息被不同类型的对象响应。2. 简述面向对象程序设计的抽象和封装。参考答案要点:抽象是人们认识事物的常用方法,比如地图的绘制。抽象的过程就是如何简化、概括所观察到的现实世界,并为人们所用的过程。抽象包括对象的状态与行为,对应到类的属性与方法。抽象出来的属性通过封装可以减少数据冗余,进行信息隐藏和保护数据完整性。3. 类与对象有什么关系?参考答案要点:类是一种用户自定义

22、的数据类型.对象是使用自定义的类名在程序中说明变量.或者说;具有类类型的变量即为对象.类是创建对象的样板;对象是类的实例。4. 判断下列类之间的关系,把它们分别列入A聚合 B 继承 C 关联 D 都不是这四类中。1大学 学院 2学生 课程 3学生 大一新生 4汽车 车门 5货车 交通工具 6公共汽车 车站 7工具条 按钮 8汽车发动机 汽车9员工 公司 10本科生 研究生参考答案: 聚合:1 4 7 8 继承:5 10 关联:2 6 9 都不是:35. 面向对象软件开发方法的目标参考答案要点:封装性、易维护性、可扩展性、可重用性6. 简述数据类型的“强类型“。参考答案要点:为所有变量指定数据类

23、型称为“强类型”。使用强类型有以下优点: 它为变量启用智能提示(IntelliSense)支持。 这允许您在输入代码时看到变量的属性和其他成员。 它会运用编译器类型检查。这将捕捉到因溢出等错误而在运行时失败的语句。这也可以在不支持方法的对象上捕捉对方法的调用。 使代码的执行速度更快。7. 简述C# 语言的优点参考答案要点: 完全面向对象的设计。 强类型安全。 很好地融合了高级语言的简明性和 C+ 的强大功能。 垃圾回收。 类似于 C 和 C+ 的语法和关键字。 使用委托取代函数指针,从而增强了类型安全和安全性8. 简述C#语言中的过程重载参考答案要点:重载过程是指使用相同的名称和不同的参数列表

24、在多个版本中定义某个过程。重载的目的是定义过程的若干个密切相关的版本,而不需要通过名称来区分它们,可通过改变参数列表达到此目的。重载版本必须在以下至少一个方面不同于所有其他重载版本: 参数的数量 参数的顺序 参数的数据类型 类型参数的数量(适用于泛型过程) 返回类型(仅适用于转换运算符)9. 简述在C# 语言中关键字new的用途并举例。参考答案要点:在 C# 中,new 关键字可用作运算符、修饰符或约束。new 运算符 :用于创建对象和调用构造函数。new 修饰符 :用于向基类成员隐藏继承成员。new 约束 :用于在泛型声明中约束可能用作类型参数的参数的类型。10. 关键字this的意义和用法

25、?参考答案要点:this 关键字引用类的当前实例,还可用作扩展方法的第一个参数的修饰符。 this 的常用用途: 限定被相似的名称隐藏的成员 将对象作为参数传递到其他方法声明索引器由于静态成员函数存在于类一级,并且不是对象的一部分,因此没有 this 指针。 在静态方法中引用 this 是错误的。 11. 关键字base的意义和用法?参考答案要点:tbase 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用 base 关键字是错误的。 所访问的基类是类声明中

26、指定的基类。12. 简述C# 程序的通用结构参考答案要点:C# 程序可由一个或多个文件组成。每个文件都可以包含零个或零个以上的命名空间。一个命名空间除了可包含其他命名空间外,还可包含类、结构、接口、枚举、委托等类型。在某一个类中必须而且只能有一个静态的Main方法作为程序的入口。下面是一个程序的框架结构,它包含所有这些元素种类。 / A skeleton of a C# program using System;namespace YourNamespace class YourClass struct YourStruct interface IYourInterface delegate

27、int YourDelegate(); enum YourEnum namespace YourNestedNamespace struct YourStruct class YourMainClass static void Main(string args) /Your program starts here. 13. 简述中类的成员参考答案要点:类和结构具有表示其数据和行为的成员。成员说明字段字段是被视为类的一部分的对象的实例,通常用于保存类数据。例如,日历类可能具有一个包含当前日期的字段。属性 属性是类中可以像类中的字段一样访问的方法。属性可以为类字段提供保护,以避免字段在对象不知道的

28、情况下被更改。方法 方法定义类可以执行的操作。方法可以接受提供输入数据的参数,并且可以通过参数返回输出数据。方法还可以不使用参数而直接返回值。事件 事件向其他对象提供有关发生的事情(如单击按钮或成功完成某个方法)的通知。事件是使用委托定义和触发的。有关更多信息,请参见事件和委托。运算符 运算符是对操作数执行运算的术语或符号,如 +、*、 等。可以重新定义运算符,以便可以对自定义数据类型执行运算。有关更多信息,请参见可重载运算符(C# 编程指南)。索引器使用索引器可以用类似于数组的方式为对象建立索引。构造函数 构造函数是在第一次创建对象时调用的方法。它们通常用于初始化对象的数据。析构函数 析构函

29、数是当对象即将从存中移除时由运行库执行引擎调用的方法。它们通常用来确保任何必须释放的资源都得到适当的处理。嵌套类型 嵌套类型是在类或结构中声明的类型,通常用于描述仅由包含它们的类型所使用的对象。14. 简要叙述类的构造函数和析构函数。 参考答案要点:构造函数:构造函数是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载 析构函数:析构函数用于类的实例销毁时完成的操作。 不能在结构中定义析构函数。 只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。 它们是被自动调用的。 析构函数既没有修饰符,也没有参数。 15. 简述Windows窗体程序中如何使用事件?参考答案要点:事件是可以通过代码响应或“处理”的操作。事件可由用户操作(如单击鼠标或按某个键)、程序代码或系统生成

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1