C# OOP 阶段小测试笔试题

上传人:野鹰 文档编号:1087827 上传时间:2017-05-27 格式:DOC 页数:10 大小:102.50KB
返回 下载 相关 举报
C# OOP 阶段小测试笔试题_第1页
第1页 / 共10页
C# OOP 阶段小测试笔试题_第2页
第2页 / 共10页
C# OOP 阶段小测试笔试题_第3页
第3页 / 共10页
C# OOP 阶段小测试笔试题_第4页
第4页 / 共10页
C# OOP 阶段小测试笔试题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C# OOP 阶段小测试笔试题》由会员分享,可在线阅读,更多相关《C# OOP 阶段小测试笔试题(10页珍藏版)》请在金锄头文库上搜索。

1、C# OOP 内测试卷(答案请写在记事本文件中:笔试答案.txt)一 选择题(2X60=120 )1 .Net 框架结构的核心组件是()A. 公共语言运行时B. 支持跨语言开发C. 框架类库D. MSIL2 以下哪个不是 CLR 提供的()功能A. 代码托管B. CTSC. CLSD. C#编译成 MSIL3 ()保证我们在.Net 开发中不同的语言类型之间互相兼容A. CTSB. CLSC. JIT 编译器D. MSIL4 想使用 WebClient 类进行下载操作,要引用( )命名空间A. System.IOB. System.NetC. System.ObjectD. System.Co

2、llections.Generic5 .NET 框架将()定义为一组规则,所有的 .NET 语言都应该遵循这个规则,这样才能创建与其他语言互操作性的应用程序。A. CTSB. CLSC. MSILD. CLR6 在.NET 中,下面对.NET Framework 理解错误的是()A. .NET 框架是运行在操作系统之上的B. .NET 框架支持跨语言开发,入 C#、VB.NET 等C. CTS 也叫公共语言运行时,它是.NET 运行的基础D. 为实现跨语言开发和跨平台的战略目标,.NET 所有编写的应用程序都是编译成微软中间语言JIT,再由编译器转成机器代码7 在 C#中,下面数据类型是值类型

3、的是()A. boolB. stringC. enumD. Array8 关于结构说法正确的是()A. 结构和类一样是引用类型B. 定义一个结构对象必须用 new 关键字C. 定义结构时可以给字段赋初始值D. 结构里可以有属性和方法9 关于值类型和引用类型,下列说法正确的是A. 值类型变量存储的是变量所包含的值B. 引用类型变量是指向他要存储的值C. 值类型转引用类型称为拆箱D. 引用类型转值类型称为装箱10 关于类的静态成员说法正确的是A. 静态成员可以由类的对象来访问B. 静态方法中不能声明类实例C. 静态方法中可以直接调用实例方法D. 定义静态成员关键字是 static11 在 C#中,

4、访问修饰符控制程序对类成员的访问,如果在类中定义一个成员不写访问修饰符,则默认是()A. publicB. privateC. protectedD. 以上都不是12 在进行程序开发过程中,有时需要使用类图说明类与类之间的关系,在类图中使用()符号表示公有成员A. +B. -C. *D. #13 在 C#程序开发中,我们会大量使用类和对象,其使用方法不包括()A. 将类实例化为对象B. 将对象实例化成类C. 通过类访问静态属性或方法D. 通过对象访问静态属性或方法14 在 C#中定义泛型集合 Dictionary students = new Dictionary()。下面集合操作代码正确的是

5、()A. Student stu=students“Jimmy”B. students.Add(“Jimmy”)C. students.Remove(4)D. foreach(Student stu in students.Keys)15 下面关于 List list = new List()的操作代码错误的是()A. list.Remove(0)B. list.RemoveAt(“王五”)C. string name = list0D. string name = list“李四”16 关于 List,下列说法错误的是()A. List获取元素时需要类型转换B. List是通过索引访问集合中

6、的元素的C. List可以根据索引删除元素,也可以根据元素名称删除D. 定义一个 List需要实例化17 在 C#中,关于 List和 Dictionary的说法,正确的是()A. List和 Dictionary都有 RemoveAt 方法B. List和 Dictionary都有 count 属性C. 获取元素时,List需要类型转换, Dictionary不需要D. List通过索引访问集合元素, Dictionary通过 key 访问集合元素18 关于集合说法错误的是()A. ArrayList 只能通过索引来访问和删除值B. Hashtable 可以直接通过键名来获取值C. 使用 L

7、ist添加、读取元素时不需要拆箱和装箱,这一点和 ArrayList 相同D. 使用 Dictionary可以通过 key 获取 value,这一点上和 Hashtable 相同19 C#中提供了一种集合类型哈希表(Hashtable) ,哈希表的数据时通过键( key)和()来组织的A. 项(Item)B. 记录(Record)C. 表(table)D. 值(Value)20 在 C#中,以下使用键值对存储数据的是()A. ArrayListB. ArrayC. 字符型数组D. HashTable21 在 C#中,方法重载主要有两种,包括()和参数个数不同的重载A. 参数类型不同B. 返回值

8、类型不同C. 方法名称不同D. 参数名称不同22 在 C#程序中,定义如下方法,下面选项中()不是该方法的重载public string Do(int value,string s)/A. public int Do(int value,string s)B. public string Do(string s,int value)C. public void Do(string s,int value)D. public void Do()23 C#中,关于构造函数的描述错误的是()A. 一个类的构造函数必须与类同名B. 在类中可以显示调用类的构造函数C. 构造函数一般来说是 publicD

