C#练习(四五六章).doc_第1页
C#练习(四五六章).doc_第2页
C#练习(四五六章).doc_第3页
C#练习(四五六章).doc_第4页
C#练习(四五六章).doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 分析如下C#代码,根据类的继承关系,运行后的输出结果是()。 (选择一项) public class Person private int age = 0; public int Age get return age; set if (value = 18) Console.Write(成年人!); else Console.Write(非成年人!); age = value; public class People : Person public People() Console.Write(不得入内!); public class Test static void Main() People Shang = new People(); Shang.Age = 17; a) 非成年人!不得入内!b) 成年人!不得入内!c) 不得入内!d) 不得入内!非成年人!2. 在C#中,()关键字用于子类的构造函数明确指明调用的父类的构造函数()。 (选择一项)A newB thisC baseD is 3. 在C#中,下列代码的运行结果是()。 (选择一项)using System; class Test public virtual void F() Console.Write(A); class B : Test public override void F() Console.Write(B); static void Main() Test objA = new B(); objA.F(); A a B bC baD ab4. 分析如下C#代码,根据类的继承关系,运行后的输出结果是()。 (选择一项) Public class Vehicle private int speed=10; public int Speed getreturn speed; set speed = value; Console.Write(“禁止驶入!”); public class NewVehicle:Vehicle public NewVehicle() if( this.Speed=20) Console.Write(“机动车!”); else Console.Write(“非机动车!”); public class A static void Main() NewVehicle Tong=new NewVehicle(); Tong.Speed=15; a) 禁止驶入!非机动车!b) 非机动车!禁止驶入!c) 禁止驶入!机动车!d) 机动车!禁止驶入! 5. 在C#中,如果类C继承自类B,类B继承自类A,则以下描述正确的是()。(选择一项) a)C不仅继承了B中的成员,同样也继承了A中的成员 b)C只继承了B中的成员 c)A只继承了A中的成员 d)C不能继承A或B中的成员6. 分析如下C#程序,运行后输出的结果是()。(选择一项)class Animal public Animal(string name) Console.WriteLine(我是小动物!); class Dog : Animal public Dog() Console.WriteLine(我是一只小狗!); static void Main(string args) Animal animal = new Dog(); a) 我是一只小小狗!b) 我是小动物!我是一只小小狗!c) 我是小动物d) 出现编译错误7. 在C# 语言开发的程序中,已知A、B、C三个类,其继承关系为C:B,B:A,已知A中成员X的访问修饰符为protected,B中成员Y的访问修饰符为private,C中成员Z的访问修饰符为pubilc,则下面描述中错误的是()。(选择一项)a)A可以访问C中的成员Zb)B可以访问A中的成员Xc)C可以访问B中的成员Yd)B可以访问C中的成员Z8. 在C#语言开发的程序中,已知person、eduStaff、teacher三个类,其继承关系为eduStaff:person,teacher:eduStaff,已知person中成员age的访问修饰符为public,eduStaff中成员deptType的访问修饰符为protected,teacher中成员schoolid的访问修饰符为private,则下面描述中错误的是()。(选择二项)a) person可以访问teacher中的成员schoolidb) eduStaff可以访问person中的成员agec) teacher可以访问eduStaff中的成员deptTyped) person可以访问teacher中的成员deptType9. 在C#语言中,以下关于继承的说法错误的是()。(选择一项)a) 一个子类不能同时继承多个父类b) 任何类都是可以被继承的c) 子类继承父类,也可以说父类派生了一个子类d) Object类是所有类的基类10 下列C#代码中使用了抽象类的概念,这段代码中发生错误的代码行是()。abstract class WashingMachine public WashingMachine() / 1 abstract public void Wash(); / 2class MyWashingMachine:WashingMachine override public void Wash() / 3 static void Main() WashingMachine wm = new WashingMachine(); / 4 wm.Wash(); a) 1b) 2c) 3d) 411 在C#中,下列关于密封类使用正确的是()。(选择一项) a) sealed class Person / class Student:Person / b) class Person /sealed class Student:Person /c) sealed class Student public int addStudent();d) sealed class Student public sealed int addStudent();12 以下C#代码中,关于虚方法和抽象方法使用正确的是()。(选择一项)a) public abstract class Animal public Animal() public abstract void Run(); public class Cat:Animal public Cat() public void Run() b) public class Animal public Animal() public abstract void Run(); public class Cat:Animal public Cat() public void Run() c) public abstract class Animal public Animal() public abstract void Run();public class Cat:Animal public Cat() public override void Run()d) public virtual class Animal public Animal() public virtual void Run();Public class Cat:Animal public Cat() public void Run()13 关于C#中的虚方法,以下说法中正确的是()。(选择二项) a) 使用static修饰 b) 可以有方法体 c) 可以被子类重写 d) 使用abstract修饰14 在C#中,使用()访问修饰符修饰的方法被称为抽象方法。(选择一项)a) thisb) abstractc) new d) virturl15 分析以下C# 代码,根据面向对象的多态性,代码的运行结果是()。 (选择一项)class A public void F() Console.Write(A); public void F(string Chr) Console.Write(Chr); class B : A public void F() Console.Write(B); static void Main() B objB = new B(); objB.F(); a) Ab) Bc) BAd) AB15分析以下使用抽象类的C#代码,其最终的运行结果是()。(选择一项) public abstract class Class1 public void F() Console.Write(1); abstract public void ABS(); public class Class2 : Class1 public override void ABS() Console.Write(3); public Class2() Console.Write(2); static void Main() Class2 objB = new Class2(); objB.F(); a) 12b) 21c) 13d) 2316分析如下C#代码,如果输出结果是“Dog Eating”,下划线需要填写的代码是()。 Abstract class Animal Public_void Eat(); Class Dog:Animal Public_void Eat() Console.WriteLine(“Dog Eating”); Static void Main(string args) Animal animal=new Dog(); Animal.Eat(); a) Abstract,不填b) abstract,overridec) virtual,不填d) virtual,override17在C#语言中,面向对象编程的特征是()。(选择一项)a 封装b 继承c 多态d 以上全是18在C#语言开发的程序中,以下关于抽象类的说法错误的是()。(选择一项)a) 抽象类多数作为基类使用b) 抽象类可以定义字段、属性、包含有实现的方法c) 在抽象方法声明中可以使用static或virtual修饰d) 抽象类可以实现多态19在C#语言开发的程序中,下面的代码实现了设计模式中的()模式。Public class Student:Person Public class Teacher:Person Public Person CreatePerson(string name,int age)Person p=new person(); Switch (type)Case”s”:P=new student (name,age);Break;Case”t”: P=new Teacher(name,age); break;default: p=null; break;Return p; (选择一项)a) 继承b) 封装c) 简单工厂d) 抽象工厂20在C#中,下列关于虚方法和抽象方法的描述中错误的是()。 (选择一项) a) 虚方法必须有方法体,可以被子类重写 b) 抽象方法不允许有方法体,且必须被非抽象子类重写 c) 抽象方法必须在抽象类中,而虚方法可以在所有类中 d) 在子类中重写抽象方法或虚方法,都需要override关键字21 在C#中,在如下的代码中,当使new B()创建B的实例时,输出结果是()。(选择一项)class A public A() Print(); public virtual void Print() class B:A int x = 10; int y; public B() y = -10; public override void Print() Console.WriteLine(X=0,Y=1,x,y); a) X=10,Y=-10b) X=0,Y=10c) X=10,Y=10d) X=10,Y=022. 在C#语言开发的程序中,已知Animal、Cat、Tiger三个类,其继承关系为Cat:Animal,Tiger:Animal,已知Animal中的成员color的访问修饰符为protected,Cat中成员height的访问修饰符为private,Tiger中成员weight的访问修饰符为public,则下面描述中错误的是()。(选择一项)a) Cat可以访问Animal中的成员colorb) Cat可以访问Tiger中的成员weightc) Tiger可以访问Animal中的成员colord) Tiger可以访问Cat中的成员height23. 在C#语言开发的程序中,以下关于简单工厂设计模式的描述中错误的是()。(选择一项)a) 简单工厂设计模式中创建对象的方法返回类型可以为任意子类b) 简单工厂模式方便维护,可以实现代码复用c) 使用简单工厂模式可以在调用者不知道对象属于哪个子类的情况下,创建不同的对象d) 简单工厂模式中创建对象的方法返回类型为父类24. 某学员用C#写了如下一段代码,代码的输出结果是()。(选择一项)class Program static void Main(string args) Student student = new Student(); student.SayHi(); Console.ReadLine(); class Person public virtual void SayHi() Console.WriteLine(你好!); class Student : Person public override void SayHi() Console.WriteLine(你好,我是一名学生。); a) 你好!b) 你好,我是一名学生。你好!c) 你好,我是一名学生。d) 空25. 在C#语言开发的程序中,以下关于虚方法和抽象方法的描述中正确的是()。(选择一项)a) 虚方法不能有方法体,而抽象方法要有方法体,哪怕是一个分号b) 虚方法和抽象方法都必须被子类overridec) 虚方法可以存在于任何类中,而抽象方法只能存在于抽象类中d) 虚方法可以存在于抽象类中26. 关于C#中的虚方法,以下说法正确的是()。(选择一项)a) 使用static修饰b) 可以没有方法体e) 可以被子类重写c) 使用abstract修饰27. 在C#中有如下泛型集合代码,向该泛型集合中添加一个键为“李四”的学员对象,以下选择是对该泛型集合不同操作,其中正确的是()。 (选择二项) Dictionary dict = new Dictionary();a) dict.RemoveAt(0);b) Student stu = dict“李四”;c) foreach (Student stu in dict.Keys)d) foreach (Student stu in dict.Values)28 以下C#代码运行结果是()。(选择一项) Public void TestO List numbers = new List(); for (int i = 1; i 6; i+) numbers.Add(i); for (int i = 1; i 3; i+) numbers.Remove(i); foreach (int i in numbers) Console.Write(i.ToString(); a) 运行出错b) 345c) 145d) 13529 C#中提供了一种集合类型哈希表(HasTable),哈希表的数据是通过键(Key)和()来组织的。(选择一项)a) 项(Item)b) 记录(Record)c) 表(Table)d) 值(Value)30 在C# 中,关于 List和Dictionary的书法,正确的是()。 (选择两项)a) List 和 Dictionary都有RemoveAt方法b) List 和 Dictionary都有Count属性c)获取元素时,List需要类型转换,Dictionary不需要d) List通过索引访问集合元素,Dictionary通过key访问集合元素31 C#提供一种集合类型HashTable(哈希表),哈希表的数据是通过键(Key)和值(Value)来组织的。哈希表中元素的对应关系是()。(选择一项)a) 每一个键对应一个值b) 每一个键对应多个值c) 每一个值对应多个键d) 多个键对应多个值32 C#中,以下使用键值对存储数据的是()。(选择一项)a) ArrayListb) Arrayc) 字符型数组d) HashTable33 在C#语言中,以下关于集合的说法错误的是()。 (选择一项) a) ArrayList只能通过索引来访问和删除值 b) HashTable可以直接通过键名来获取值 c) 使用List添加、读取元素时不需要拆箱和装箱,这一点和ArrayList不相同 d)使用Dictionary可以通过Key获取Value,这一点和HashTable相同34在C#语言开发的程序中,下面关于泛型集合Dictionary dict=new Dictionary()的操作代码正确的是()。(选择一项)a) Dict.Remove(dict0)b) Dict.RemoveAt(0)c) Foreach(Person per in dict.Values)d) Foreach(Person in dict.Keys)35、 在C#程序中定义一个泛型集合对象students的代码是:Dictionary students=new Dictionary();下面集合操作的代码片段正确的是()。(选择一项)a) Student stu=students“Jimmy”;b) Students.Add(“Jimmy”);c) Students.Remove(4);d) Foreach(Student stu in students.Keys)36 在C#中,下列代码的运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论