临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题2_第1页
临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题2_第2页
临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题2_第3页
临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题2_第4页
临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题2_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、临沂大学计算机科学与技术专业大二2017-2018学年C#面向对象题21. 对于下列代码的出错原因,描述正确的是( ) class Program static void Main(string args) /创建Appliance对象时报错 Appliance apl = new Appliance(); Appliance mlp = new MobilePhone(); abstract class Appliance public abstract void Charge(); class MobilePhone : Appliance public void Call() Conso

2、le.WriteLine("手机可以打电话。"); public override void Charge() Console.WriteLine("手机使用110V电压充电。"); 单选题 *Appliance类在实例化的时候书写的位置不正确,导致报错。Appliance是一个抽象类,不允许直接实例化,只能够实例化非抽象的子类MobilePhone。(正确答案)定义Appliance类的时候在Charge方法中没有任何方法体,所以创建其对象没有任何意义,所以系统报出错误。代码关系没有理解错误,应该写为:MobilePhone pm = new Appl

3、iance()。2. 下列代码报错的原因是() public interface IAnimal /Eat方法报错 void Eat() Console.WriteLine("动物需要吃饭。"); 单选题 *study()方法没有加访问修饰符public,导致报错。接口IStudent没有添加修饰符public,导致报错。Study()方法是属于接口IStudent的成员方法,不能够有具体实现。导致报错。(正确答案)方法体输出语句有问题,导致报错。3. ()在属性的set 块实现内,用于访问传递给该属性的内置参数。 单选题 *ThisValue(正确答案)Argsprope

4、rty4. ArrayList中存储的元素超出容量时,会出现下列哪种状态() 单选题 *其容量变为之前的一半程序会报错其容量不变其容量自动增长一倍(正确答案)5. A类被B类继承,B类被C类继承,那么C类具有了A类的特征,这表现了类的() 单选题 *封装性传递性(正确答案)单根性规律性6. c#程序中使用继承的优点有哪些() *提高部分模块代码的复用性(正确答案)提高部分模块代码的扩展性(正确答案)提高软件的开发效率(正确答案)提高代码的运行速度7. C# 类中内部成员,不包括() 单选题 *方法字段属性抽象(正确答案)8. C# 中的集合被定义在()命名空间中。 单选题 *System.Co

5、llections.GenericSystem.IOSystem.Collections(正确答案)System.Reflection9. C# 中的集合的特点有下列哪些() *动态的改变大小(正确答案)可存储任意类型的对象(正确答案)提供一系列操作集合中对象的方法(正确答案)有固定的大小10. C#面向对象中,例如:客户去银行取现金,不可能直接从保险柜中随意拿取现金,只能通过ATM或业务办理窗口取出存在银行的现金,那么现金就就可以看作银行对象的(),ATM机业务办理窗口看作(),即可体现面向对象中封装的特性。 单选题 *属性;字段字段;属性(正确答案)字段;方法属性;方法11. C#中的多态

6、可以通过()实现 *密封类方法重载(正确答案)抽象类(正确答案)虚方法(正确答案)12. C#中的方法重载主要包括参数不同类型的重载和参数数量不同的重载,下列选项中的两个方法不属于重载方法的是( ) 单选题 *public int Hello(int int1)/ 省略方法体public int Hello(String str1)/ 省略方法体public int Hello()/ 省略方法体public String Hello()/ 省略方法体(正确答案)public int Hello()/ 省略方法体public int Hello (String str1)/ 省略方法体publi

7、c String Hello(String str1, String str2)/ 省略方法体public String Hello(String str)/ 省略方法体13. C#中的属性主要体现了面向对象编程的()特性。 单选题 *封装(正确答案)继承多态抽象14. C#中若要某方法只能在当前类或当前类的派生类中访问,可以使用()访问修饰符 单选题 *publicprivateprotected(正确答案)internal15. C#中若要某方法只能在当前类中访问,可以使用()访问修饰符 单选题 *publicprivate(正确答案)protectedinternal16. C#中使用(

8、 )关键字定义接口。 单选题 *interface(正确答案)abstructstructvirtual17. C#中使用overried重写父类的同名方法,可以体现出面向对象编程的()特性。 单选题 *封装继承多态(正确答案)抽象18. C#中下列代码运行结果是() public abstract class A public A() Console.Write("A"); public virtual void Fun() Console.WriteLine("C"); public class B : A public B() Console.Wr

