临沂大学计算机科学与技术专业大二学年C#面向对象题2Word文档下载推荐.docx
《临沂大学计算机科学与技术专业大二学年C#面向对象题2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《临沂大学计算机科学与技术专业大二学年C#面向对象题2Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
单根性
规律性
6.c#程序中使用继承的优点有哪些()*
提高部分模块代码的复用性(正确答案)
提高部分模块代码的扩展性(正确答案)
提高软件的开发效率(正确答案)
提高代码的运行速度
7.C#类中内部成员,不包括()[单选题]*
方法
字段
属性
抽象(正确答案)
8.C#中的集合被定义在()命名空间中。
System.Collections.Generic
System.IO
System.Collections(正确答案)
System.Reflection
9.C#中的集合的特点有下列哪些()*
动态的改变大小(正确答案)
可存储任意类型的对象(正确答案)
提供一系列操作集合中对象的方法(正确答案)
有固定的大小
10.C#面向对象中,例如:
客户去银行取现金,不可能直接从保险柜中随意拿取现金,只能通过ATM或业务办理窗口取出存在银行的现金,那么现金就就可以看作银行对象的(),ATM机业务办理窗口看作(),即可体现面向对象中封装的特性。
属性;
字段;
属性(正确答案)
11.C#中的多态可以通过()实现*
密封类
方法重载(正确答案)
抽象类(正确答案)
虚方法(正确答案)
12.C#中的方法重载主要包括参数不同类型的重载和参数数量不同的重载,下列选项中的两个方法不属于重载方法的是()[单选题]*
publicintHello(intint1){//省略方法体}publicintHello(Stringstr1){//省略方法体}
publicintHello(){//省略方法体}publicStringHello(){//省略方法体}(正确答案)
publicintHello(){//省略方法体}publicintHello(Stringstr1){//省略方法体}
publicStringHello(Stringstr1,Stringstr2){//省略方法体}publicStringHello(Stringstr){//省略方法体}
13.C#中的属性主要体现了面向对象编程的()特性。
封装(正确答案)
继承
多态
抽象
14.C#中若要某方法只能在当前类或当前类的派生类中访问,可以使用()访问修饰符[单选题]*
public
private
protected(正确答案)
internal
15.C#中若要某方法只能在当前类中访问,可以使用()访问修饰符[单选题]*
private(正确答案)
protected
16.C#中使用()关键字定义接口。
interface(正确答案)
abstruct
struct
virtual
17.C#中使用overried重写父类的同名方法,可以体现出面向对象编程的()特性。
封装
多态(正确答案)
18.C#中下列代码运行结果是()publicabstractclassA{publicA(){Console.Write("
A"
}publicvirtualvoidFun(){Console.WriteLine("
C"
}}publicclassB:
A{publicB(){Console.Write("
B"
}publicnewvoidFun(){Console.WriteLine("
D"
}}classProgram{staticvoidMain(string[]args){Aa=newB();
ABCD
BDAC
AB(正确答案)
BA
19.C#中下列代码运行结果是()publicclassStudent{publicvirtualvoidExam(){Console.WriteLine("
学生都要考试"
}}publicclassUndergraduate:
Student{publicnewvoidExam(){Console.WriteLine("
大学生有选择考试科目的权利"
}}classProgram{staticvoidMain(string[]args){Studentstu=newUndergraduate();
stu.Exam();
学生都要考试(正确答案)
大学生有选择考试科目的权利
学生都要考试 大学生有选择考试科目的权利
学生都要考试学生都要考试
20.foreach循环在处理集合和数组相对于for循环的优势有哪些()*
语句简洁(正确答案)
效率更加高(正确答案)
不需要知道循环次数(正确答案)
不用关心数组的起始索引(正确答案)
21.FileMode的枚举值Create描述正确的是()[单选题]*
创建新文件,如果文件已存在,则引发异常
创建新文件,如果文件已存在,则覆盖(正确答案)
打开文件,如果文件不存在,则引发异常
打开文件,如果文件不存在,则创建新文件
22.Hashtable的常用方法不包括()[单选题]*
Add
Remove
Clear
Insert(正确答案)
23.OpenFileDialog的CheckFileExists属性的作用是()[单选题]*
在用户指定不存在的文件时是否显示警告(正确答案)
对话框的初始目录
文件筛选器,按“显示名称|类型”格式编写
在对话框中选择的文件筛选器的索引
24.OpenFileDialog的Filter属性设置正确的是()[单选题]*
文本文件~*.txt
文本文件\*.txt
文本文件|*.txt(正确答案)
文本文件&
*.txt
25.OpenFileDialog的DefaultExt可以用来设置()[单选题]*
默认扩展名(正确答案)
是否自动添加默认扩展名
将显示在对话框标题栏中的字符
26.OpenFileDialog对话框可以设置初始目录的属性是()[单选题]*
InitialDirectory(正确答案)
FilterIndex
Title
AddExtension
27.OpenFileDialog对话框可以设置对话框中标题栏的文字的属性是()[单选题]*
Title(正确答案)
InitialDirectory
28.OpenFileDialog用来设置自动添加默认扩展名的属性是()[单选题]*
CheckPathExists
CheckFileExists
AddExtension(正确答案)
DefaultExt
29.StreamReader用于读取一行数据的方法是()[单选题]*
ReadLine()(正确答案)
Read()
ReadToEnd()
Close()
30.标记对象可以被序列化的特性是()[单选题]*
Serializable(正确答案)
Runtime
Formatters
Windows
31.抽象类中,子类通过关键字()实现抽象方法。
abstract
interface
override(正确答案)
32.对文件对话框控件描述正确的是()*
OpenFileDialog是打开文件的对话框(正确答案)
SaveFileDialog是保存文件的对话框(正确答案)
FolderBroswerDialog是打开文件夹的对话框(正确答案)
OpenDialog是打开文件的对话框
33.对于C#程序中的访问修饰符描述正确的是()[单选题]*
public是完全公开的
private私有的,只能在当前类中进行访问
protected受保护的,只能在当前类或当前类的派生类中访问
以上说法都正确(正确答案)
34.对于抽象类的规则以下描述正确的是()*
不能创建抽象类的实例(正确答案)
不能在抽象类外定义抽象方法(正确答案)
不能把抽象类声明为sealed(正确答案)
抽象类的抽象成员在派生类中必须全部实现(正确答案)
35.对于抽象类的意义以下说法正确的是()[单选题]*
包含公共的属性和行为,被子类所共享–代码重用
为所有子类提供一种统一的类型–向上造型
包含抽象方法,为子类提供一个统一的入口,子类有不同的实现
以上说法全部正确(正确答案)
36.对于方法重载的特点,描述错误的是()[单选题]*
方法名称必须相同
方法的参数必须不相同
返回值类型必须相同(正确答案)
可以减轻命名负担
37.对于方法重载的作用描述错误的是()[单选题]*
方便自适应调用
代码更灵活
提高了运行效率(正确答案)
38.对于构造函数,描述错误的是()[单选题]*
构造函数名必须与类名相同
构造函数没有返回值类型
构造函数可以没有参数
一个类只能有一个构造函数(正确答案)
39.对于文件操作的Move()方法说法错误的是()*
可以复制文件(正确答案)
可以检测文件是否存在(正确答案)
移动文件到新的位置
不能移动文件的位置(正确答案)
40.对于下列代码的出错描述正确的是()abstractclassCat{publicvoidEat(){Console.WriteLine("
小猫喜欢吃鱼!
}}classDog{//Sleep方法报错publicabstractvoidSleep();
}[单选题]*
抽象类可以不包含抽象方法,但是含有抽象方法的类必须定义为抽象类。
抽象方法不允许有方法体。
子类继承于抽象类的时候必要重写抽象类中所有的抽象方法,除非子类也是抽象类。
抽象类不允许实例化,只能够实例化其非抽象子类对象。
41.对于下列代码的出错原因,描述正确的是()abstractclassAnimal{//Eat()方法报错publicabstractvoidEat(){Console.WriteLine("
动物需要吃东西!
单词的拼写出现错误,导致代码出错。
抽象方法不允许有方法体,导致代码出错。
抽象方法的命名不够规范,导致代码出错。
与之相关的代码出错,导致代码出错。
42.对于下列代码的出错原因,描述正确的是()abstractclassAppliance{publicabstractvoidCharge();
}//MobilePhone位置报错classMobilePhone:
电器类Appliance中有隐藏错误,导致MobilePhone类在继承的时候出现错误。
MobilePhone单词拼写错误。
子类MobilePhone继承于抽象类Appliance的时候必须要重写抽象类Appliance中所有的抽象方法,除非子类也是抽象类。
其他关联错误。
43.泛型方法的类型参数表用什么分割()[单选题]*
用<
>
分隔(正确答案)
用,分隔
用"
分隔
用\分隔
44.泛型方法的类型参数指定了方法的什么内容()*
实参的类型(正确答案)
返回类型(正确答案)
形参的类型
什么都没指定
45.泛型集合所在的命名空间是()[单选题]*
System.Collections.Generic(正确答案)
System.Collections
System.Generic
以上都不对
46.根据以下代码,描述正确的是()publicclassStudent{publicstringname;
publicstringName{get{returnname;
}}}[单选题]*
Name具有写入权限
Name具有读取权限(正确答案)
Name具有读取,也有写入权限
Name无读取,也无写入权限
47.关于C#中抽象类的说法,错误的是()[单选题]*
子类继承于抽象类的时候没有必要重写抽象类中所有的抽象方法,即便子类不是抽象类。
48.关于Dictionary<
k,v>
,描述错误的是()[单选题]*
可以通过下标获取值(正确答案)
可以通过键获取值
描述的是键值对
Keys属性表示键集合
49.关于List<
T>
是ArrayList的泛型版
可以通过键获取值(正确答案)
可以通过下标获取值
可以调用Insert方法将元素添加到指定位置
50.关于抽象方法和虚方法的区别说法不正确的是()[单选题]*
抽象方法和虚方法都是为了实现多态的功能。
抽象方法只提供一个功能名称,要求子类必须实现该功能。
虚方法使用关键字virtual修饰。
虚方法虽然不止提供了功能名称还提供了默认的实现方式,但是子类还是必须重新实现该功能。
51.关于对象的概念,下列说法正确的有()*
对象是类的实例(正确答案)
独一无二存在的个体(正确答案)
对象是虚拟的
客观存在的(正确答案)
52.关于对象的使用,下列说法正确的是()[单选题]*
声明后就可以使用
声明并且使用new关键字创建对象后才能使用(正确答案)
创建类之后就可以使用对象
声明后可以调用方法,使用new关键字创建对象后才能调用字段
53.关于多态的实现方式以下不正确的是()[单选题]*
使用new关键字隐藏父类的方法
使用override关键字重写父类的方法
使用public完全公开父类的方法(正确答案)
使用virtual关键字定义父类方法为虚方法
54.关于泛型的特点,描述错误的是()[单选题]*
泛型是C#2.0新增加的功能
不会强行对值类型装箱和拆箱
数据类型默认为Object(正确答案)
提高运行的性能
55.关于构造函数,下列说法正确的有()*
每个类都会默认的无参构造函数(正确答案)
构造函数也可以重载(正确答案)
构造函数是在使用new关键字创建对象时系统自动调用的(正确答案)
在类中添加了一个有参的构造函数后,依然还可以使用无参的构造函数创建对象
56.关于类与对象的关系,下列说法正确的有()*
类是抽象的(正确答案)
对象是具体的(正确答案)
类是对象的抽象(正确答案)
57.关于以下C#代码的说法正确的是()publicabstractclassAnimal{publicabstractvoidEat();
}publicclassTiger:
Animal{publicoverridevoidEat(){Console.WriteLine("
老虎吃动物"
}}classProgram:
Tiger{staticvoidMain(string[]args){Tigertiger=newTiger();
tiger.Eat();
代码正确,但没有输出
代码正确,并且输出为"
;
代码错误,因为Program类没有实现抽象基类Animal中的抽象方法
代码错误,因为抽象基类Animal的Eat方法没有实现
58.观察下列代码,给出对应的结果():
ArrayListlist=newArrayList(){};
Customerteng=newCustomer("
马腾"
32,"
汕头市"
Customeryun=newCustomer("
马云"
33,"
list.Add(teng);
list.Add(yun);
Console.WriteLine((list[2]asCustomer).Name);
程序编译不通过,不能运行
马云
程序运行报错(正确答案)
空字符串
59.观察下列代码,判断最后输出的结果:
Customerjun=newCustomer("
李军"
32,"
广州"
王云"
28,"
杭州"
Customersi=newCustomer("
雷斯"
43,"
美国"
ArrayListlist=newArrayList
(2);
list.Add(jun);
list.Add(si);
Customercust=list[1]asCustomer;
Console.WriteLine("
2号客户:
{0}"
cust.Name);
程序出错
2号客户:
李军
王云(正确答案)
雷斯
60.观察下列代码,找出错误的行,并修改正确的选项是()ArrayListlist=newArrayList(){};
杭州市"
Customersi=newCustomer("
25,"
仙桃市"
排队等待的客户有:
for(inti=0;
i<
list.Length;
i++){-----
(1)Console.WriteLine("
{0}号:
{1}"
i+1,(list[i]asCustomer).Name);
}(代码纠错、单选题、1.00分)[单选题]*
没有错
(1)List.Length改成List.Count(正确答案)
(1)List.Length改成List.Count()
(1)List.Length改成List.Length()
61.观察下列代码得出,选出正确的结果()ArrayListlist=newArrayList
(2);
list.RemoveAt(0);
集合里还有2个对象(正确答案)
集合里没有对象了
集合里还有1个对象
62.观察下列代码给出最后的结果:
//创建客户1Customeryun=newCustomer("
//创建客户2Customersi=newCustomer("
//创建客户3ArrayListlist=newArrayList
(2);
集合可存储元素数:
list.Capacity);
集合实际元素数:
list.Count);
集合可存储元素数:
2集合实际元素数:
1(正确答案)
1集合实际元素数:
1
2
63.观察下列代码给出最后的结果:
ArrayListlist=n