1、济宁学院计算机科学与技术专业大二学年C#面向对象程序设计选择题下济宁学院计算机科学与技术专业大二2017-2018学年C#面向对象程序设计选择题下姓名 填空题 *_81、使用()关键字修饰的类不允许被继承() 单选题sealed(正确答案)overridedelegateprivate82、属性与字段的对应关系是() 单选题多个字段对应一个属性1个字段对应一个属性(正确答案)多个属性对应一个字段以上都不对83、通过类的()特性,可以重复使用已有代码和数据。 单选题继承(正确答案)封装抽象多态84、下列代码报错的原因是( )public interface IAnimal /Eat()方法报错p
2、ublic void Eat(); 单选题Eat()方法没有添加方法体,导致报错。Eat()方法作为IAnimal接口的成员方法,不允许添加任何访问修饰符,加了Public修饰,导致报错。(正确答案)IAnimal作为接口,前面加了Public访问修饰符修饰,导致报错。Eat()方法命名不规范,导致报错。85、下列代码描述正确的是:() class UserInfoprivate string userNo;private string userPwd;public string UserNoget;set;public string UserPwdget;set;public UserInf
3、o()this.UserNo = zhangsan;this.userPwd = 123;static void Main(string args)UserInfo us = new UserInfo(); 单选题us.UserNo的值为nullus.UserPwd的值为123(正确答案)us.UserNo的值为us.UserPwd的值为086、下列代码需要输出”小狗喜欢吃骨头”,“小猫蹲着睡”,则需要在Main()方法中添加的代码是()class Programstatic void Main(string args)/在这一个位置写入代码abstract class Animalpubli
4、c abstract void Eat();class Dog : Animalpublic override void Eat()Console.WriteLine(小狗喜欢吃骨头。);public void Sleep()Console.WriteLine(小狗趴着睡。);class Cat : Animalpublic override void Eat()Console.WriteLine(小猫喜欢吃鱼。);public void Sleep()Console.WriteLine(小猫蹲着睡。);单选题Animal dog = new Dog(); dog.Eat(); Animal
5、cat = new Cat(); cat.Eat();Animal dog = new Dog(); dog.Eat(); Animal cat = new Cat(); cat.Sleep();(正确答案)Animal dog = new Dog(); dog.Eat(); Cat cat = new Cat(); cat.Sleep();Dog dog = new Dog(); dog.Sleep(); Cat cat = new Cat(); cat.Eat();87、下列代码运行的结果是()class One public virtual void Show() Console.Wri
6、te(One); class Two : Onepublic override void Show() Console.Write(Two); class Program static void Main(string args) One obj = new Two(); obj.Show(); 单选题OneOne TwoTwo(正确答案)Two One88、下列对ArrayList的常用方法描述错误的是() 单选题Clear()清除所有元素Insert()将元素添加到指定位置Add()将元素添加到 ArrayList 开头处(正确答案)Reverse()将 ArrayList 中的元素顺序反
7、转89、下列对ArrayList的常用方法描述正确的是() 单选题Sort()对 ArrayList 中的元素排序(正确答案)Reverse()将 ArrayList 中的元素排序TrimToSize()将 ArrayList 容量数设置为初始值Remove() 清除所有元素90、下列关于 List 的常用方法说法正确的是() 单选题Sort()将 List 中的元素顺序反转Reverse()对 List 中的元素排序Remove()移除 List 中指定的元素(正确答案)RemoveAt()移除 List 中所有元素91、下列关于抽象方法说法错误的是() 单选题使用abstract关键字修饰
8、。只能够定义在抽象类中。可以写方法体在抽象方法中。(正确答案)子类必须重写抽象方法。92、下列关于抽象类和接口的说法错误的是() 单选题抽象类是一种特殊的类,既然是类,所以它就可以实例化。(正确答案)抽象类侧重于有继承关系的一组对象。接口侧重于定义一组行为规则。接口用于多个不同种类的对象具有相同的行为或功能的场合。93、下列关于对虚方法的描述正确的有() 单选题不可以在派生类中以override覆盖此方法在派生类中的虚方法若在子类不覆盖也可由对象调用(正确答案)虚方法可以有方法的实现,也可以不实现以上说法都正确94、下列关于泛型集合创建正确的是() 单选题List list = new Lis
9、t();(正确答案)List() list = new List();List () list = new List(5);List (5) list = new List();95、下列关于泛型描述正确的是()增加了极大的效率和灵活性(正确答案)可重用性(正确答案)高效性(正确答案)类型安全性(正确答案)96、下列关于构造函数的说法,错误的是() 单选题构造函数的函数名和类名相同构造函数可以重载构造函数可以带有参数可以指定构造函数的返回值(正确答案)97、下列关于集合的创建,正确的是() 单选题List list = new List();List list = new List();(正确
10、答案)ArrayList list = new ArrayList();ArrayList list = new ArrayList();98、下列关于集合的说法,正确的是() 单选题Count属性可以获取集合中实际存储的元素个数(正确答案)Capacity属性可以获取集合中实际存储的元素个数Hashtable存储的元素是按添加的先后顺序排列的ArrayList可以通过键来访问对应值99、下列关于继承和接口的说法,正确的是() 单选题C#不允许实现多个接口,但可以有多个父类C#允许实现多个接口,但不能有多个父类(正确答案)C#不允许实现多个接口,也不允许有多个父类C#允许实现多个接口,也允许有
11、多个父类100、下列关于接口的说法正确的是() 单选题使用关键字abstract关键字。可以包含字段和已实现成员。子类通过override实现抽象方法。子类直接实现所有成员。(正确答案)101、下列关于接口定义时需要注意的事项说法错误的是( )接口名一般使用大写的字母”I”开头,表明它是接口类型。接口可以包含方法、属性、事件和索引器,但是不能够包含字段。接口中定义的成员可以有具体的实现,方便子类使用。(正确答案)接口中的成员方法允许添加访问修饰符。(正确答案)102、下列关于接口和抽象类的说法错误的是()抽象类使用abstract关键字定义。接口使用interface关键字定义。抽象类不可以包
12、含字段和已实现成员。(正确答案)接口可以有字段,也可以包含所有的成员。(正确答案)103、下列关于属性中的访问器的说法,正确的是() 单选题属性中可以不包含任何访问器属性中可以只有get访问器,也可以只有set访问器(正确答案)属性中只能有get访问器或set访问器,不能同时包含属性中必须同时包含get访问器和set访问器104、下列关于虚方法的说法,正确的有()使用virtual关键字修饰虚方法(正确答案)父类中的虚方法可以被其子类重写(正确答案)虚方法必须有自己的方法体(正确答案)虚方法一般定义在sealed修饰的类中105、下列关于虚函数的描述中,错误的是() 单选题虚函数是一个成员函数
13、虚函数具有继承性静态成员函数可以说明为虚函数(正确答案)在类的继承的层次结构中,虚函数可被用来重写106、下列描述错误的是() 单选题类不可以多继承而接口可以抽象类自身可以定义成员而接口不可以抽象类和接口都不能被实例化一个类可以有多个基类(正确答案)107、下列描述的对象中,能够作为抽象类的是() 单选题小狗动物(正确答案)小猪小猫108、下列描述中,()不是方法重载。 单选题void Show()和void Show(string name)string Show(string name)和void Show(string name)(正确答案)string Show(int age)和vo
14、id Show(string name)void Show(int age)和void Show(int age,string name)109、下列描述中,错误的是() 单选题基类的protected成员在public派生类中仍然是protected成员基类的private成员在public派生类中是不可访问的基类public成员在private派生类中是private成员基类public成员在protected派生类中仍是public成员(正确答案)110、下列描述中,正确定义抽象类语法是() 单选题访问修饰符 enum 名称内容abstract class 名称内容(正确答案)访问修饰符
15、 interface 名称内容访问修饰符 struct 名称内容111、下列哪个属于 获取ArrayList 实际包含的元素个数的属性() 单选题LengthCount(正确答案)SizeCapacity112、下列那个方法可以去掉HashTable里的所有元素() 单选题RemoveContainsKeyDeleteClear(正确答案)113、下列说法关于Dictionary 的常用方法说法错误的是() 单选题Remove() 从 Dictionary中移除带有指定键的元素Add()将带有指定键和值的元素添加到 Dictionary中ContainsKey() 确定 Dictionary中
16、是否包含指定键AddAt()将带有指定键和值的元素添加到 Dictionary中(正确答案)114、下列说法关于Dictionary 的常用方法说法正确的是() 单选题Remove() 从 Dictionary中移除全部的元素Delete()移除 Dictionary中所有元素ContainsValue() 确定 Dictionary中是否包含指定值(正确答案)AddAt(objectkey,objectvalue)将带有指定键和值的元素添加到 Dictionary中115、下列说法关于Hashtable 正确的是()可用于处理 key/value( 键 / 值 ) 对(正确答案)key 通常
17、用于快速查找(正确答案)value 用于存储对应于 key 的值,key不区分大小写Hashtable 中键值均为 object 类型(正确答案)116、下列说法正确的是() 单选题虚方法不可以在派生类中重写sealed前可以使用abstract修饰声明密封方法时,sealed修饰符总是和override修饰符同时使用(正确答案)以上说法全部正确117、下列说法正确的有()密封类不能作为基类被别的元素继承(正确答案)密封类可以继承非密封类或接口(正确答案)密封类中不能声明受保护成员(正确答案)密封类中不能声明虚方法(正确答案)118、现有Customer类,实例化类的写法正确的是() 单选题C
18、ustomer() cm = new Customer();Customer cm = new Customer();(正确答案)Customer = new Customer();Customer cm =Customer;119、现有Student类,构造函数对其属性Name进行赋值操作,()处填充正确代码。class Student private string name; public String Name get; set; public Student(string name) () 单选题this.name=NameName = namethis.Name = name;(正确
19、答案)name=Name120、现有华为Mate30手机信息:颜色-黑色,价格-5000元,功能-打电话;要求定义一个手机类,可以作为类中方法的是: 单选题手机颜色手机价格手机功能(正确答案)都不可以121、序列化对象需要引入的命名空间是() 单选题using Systemusing System.IOusing System.Runtime.Serialization.Formatters.Binary;(正确答案)using System.data122、以下( )是判断用户是否点击对话框的确认按钮。 单选题DialogResult.OK(正确答案)DialogResult.AbortDi
20、alogResult.CancelDialogResult.None123、以下FileMode 的哪一项枚举值可以用来打开文件,如果文件不存在,则引发异常() 单选题CreateNewCreateOpenOrCreateOpen(正确答案)124、以下代码,输出结果为:()class Hero private string name; private int attack; public string Name get; set; public int Attack get; set; public Hero(string name) this.Name = name; this.Attac
21、k = 180; static void Main(string args) Hero hero = new Hero(亚瑟); Console.WriteLine(姓名:0,攻击:1, hero.Name, hero.Attack); 单选题姓名:,攻击:0姓名:亚瑟,攻击:0姓名:,攻击:180姓名:亚瑟,攻击:180(正确答案)125、以下代码输出结果是:()static void Main(string args) Commodity cake = new Commodity(); cake.name = 蛋糕 ; cake.price = 18; cake.productionDat
22、e = DateTime.Parse(2018-9-18); cake.factory = 武汉美食食品 ; cake.expire = 90; Console.WriteLine(cake.name); 单选题cake.name = 蛋糕 ;18蛋糕(正确答案)没有126、以下代码运行结果()public class Customer public string name; public int age; public int Age set age = value; class Program static void Main(string args) Customer liu = new
23、 Customer(); liu.Age = 300; Console.WriteLine(liu.Age); 单选题3001000代码出现错误(正确答案)127、以下代码运行结果依次为()static void Show() Console.WriteLine(大家好!); static void Show(string name) Console.WriteLine(同学好!); static void Show(string name,int age) Console.WriteLine(你们好!); static void Main(string args) Show(刘备, 20);
24、 Show(); Show(张飞); 单选题你们好!大家好!同学好!(正确答案)同学好!你们好!大家好!你们好!同学好!大家好!大家好!你们好!同学好!128、以下对序列化说法正确的是()将文件中的数据转化为对象指将对象实例的状态存储到存储媒体中的过程(正确答案)需要引入命名空间(正确答案)不能保存文字129、以下对于C#程序中密封类的关键字正确的是() 单选题privatestaticabstractsealed(正确答案)130、以下对于序列化说法错误的是()不可以序列化图片(正确答案)可以序列化图片可以序列化对象不可以序列化对象(正确答案)131、以下关于C#编程的说法,正确的是()使用
25、sealed 关键字修饰的类,可避免类被继承(正确答案)在C#编程中,访问修饰符控制程序对类访问,如果不写访问修饰符,类的默认访问类型public在C#中,base关键字用于子类调用父类的构造方法(正确答案)在C#中,this关键字用于子类调用父类的构造函数132、以下关于C#代码的说法正确的是()?PublicabstractAnimal PublicabstractvoidEat(); PublicvoidSleep() 单选题该段代码正确(正确答案)代码错误,因为类中存在非抽象方法代码错误,因为类中的方法没有实现通过代码“Animalan=newAnimal();”可以创建一个Anima
26、l对象133、以下那两项属于继承的两大特性()持久性单根性(正确答案)传递性(正确答案)安全性134、以下属性可以设置OpenFileDialog文件筛选器索引的是() 单选题FilterCheckFileExistsTitleFilterIndex(正确答案)135、以下属于读取文件的流程的是()创建文件流(正确答案)创建读取器(正确答案)关闭写入器关闭文件流(正确答案)136、以下属于面向对象特性的是()继承(正确答案)多态(正确答案)抽象封装(正确答案)137、以下属于文件对话框的是()OpenFileDialog(正确答案)OpenDialogSaveFileDialog(正确答案)F
27、olderBroswerDialog(正确答案)138、以下说法错误的是() 单选题继承是指子类可以沿用父类的某些行为和特征通过继承,子类将自动拥有父类可被继承的字段、属性、方法等一个类可以有多个父类(正确答案)一个类可以有多个子类139、以下文件操作方法,( )可以用来删除文件。 单选题Move()Delete()(正确答案)Copy()Exists()140、以下文件对话框,可以用来打开文件的是() 单选题OpenFileDialog(正确答案)SaveFileDialogFolderBroswerDialogOpenDialog141、以下文件夹操作方法,( )可以用来删除非空文件夹。
28、单选题Delete(string,bool)(正确答案)Delete(string)Move()CreateDirectory()142、在A类中定义protected的属性Name,下列说法正确的() 单选题定义B类继承A类,则B类也具有Name属性(正确答案)在B类中创建A类对象,可以通过“对象.成员”访问Name无论B类是否继承A类,Name只能在A类中使用Name可以在任何地方使用143、在c#中,可以通过( )实现方法重载。 单选题方法名相同,不同的参数个数(正确答案)方法名相同,不同的参数名称不同的方法名称,相同的参数个数相同的方法名称和参数个数,不同的返回值144、在C #编程中,下列说法正确的有()在C#中,一个类只能被一个子类继承在C#中,接口中的方法可以具体实现在C#中,可以实现多个接口,但只能继承一个父类(正确答案)在C#编程中,如果不写访问修饰符,类成员的默认访问类型是private(正确答案)14