9、ite("B"); public new void Fun() Console.WriteLine("D"); class Program static void Main(string args) A a = new B(); 单选题 *ABCDBDACAB(正确答案)BA19. C#中下列代码运行结果是() public class Student public virtual void Exam() Console.WriteLine("学生都要考试"); public class Undergraduate : Student

10、 public new void Exam() Console.WriteLine("大学生有选择考试科目的权利"); class Program static void Main(string args) Student stu = new Undergraduate(); stu.Exam(); 单选题 *学生都要考试(正确答案)大学生有选择考试科目的权利学生都要考试 大学生有选择考试科目的权利学生都要考试学生都要考试20. foreach 循环在处理集合和数组相对于 for 循环的优势有哪些() *语句简洁(正确答案)效率更加高(正确答案)不需要知道循环次数(正确答案

11、)不用关心数组的起始索引(正确答案)21. FileMode 的枚举值Create描述正确的是() 单选题 *创建新文件,如果文件已存在,则引发异常创建新文件,如果文件已存在,则覆盖(正确答案)打开文件,如果文件不存在,则引发异常打开文件,如果文件不存在,则创建新文件22. Hashtable的常用方法不包括() 单选题 *AddRemoveClearInsert(正确答案)23. OpenFileDialog 的CheckFileExists属性的作用是() 单选题 *在用户指定不存在的文件时是否显示警告(正确答案)对话框的初始目录文件筛选器,按“显示名称 | 类型”格式编写在对话框中选择的

12、文件筛选器的索引24. OpenFileDialog 的Filter属性设置正确的是() 单选题 *文本文件*.txt文本文件*.txt文本文件|*.txt(正确答案)文本文件&*.txt25. OpenFileDialog的DefaultExt可以用来设置() 单选题 *默认扩展名(正确答案)对话框的初始目录是否自动添加默认扩展名将显示在对话框标题栏中的字符26. OpenFileDialog对话框可以设置初始目录的属性是() 单选题 *InitialDirectory(正确答案)FilterIndexTitleAddExtension27. OpenFileDialog对话框可以设

13、置对话框中标题栏的文字的属性是() 单选题 *Title(正确答案)FilterIndexInitialDirectoryAddExtension28. OpenFileDialog用来设置自动添加默认扩展名的属性是() 单选题 *CheckPathExistsCheckFileExistsAddExtension(正确答案)DefaultExt29. StreamReader 用于读取一行数据的方法是() 单选题 *ReadLine()(正确答案)Read()ReadToEnd()Close()30. 标记对象可以被序列化的特性是() 单选题 *Serializable(正确答案)Runti

14、meFormattersWindows31. 抽象类中,子类通过关键字( )实现抽象方法。 单选题 *abstractinterfacevirtualoverride(正确答案)32. 对文件对话框控件描述正确的是() *OpenFileDialog是打开文件的对话框(正确答案)SaveFileDialog是保存文件的对话框(正确答案)FolderBroswerDialog是打开文件夹的对话框(正确答案)OpenDialog是打开文件的对话框33. 对于C#程序中的访问修饰符描述正确的是() 单选题 *public是完全公开的private私有的,只能在当前类中进行访问protected受保护

15、的,只能在当前类或当前类的派生类中访问以上说法都正确(正确答案)34. 对于抽象类的规则以下描述正确的是() *不能创建抽象类的实例(正确答案)不能在抽象类外定义抽象方法(正确答案)不能把抽象类声明为sealed(正确答案)抽象类的抽象成员在派生类中必须全部实现(正确答案)35. 对于抽象类的意义以下说法正确的是() 单选题 *包含公共的属性和行为,被子类所共享代码重用为所有子类提供一种统一的类型向上造型包含抽象方法,为子类提供一个统一的入口,子类有不同的实现以上说法全部正确(正确答案)36. 对于方法重载的特点,描述错误的是() 单选题 *方法名称必须相同方法的参数必须不相同返回值类型必须相

