面向对象程序设计习题库

面向对象程序设计习题库

选择题

1. 一个设计得好的面向对象系统具有( D)特征。

A 低内聚、低耦合 B 高内聚、低耦合 C 高内聚、高耦合 D 低内聚、高耦合 2. 面向对象程序设计的特点主要概括为(C)。

A 可分解性、可组合性、可分类性 B 继承性、封装性、多态性

C 抽象封装性、继承性、多态性 D 封装性、易维护性、可扩展性、可重用性 3. 关于C#程序的书写,下列不正确的说法是( D )。

A. 区分大小写 B. 一行可以写多条语句 C. 一条语句可写成多行

D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 4. 关于C#语言的基本语法,下列哪些说法正确的是( 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、引用类型到引用类型的转换 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.下列类型中为值类型的是( C )

A. 字符串类型 B. 树组类型 C. 枚举类型 D. 接口类型 13.decimal类型和浮点类型都可以表示小数,正确说法:( C )

A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低

14. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是__C__。

A. a(3,4) B. a(3)(4) C. a[3][4] D. a[3,4]

15. 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?( A )

A. decimal theMoney; B. int 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 int[10,20] B. int[ ] arr = int new[10,20]

C. int[ , ] arr = new int[10,20] D. int[ , ] arr = new int[20;10]

19. 枚举型常量的值不可以是( D )类型

A. int B. long C. ushort D. doule

20.引用类型主要有4种:类类型、数组类型、接口类型和( C )。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 21. 分析下列语句:

namespace TestCS {

public delegate void Hello(string target); }

该语句的作用是:( D )

A. 在TestCS 命名空间中定义了一个名为Hello 的全局方法; B. 在TestCS 命名空间中声明了函数Hello 的原型;

C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针; D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型; 22. 以下关于for循环的说法不正确的是 ( A )。

A. for循环只能用于循环次数已经确定的情况 B. for循环是先判定表达式,后执行循环体语句 C. for循环中,可以用break语句跳出循环体

D. for循环体语句中,可以包含多条语句,但要用花括号括起来。 23.下面对异常说法不正确的是( D ) A.try/catch块为基本引发异常的组合 B.在捕获异常时,可以有多个catch块 C.无论异常是否发生,finally块总会执行 D.try块和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. lik 27. 下列的( D )不是构造函数的特征。

A. 构造函数的函数名和类名相同 B. 构造函数可以重载 C. 构造函数可以带有参数

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. 托管代码生成的应用程序为目标机器上可执行文件,非托管代码生成的应用程序为中间语言文件

C. 托管代码和非托管代码之间没有区别

D.托管代码依赖于CLR提供的服务,而非托管代码不需要

32.在System.IO命名空间中( C )类是实现创建、移动、枚举目录和子目录的实例方法。

A.Diretory B.File C.DirectoryInfo D.FileInfo 33.下面对程序集和命名空间说法正确的是( B )。

A. 一个程序集只能引用一个命名空间

B. 一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中 C. 一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中 D. 一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间 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.SqlClient C. System.Xml.Serialization D. System.IO 36.构成对象的两个主要因素是( A )。

A 属性和操作 B 标识和内容 C 继承和多态 D 消息和封装 37.下面的修饰符中( C )不是访问修饰符。 A.public B.protected C.new

D.internal

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4