《深入.NET平台和C#编程》内部测试题-笔试试卷
一 选择题
1) 以下关于序列化和反序列化的描述错误的是( )。 a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列
化过程
c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化 d) 标识一个类可以序列化要使用[Serializable]
2) 在C#中,下列关于简单工厂设计模式的说法不正确的是( )。
a) 简单工厂产生的对象都是静态对象 b) 创建产品的方法返回类型都是父类
c) 使用该模式解决了代码中大量使用new 的问题 d) 简单工厂的缺点是对修改不封闭,新增加产品就需要修改工厂
3) 下列关于虚方法和抽象方法的描述中错误的是( )。 4)
a) b) c) d)
虚方法必须有方法体,可以被子类重写
抽象方法不允许有方法体,且必须被子类重写
抽象方法必须在抽象类中,而虚方法可以在所有类中
在子类中重写抽象方法或虚方法,都需要用override关键字
在UML类图中使用( )符号表示私有成员。 a) b) c) d)
+ - * #
5) 分析以下使用抽象类的C#代码,其最终的运行结果是( )。
public abstract class Class1 {
public void F() {
Console.Write(\ }
abstract public void ABS(); }
public class Class2 : Class1 {
public override void ABS()
6) 下列代码的运行结果是( )。
class Test {
public void F() {
Console.Write(\ } }
class B : Test {
new public void F() {
Console.Write(\ }
static void Main() {
Test objA = new B(); objA.F(); } } a) A b) B c) BA d) AB
7) 关于C#中的虚方法,以下说法正确的是( )。
{
Console.Write(\ }
public Class2() {
Console.Write(\ }
static void Main() {
Class2 objB = new Class2(); objB.ABS(); } }
a) 12 b) 21 c) 13 d) 23
a) 使用static修饰 b) 可以没有方法体 c) 可以被子类重写 d) 使用abstract修饰
8) 分析如下C#代码,如果输出结果是“Dog Eating......”,下划线需要填写的代码是( ) abstract class Animal {
public __________ void Eat(); }
class Dog:Animal {
public __________ void Eat() {
Console.WriteLine(\ }
static void Main(string[] args) {
Animal animal = new Dog(); animal.Eat(); } } a) abstract,不填 b) abstract,override c) virtual,不填 d) virtual,override
9) 在开发C#程序过程中,会大量地使用类和对象,其使用方法不包括( )。
a) b) c) d)
将类实例化为对象 将对象实例化为类
通过类访问非静态属性或方法 通过对象访问非静态属性或方法
10) 运行下面C#代码将会出现编译错误,出现错误的位置是( )。
class Teacher {
public Teacher(string name) {
this.Name = name; //1 }
private string name; public string Name
{
set { name = value; } //2 }
static void Main(string[] args) {
Teacher teacher = new Teacher(\ //3 Console.WriteLine(teacher.Name); //4 }
} a) 1 b) 2 c) 3 d) 4
11) 现有类“c1”,它所在的命名空间为“a.b”,则下列说法中错误的是( )。 a) 不同命名空间下仍可存在名称为c1的类 b) 不同命名空间下使用c1时,可以通过“using a.b”引入命名空间 c) 同一命名空间下的类,使用c1时不需要引入c1的命名空间 d) 不同命名空间下使用c1时,不可以直接通过“a.b.c1”的方式使用
12) 下面关于泛型集合Dictionary
13) 已知Company.xml文件节点代码如下:
现有如下C#代码片段:
XmlDocument myXml = new XmlDocument(); myXml.Load(\
XmlNode company = myXml.DocumentElement; foreach(XmlNode node in company.ChildNodes ) {
switch (node.Name)
{
case \一汽大众\
Console.WriteLine(\车名:{0}\ break;
case \价格\
Console.WriteLine(\价格为:{0}\ break; } }
则正确的输出结果为()。 a) 车名:一汽大众
价格为:10万 b) 车名:一汽大众
价格为:20万 c) 车名:一汽大众
车名为:日本丰田 d) 价格为:10万
价格为:20万
14) 已知Animal、Cat、Tiger三个类,其继承关系为Cat: Animal,Tiger: Animal,
已知Animal中成员color的访问修饰符为protected,Cat中成员height的访问修饰符为private,Tiger中成员weight的访问修饰符为public,则下面描述中错误的是( )。 a) Cat可以访问Animal中的成员color b) Cat可以访问Tiger中的成员weight c) Tiger可以访问Animal中的成员color d) Tiger可以访问Cat中的成员height
15) 在C#中,( )关键字用于子类的构造函数明确指明调用的父类的构造函数。 a) new b) this c) base d) is
16) C#中的多态不能通过( )实现。 a) 方法重载 b) 抽象类 c) 虚方法 d) 密封类
17) 分析如下C#代码片断,运行后输出的结果是( )。
ArrayList list = new ArrayList();
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C# OOP 内部测试笔试题和答案在线全文阅读。
相关推荐: