面向对象程序设计习题库
选择题
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#程序中,可使用atch 机制来处理程序出现的(  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
38. 在类的定义中,类的(  B  )描述了该类的对象的行为特征。
A. 类名            B. 方法        C. 所属的名字空间        D. 属性
39.有关类和对象的说法不正确的是(B)。
    A)对象是类的实例                B)一个类只有一个对象
    C)任何一个对象只能属于一个类    D)类与对象的关系和数据与变量的关系相似
    E)类是抽象的,对象是具体的
40. 以下类MyClass 的属性count 属于(  B  )属性.
class MyClass
{
int i;
int count
{
get{ return i; }
}
}
A. 只写        B. 只读        C. 可读写        D. 不可读不可写
41. 根据下面的代码,可以确定类A与类B之间存在(  A  )关系。
  public class A {
      private B theB;
      public void aMethod(){ theB.doSomthing(); }
  }
  A 关联            B 泛化                C 实现            D 包含