16、同(正确答案)可以减轻命名负担37. 对于方法重载的作用描述错误的是() 单选题 *可以减轻命名负担方便自适应调用代码更灵活提高了运行效率(正确答案)38. 对于构造函数,描述错误的是() 单选题 *构造函数名必须与类名相同构造函数没有返回值类型构造函数可以没有参数一个类只能有一个构造函数(正确答案)39. 对于文件操作的Move() 方法说法错误的是() *可以复制文件(正确答案)可以检测文件是否存在(正确答案)移动文件到新的位置不能移动文件的位置(正确答案)40. 对于下列代码的出错描述正确的是() abstract class Cat public void Eat() Console.

17、WriteLine("小猫喜欢吃鱼!"); class Dog /Sleep方法报错 public abstract void Sleep() ; 单选题 *抽象类可以不包含抽象方法,但是含有抽象方法的类必须定义为抽象类。(正确答案)抽象方法不允许有方法体。子类继承于抽象类的时候必要重写抽象类中所有的抽象方法,除非子类也是抽象类。抽象类不允许实例化,只能够实例化其非抽象子类对象。41. 对于下列代码的出错原因,描述正确的是() abstract class Animal /Eat()方法报错 public abstract void Eat() Console.WriteL

18、ine("动物需要吃东西!"); 单选题 *单词的拼写出现错误,导致代码出错。抽象方法不允许有方法体,导致代码出错。(正确答案)抽象方法的命名不够规范,导致代码出错。与之相关的代码出错,导致代码出错。42. 对于下列代码的出错原因,描述正确的是() abstract class Appliance public abstract void Charge(); /MobilePhone位置报错 class MobilePhone : Appliance public void Call() Console.WriteLine("手机可以打电话。"); 单选

19、题 *电器类Appliance中有隐藏错误,导致MobilePhone类在继承的时候出现错误。MobilePhone单词拼写错误。子类MobilePhone继承于抽象类Appliance的时候必须要重写抽象类Appliance中所有的抽象方法,除非子类也是抽象类。(正确答案)其他关联错误。43. 泛型方法的类型参数表用什么分割() 单选题 *用<>分隔(正确答案)用,分隔用""分隔用分隔44. 泛型方法的类型参数指定了方法的什么内容() *实参的类型(正确答案)返回类型(正确答案)形参的类型什么都没指定45. 泛型集合所在的命名空间是() 单选题 *System

20、.Collections.Generic(正确答案)System.CollectionsSystem.Generic以上都不对46. 根据以下代码,描述正确的是() public class Student public string name; public string Name get return name; 单选题 *Name具有写入权限Name具有读取权限(正确答案)Name具有读取,也有写入权限Name无读取,也无写入权限47. 关于C#中抽象类的说法,错误的是() 单选题 *抽象类可以不包含抽象方法,但是含有抽象方法的类必须定义为抽象类。抽象方法不允许有方法体。子类继承于抽象类

21、的时候没有必要重写抽象类中所有的抽象方法,即便子类不是抽象类。(正确答案)抽象类不允许实例化,只能够实例化其非抽象子类对象。48. 关于Dictionary<k,v>,描述错误的是() 单选题 *可以通过下标获取值(正确答案)可以通过键获取值描述的是键值对Keys属性表示键集合49. 关于List<T>,描述错误的是() 单选题 *是ArrayList的泛型版可以通过键获取值(正确答案)可以通过下标获取值可以调用Insert方法将元素添加到指定位置50. 关于抽象方法和虚方法的区别说法不正确的是() 单选题 *抽象方法和虚方法都是为了实现多态的功能。抽象方法只提供一个功

22、能名称,要求子类必须实现该功能。虚方法使用关键字virtual修饰。虚方法虽然不止提供了功能名称还提供了默认的实现方式,但是子类还是必须重新实现该功能。(正确答案)51. 关于对象的概念,下列说法正确的有() *对象是类的实例(正确答案)独一无二存在的个体(正确答案)对象是虚拟的客观存在的(正确答案)52. 关于对象的使用,下列说法正确的是() 单选题 *声明后就可以使用声明并且使用new关键字创建对象后才能使用(正确答案)创建类之后就可以使用对象声明后可以调用方法,使用new关键字创建对象后才能调用字段53. 关于多态的实现方式以下不正确的是() 单选题 *使用new关键字隐藏父类的方法使用