9、. 构造函数可以有返回值24 在 C#中,以下关于方法重载的定义错误的是()A. public void Add(int a,int b)和 public void Add(int a,int b,int c)B. public void SayHi(string a,int b)和 public void SayHi(string a,string b)C. public void Sub(int a,int b)和 public int Sub(int a,int b)D. public int Multiply(int a,int b)和 public int Multiply(int

10、a,int b,int c)25 关于对象间通信错误的是()A. 一个对象可以调用其他对象的公开方法B. 一个对象在调用其他对象的方法时,无须知道内部实现过程C. 类经过封装,外部对象就无法获取这个类的对象的属性了D. 在传递对象之间必须给对象初始化,否则容易引起异常26 关于隐式构造函数说法错误的是()A. 在类中,经过调用隐式构造函数,该类 bool 类型的字段会初始化为 trueB. 如果没有显式的给类写构造函数,系统才会调用默认隐式构造函数C. 隐式构造函数没有参数D. 如果显示给类写构造函数,系统不会给类分配隐式构造函数27 面向对象编程中,子类继承父类,下列说法错误的是A. 子类继

11、承父类,也可以说父类派生一个子类B. 子类不能再派生子类C. 子类和父类符合 is-a 关系,子类 is a 父类D. 一个子类不能够继承多个父类28 下面关于用虚方法实现多态说法正确的是A. 父类的虚方法不能被子类的子类所重写B. 父类的虚方法被子类重写以后就不能被父类对象调用了C. 子类重写父类的虚方法用的关键字是 overrideD. 父类的虚方法子类必须重写29 关于 base 关键字,下列使用方法错误的是A. 在子类中,base 关键字不可以访问父类的私有字段B. 在子类中,base 关键字不可以调用父类的私有方法C. 在子类中,base 关键字不可以调用父类的构造函数D. 在子类中

12、,base 关键字可以访问父类的属性30 下面关于子类调用父类构造函数的说法,错误的是A. 在子类中,如果不显式地使用 base 来调用父类构造函数,子类会隐式地使用 base 调用B. 在子类中,可以指定构造函数调用父类的哪个构造函数C. 父类中必须指定无参的构造函数D. 有参数的父类构造函数,在子类中使用 base 调用时,参数可以不一致31 多态是指两个或多个属于不同类的对象,对于同一个消息作出不同的响应的方式。C#中的多态不能通过()实现A. 接口B. 抽象类C. 虚方法D. 密封类32 下面关于抽象类的说法错误的是()A. 抽象类不能被实例化B. 含有抽象方法的类一定是抽象类C. 抽

13、象类可以是静态类和密封类D. 抽象类定义的抽象方法必须在其非抽象的子类中实现33 下面代码的运行结果是()public abstract class Apublic A()Console.WriteLine(“A”);public virtual void Fun()Console.WriteLine(“A.Fun()”);public class B :Apublic B()Console.WriteLine(“B”);public override void Fun()Console.WriteLine(“B.Fun()”);public static void Main()A a=new

14、 B();a.Fun();A. ABA.Fun()B. ABB.Fun()C. BAA.Fun()D. BAB.Fun()34 在 C#中,Student 类继承自 Person 类,下列代码中可以用于类型转换的是()A. Person is Student;B. Person as Student;C. Student is Person;D. (Student)Person;35 关于虚方法和抽象方法说法正确的是()A. 父类的每一个虚方法都需要被子类实现,父类的抽象方法也要被子类实现B. 抽象类中的抽象方法只有定义没有实现,类中的虚方法必须有实现C. 密封类中可以有抽象方法,不能有虚方法

15、D. 虚方法不能存在于抽象类中,抽象方法只能在抽象类中 36 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成()A.sealed 方法B.public 方法C.virtual 方法D.override 方法37 下面对抽象类描述不正确的是()A.抽象类只能作为基类使用B.抽象类不能定义对象C.抽象类可以实例对象D.可以实现多态38 面向对象编程中,子类继承父类,下列说法错误的是()A. 子类不能再派生子类B. 子类和父类符合 is-a 关系,子类 is a 父类C. 一个子类不能够继承多个父类D. 子类继承父类,也可以说父类派生一个子

16、类39 关于抽象类的说法错误的是()A. 抽象类不能被实例化B. 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法C. 具体派生类必须覆盖基类的抽象方法D. 抽象派生类必须覆盖基类的抽象方法40 在 C#语言开发程序中,以下关于简单工程设计模式的描述中错误的是()A. 简单工厂设计模式中,创建对象的方法返回类型可以为任意子类B. 简单工厂模式方便维护,可以实现代码复用C. 使用简单工厂设计模式可以在调用者不知道对象属于哪个子类的情况下,创建不同的对象D. 简答工厂模式创建对象的方法返回类型为父类41 下面关于设计模式说法错误的是()A. 软件开发中对于某种需求的一种经验的总结B. 设计模式可以根据需要随意使用C. 设计模式的应用以需求为基础D. 设计模式的使用会带来好处但也有一些代价42 关于简单工厂说法错误的是( )A.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号