23、override关键字重写父类的方法使用public完全公开父类的方法(正确答案)使用virtual关键字定义父类方法为虚方法54. 关于泛型的特点,描述错误的是() 单选题 *泛型是C#2.0新增加的功能不会强行对值类型装箱和拆箱数据类型默认为Object(正确答案)提高运行的性能55. 关于构造函数,下列说法正确的有() *每个类都会默认的无参构造函数(正确答案)构造函数也可以重载(正确答案)构造函数是在使用new关键字创建对象时系统自动调用的(正确答案)在类中添加了一个有参的构造函数后,依然还可以使用无参的构造函数创建对象56. 关于类与对象的关系,下列说法正确的有() *类是抽象的(正

24、确答案)对象是具体的(正确答案)对象是类的实例(正确答案)类是对象的抽象(正确答案)57. 关于以下C#代码的说法正确的是() public abstract class Animal public abstract void Eat(); public class Tiger : Animal public override void Eat() Console.WriteLine("老虎吃动物"); class Program: Tiger static void Main(string args) Tiger tiger = new Tiger(); tiger.Ea

25、t(); 单选题 *代码正确,但没有输出代码正确,并且输出为"老虎吃动物"(正确答案)代码错误,因为Program类没有实现抽象基类Animal中的抽象方法代码错误,因为抽象基类Animal的Eat方法没有实现58. 观察下列代码,给出对应的结果(): ArrayList list = new ArrayList() ; Customer teng = new Customer(" 马腾 ", 32, " 汕头市 "); Customer yun = new Customer(" 马云 ", 33, "

26、汕头市 "); list.Add(teng); list.Add(yun); Console.WriteLine(list2 as Customer).Name); 单选题 *程序编译不通过,不能运行马云程序运行报错(正确答案)空字符串59. 观察下列代码,判断最后输出的结果: Customer jun = new Customer(" 李军 ",32," 广州 "); Customer yun = new Customer(" 王云 ", 28, " 杭州 "); Customer si = new C

27、ustomer(" 雷斯 ", 43, " 美国 "); ArrayList list = new ArrayList(2); list.Add(jun); list.Add(yun); list.Add(si); Customer cust = list1 as Customer; Console.WriteLine("2 号客户:0", cust.Name); 单选题 *程序出错2号客户:李军2号客户:王云(正确答案)2号客户:雷斯60. 观察下列代码,找出错误的行,并修改正确的选项是() ArrayList list = new

28、 ArrayList() ; Customer teng = new Customer(" 马腾 ", 32, " 汕头市 "); Customer yun = new Customer(" 王云 ", 28, " 杭州市 "); Customer si= new Customer(" 李军 ", 25, " 仙桃市 "); list.Add(teng); list.Add(yun); list.Add(si); Console.WriteLine(" 排队等待的客

29、户有:"); for (int i = 0; i < list.Length; i+) -(1) Console.WriteLine("0 号:1", i+1, (listi as Customer).Name); (代码纠错、单选题、1.00分) 单选题 *没有错(1)List.Length改成List.Count(正确答案)(1)List.Length改成List.Count()(1)List.Length改成List.Length()61. 观察下列代码得出,选出正确的结果() ArrayList list = new ArrayList(2); li

30、st.Add(jun); list.Add(yun); list.Add(si); list.RemoveAt(0); 单选题 *集合里还有2个对象(正确答案)程序出错集合里没有对象了集合里还有1个对象62. 观察下列代码给出最后的结果: Customer jun = new Customer(" 李军 ",32," 广州 "); / 创建客户 1 Customer yun = new Customer(" 王云 ", 28, " 杭州 "); / 创建客户 2 Customer si = new Customer

31、(" 雷斯 ", 43, " 美国 "); / 创建客户 3 ArrayList list = new ArrayList(2); list.Add(jun); Console.WriteLine(" 集合可存储元素数:0", list.Capacity); Console.WriteLine(" 集合实际元素数:0", list.Count); 单选题 *集合可存储元素数:2集合实际元素数:1(正确答案)集合可存储元素数:1集合实际元素数:1集合可存储元素数:2集合实际元素数:2集合可存储元素数:1集合实际元素数

32、:263. 观察下列代码给出最后的结果: ArrayList list = new ArrayList(2); Console.WriteLine(" 集合可存储元素数:0", list.Capacity); Console.WriteLine(" 集合实际元素数:0", list.Count); 单选题 *集合可存储元素数:0集合实际元素数:0集合可存储元素数:0集合实际元素数:2集合可存储元素数:2集合实际元素数:0(正确答案)集合可存储元素数:0集合实际元素数:164. 观察下列代码给出最后的结果: Customer jun = new Custo

33、mer(" 李军 ",32," 广州 "); / 创建客户 1 Customer yun = new Customer(" 王云 ", 28, " 杭州 "); / 创建客户 2 Customer si = new Customer(" 雷斯 ", 43, " 美国 "); / 创建客户 3 ArrayList list = new ArrayList(2); list.Add(jun); list.Add(yun); list.Add(si); Console.WriteL

34、ine(" 集合可存储元素数:0", list.Capacity); Console.WriteLine(" 集合实际元素数:0", list.Count); 单选题 *集合可存储元素数:2集合实际元素数:2集合可存储元素数:2集合实际元素数:1集合可存储元素数:3集合实际元素数:3集合可存储元素数:4集合实际元素数:3(正确答案)65. 含有一个或多个抽象方法的类称为() 单选题 *抽象类(正确答案)具体类虚基类派生类66. 类的成员可以包含() *字段(正确答案)属性(正确答案)方法(正确答案)条件67. 类的定义必须使用()关键字。 单选题 *pu

35、blicclass(正确答案)staticnamespace68. 类的特征使用()来描述。 单选题 *条件属性(正确答案)方法事件69. 类的行为使用( )来描述。 单选题 *字段属性方法(正确答案)事件70. 类是具有共同()和()的一类事物的统称。 *特征(正确答案)抽象行为(正确答案)实例71. 类最多只能有一个父类这表现了类的() 单选题 *封装性传递性单根性(正确答案)规律性72. 面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做() 单选题 *抽象继承封装(正确答案)多态73. 面向对象是一种对现实世界理解和抽象的方法,其优点有() *易维护(正确答案)可重用(

36、正确答案)易扩展(正确答案)灵活性好(正确答案)74. 面向对象中,实例化的对象可以通过()的方式调用类中方法。 单选题 *类名.方法()对象.方法()(正确答案)类名.字段对象.字段75. 面向对象中,实例化后的对象可以通过()的方式修改或访问对象的属性值。 单选题 *对象.属性(正确答案)对象.方法()类名.字段类名.方法()76. 面向对象中,以下可以理解为 对象的有() 单选题 *动物鲜花学校NBA中的姚明(正确答案)77. 面向对象中,以下可以理解为 类的是() 单选题 *车牌号为云A 86688的96路公共汽车北京故宫同学(正确答案)小红家名叫“旺财”的狗狗78. 能将元素添加到

37、ArrayList 结尾处的方法是() 单选题 *Add(正确答案)RemoveInsertInsertAfter79. 能移除ArrayList 里的元素的方法有哪些() *Remove(正确答案)ReverseDeleteRemoveAt(正确答案)80. 实现文件的读写操作,需要引入的命名空间是() 单选题 *using Systemusing System.IO(正确答案)using System.fileusing System.data81. 使用()关键字修饰的类不允许被继承() 单选题 *sealed(正确答案)overridedelegateprivate82. 属性与字段的

38、对应关系是() 单选题 *多个字段对应一个属性1个字段对应一个属性(正确答案)多个属性对应一个字段以上都不对83. 通过类的()特性,可以重复使用已有代码和数据。 单选题 *继承(正确答案)封装抽象多态84. 下列代码报错的原因是( ) public interface IAnimal /Eat()方法报错 public void Eat(); 单选题 *Eat()方法没有添加方法体,导致报错。Eat()方法作为IAnimal接口的成员方法,不允许添加任何访问修饰符,加了Public修饰,导致报错。(正确答案)IAnimal作为接口,前面加了Public访问修饰符修饰,导致报错。Eat()方法命名不规范,导致报错。85. 下列代码描述正确的是:() class UserInfo private string userNo; private string userPwd; public string UserNo get; set; public string UserPwd get; set; public UserInfo() this.User

温馨提示

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

评论

0/150

提交评论