NET面向对象程序设计第7次作业2.docx
《NET面向对象程序设计第7次作业2.docx》由会员分享,可在线阅读,更多相关《NET面向对象程序设计第7次作业2.docx(46页珍藏版)》请在冰豆网上搜索。
NET面向对象程序设计第7次作业2
1.关于C#中的结构,一下说法中错误的是()。
(选择一项)
A:
结构可以有构造函数B:
结构体内可以有字段
C:
结构体内可以有方法D:
结构体内可以被继承
2.在C#编程中,访问修饰符控制程序对类中成员的访问,如果不写访问修饰符,类的默认访问类型是()。
(选择一项)
ApublicBprivateCinternalDprotected
3.在C#中,下面关于结构使用正确的是()。
(选择一项)
A:
classPerson{}
StructTeacher:
Person{//…}
B:
structPerson{}
StructTeacher:
Person{//….}
C:
structTeacher{
stringname;
intage;
publicTeacher(stringname,intage){
this.name=name;
this.age=age;
}
}
D:
structTeacher{
stringname;
intage;
publicTeacher(){}
}
4.在C#中类的实例需要使用的关键字是()(选择一项)
A:
thisB:
baseCnewD:
as
5.在C#程序中,索引器允许按照自定义的访问方式访问类或结构的实体组成的数组,以下所引器定义正确的是()。
(选择一项)
A:
publicTeachthis[stringindex]{
get{//..}
}
B:
publicTeachthis[index]{
get{//..}
}
C:
publcistringTeach[index]{
get{//..}
}
D:
publicTeach[index]{
get{//…}
}
6.在C#代码中,()是类Teacher的属性。
(选择一项)
PublicclassTeacher{
Intage=13;
PrivatestringName{
get{returnname;}
set{name=value;}
}
PublicvoidSaySomething(){//…}
}
A:
NameBnameCageDSaySomething
7.在C#语言中,方法重载的主要方式有两种,包括()和参数类型不同的重载。
(选择一项)
A:
参数名称不同的重载B:
返回类型不同的重载
C:
方法名不同的重载D:
参数个数不同的参数
8.在一下C#代码的下划线处填入(),该C#语句表示打开一个文件,如果该文件不存在则发生异常。
(选择一项)
FileStreamfs=newFileStream(“D:
\\music.txt”,______________);
A:
FileMode.CreateB:
FileMode.Open
C:
FileMode.CloseD:
FileMode.CreateNew
9.分析一下C#代码,根据面向对象的多态行,代码的运行结果是()(选择一项)
classA{
publicvoidF(){
Console.Write(“A”);
}
PublicvoidF(stringchr)
{
Console.Write(“B”);
}
}
classB:
A
{
PublicvoidF(){
Console.write(“B”);
}
StaticvoidMain()
{
BobjB=newB();
objB.F();
}
}
A:
AB:
BC:
CD:
D
10.在C#中下面关于接口正确的是()(选择一项)
A:
publicinterfaceIStudentService{
publicstringaddStudent()
}
B:
publicinterfaceIStudentService{
stringaddStudent()
{
//…..
}
}
C:
publicclassStudent(){}
publicinterfaceIStudentService:
Student{
stringaddStudent()
}
D:
publicinterfaceIStudentService{
stringaddStudent()
}
11.在C#中,可以避免使用枚举变量来避免不合理的赋值,一下枚举定义中正确的是()(选择一项)
A:
publicenumSex{
male,femal
}
B:
publicenumSex{
male,femal;
}
C:
publicSexenum{
male,femal;
}
C:
publicSexenum{
male,femal
}
12.在C#中提供了一种集合类型的哈希表(HashTable),哈希表的数据是通过键(key)和()来组织的(选择一项)
A:
项(Item)B:
记录(Record)C:
表(table)D:
值(Value)
13.在C#中,使用()访问修饰符修饰的方法被称之为抽象方法。
A:
thisB:
abstractC:
newD :
virtual
14.在C#中创造一个对象是,系统最先执行的是()中的语句。
A:
main方法B:
构造方法C:
初始化函数D:
字符串函数
15.在C#中,关于List和Dictionary的说法,正确的是()(选择二项)
A:
List和Dictionary都有RemoveAt方法
B:
List和Dictionary都有Count属性
C:
获取元素时,List需求类型转换,Dictionary不需要类型装换
D:
List通过索引访问集合元素,Dictionary通过Key访问集合元素。
16.在C#语言中,方法重载的主要方式有两种,包括()和()。
(选择二项)
A:
参数类型不同的重载B:
返回值类型不同的重载
C:
方法名称不同的重载D:
参数个数的不同重载
17.在一下C#中的数据类型中,()属于值类型(选择两项)
A:
boolB:
structC:
classD:
string
18.某些学员用C#写了一段代码,代码的输出结果是()。
(选择一项)
classProgram{
staticvoidMain(string[]args){
Students=newStudent();
s.sayHi();
Console.ReadLine();
}
}
classPerson{
publicvirtualvoidsayHi(){
Console.WriteLine(“你好”);
}
}
ClassStudent:
Person{
PublicoverridevoidsayHi(){
Console.WriteLine(“你好,我是一名学生”);
}
}
A:
学生B:
你好,我是一名学生
C:
你好!
你好,我是一名学生
D:
空
19.在C#代码中,关于抽象方法和虚方法使用正确的是:
()(选择一项)
A:
publicabstractclassAnimal
{
publicAnimal(){}
publicabstractvoidRun();
}
publicclassCat:
Animal{
publicCat(){}
publicvoidRun(){}
}
B:
publicclassAnimal
{
PublicAnimal(){}
PublicabstractvoidRun(){}
}
PublicclassCat:
Animal
{
PublicCat(){}
PulblicvoidRun(){}
}
C:
publicabstractclassAnimal
{
PublicAnimal(){}
PublicabstractvoidRun(){}
}
PublicclassCat:
Animal
{
PublicCat(){}
PulblicoverridevoidRun(){}
}
D:
publicvirtualclassAnimal
{
PublicAnimal(){}
PublicvirtualvoidRun(){}
}
PublicclassCat:
Animal
{
PublicCat(){}
PulblicvoidRun(){}
}
20.某学员用C#写了如下代码段,该代码的输出结果是()。
(选择一项)
staticvoidMain(string[]args){
ArrayListlist=newArrayList();
list.Add(“ACCP”);
list.Add(“BENET”);
Console.WritteLine(list[1]);
Console.Read();
}
A:
ACCPB:
BENETC:
下标溢出错误D:
1
21.分析一下C#片段中的属性,该属性是()属性。
(选择一项)
privatestringname;
PublicstringName{
Get{returnname;}
}
A:
可读可写
B:
只写
C:
只读
D:
静态
22..NET框架是.NET战略的基础,是一种新的便捷的开发平台,它具有两个主要的组件,分别是()和框架类库。
(选择一项)
A:
公共语言运行时
B:
Web服务
C:
命名空间
D:
Main()函数
23.在C#代码中,下面关于结构描述错误的是()。
(选择一项)
A:
结果是值类型
B:
结构不能被继承
C:
结构中可以有属性,也可以有方法
D:
可以给结构添加无参的构造函数
24.分析如下所示的C#代码段,在该段代码中一共进行了()次装箱。
(选择一项)
staticvoidMain(string[]args){
intage=18;
objectrefage=(object)age;
intvalage=(int)refage;
Test(valage);
Console.ReadLine();
}
publicvoidTest(intnumber){
Console.WriteLine(number);
}
A:
0B:
1C:
2D:
3
25.在.NET中,接口是一中规范和标准,它可以月约束类的行为,下列接口定义正确的是()(选择一项)
A:
publicinterfaceIBicycle{
voidride();
}
B:
publicinterfaceIBicycle{
voidride(){};
}
C:
publicinterfaceIBicycle{
StringType(){
get();
set();
}
}
D:
publicinterfaceIBicycle{
stringcolor;
}
26.在C#中有如下范型集合代码,项该范型集合中添加一个键为“李四”的学员对象,一下选项中该范型集合不同操作,其中正确的是()。
(选择二项)
Dictionarydict=newDictionary();
A:
dict.RemoveAt(0);
B:
Studentstu=dict[“李四”];
C:
foreach(Studentstuindict.Keys){…}
D:
foreach(Studentstuindict.Values){….}
27.下列代码中使用了抽象类的概念,这段代码中发生错误的代码行是()。
abstractclassWashingMachine{
publicWashingMachine(){}//1
abstractpublicvoidWash();//2
}
classMyWashingMachine:
WashMachine{
overridepublicvoidWash(){}//3
staticvoidMain(){
washingMachinewm=newWashingMachine();//4
wm.Wash();
}
}
A:
1B:
2C:
3D:
4
28.在C#中,下列关于密封类使用正确的是()(选择一项)
A:
sealedclassPersong{
//…
}
classStudent:
Person{
//…
}
B:
classPersong{
//…
}
sealedclassStudent:
Person{
//…
}
C:
sealedclassPersong{
PublicintaddStudent();
}
D:
sealedclassPersong{
PublicintaddStudent();
}
29.以下关于C#中构造函数说法正确的是()
A:
在访问一个类时,系统最先执行类的构造函数。
B:
构造函数有返回值
C:
一般情况先,构造函数总是private类型的。
D:
可以为枚举类型中的元素赋整数值。
30.在以下代码中,()是类Teacher的方法。
publicclassTeacher
{
intage=33;
privatestringname;
publicstringName
{
get{returnname;}
set{name=value;}
}
}
publicvoidSaySomething{
//…..
}
A:
NameBnameCageDSaySomething
31.在使用C#语言开发程序过程中,有时需要按照使用类图说明类与类之间的关系,在类图中使用()符号表示共有成员。
A.+B:
-C:
*D:
#
32.以下C#代码运行的结果是()
Listnum=newList();
for(inti=1;i<6;i++)
{
num.Add(i);
}
for(inti=1;i<3;i++)
{
num.Remove(i);
}
foreach(intiinnum)
{
Console.Write(i.ToString());
}
A:
运行出错
B:
345
C:
145
D135
33.假设我们要使用C#设计一个日志系统,要求程序运行是,检查system.log文件是否存在,如果已经存在则直接打开,如果不存在则创建一个,为了实现这个目的,我们应该以FileMode的()方式创建文件流。
(选择一项)
A:
CreateNew
BOpen
COpenOrCreate
DCreate
34.关于C#中的结构,以下说法中正确的是();
A结构可以有构造函数
B结构体内可以有字段,但不能有方法
C结构体内可以有方法,但不能有字段
D结果可以被继承
35,关于C#中的虚方法,以下说法中正确的是();
A使用static修饰
B可以有方法体
C可以被子类重写
D使用abstract修饰
36在C#中,已知存在一个接口Iteacher,以下对该接口实现正确的是().(选择一项)
InterfaceITeacher
{
intaddTeacher();
voidModifyTeacher();
}
AclassTeacherSerices:
ITeacher
{
publicintaddTeacher()
{
//…
}
}
BclassTeacherSerices:
ITeacher
{
publicintaddTeacher()
{
//…
}
publicvoidModifyTeacher(){//…..}
}
CclassTeacherSerices:
ITeacher
{
publicoverrideintaddTeacher()
{
//…
}
publicoverridevoidModifyTeacher(){//…..}
}
DclassTeacherSerices:
ITeacher
{
publicintaddTeacher()
{
//…
}
publicvoidModifyTeacher(){//…..}
}
37.分析如下C#代码,根据类的继承关系,运行后的输出结果是()(选择一项)
publicclassPerson
{
privateintage=0;
publicintAge
{
get{returnage;}
set
{
If(value>=18)
Console.WriteLine(“成年人”);
Else
Console.WrteLine(“未成年人”);
}
}
}
publicclassPeople:
Person
{
publicPeople()
{
Console.Write(“不得入内”);
}
}
classTest
{
staticvoidMain(string[]args)
{
peopleshang=newPeople();
shang.Age=17
}
}
A未成年人不得入内
B成年人不得入内
C不得入内
D不得入内未成年人
38.在C#中,数据类型包括值类型和引用类型,以下属于值类型的有()。
(选择两项)
ASystem.Object
Bint
C类
D结构
39.在C#语言开发的程序中,以下关于反射的说法中错误的是()。
(选择一项)
A.反射提供了封装程序集,模块和类型对象
B.使用反射可以动态的创建类型的实例
C.使用反射时必须提供解决方案
D.使用反射可以获得已加载的程序集和在其中定义的类型信息,也可以调用类型的方法或访问字段和属性
40.在C#语言开发的程序中,以下对于方法重载的定义错误的是()。
(选择二项)
A.publicintSub(inta,intb)和publicintSub(intc,intd)
B.publicintModify(inta,intb)和publicintModify(stringa,intb,stringc)
C.publicvoidSayHi(stringa,intb)和publicvoidSayHi(stringa,stringb)
D.publicvoidMultiply(inta,intb)和publicintMultiply(inta,intb)
41.在C#中,下列数据类型属于引用类型的是()。
(选择一项)
A.整型(int)
B.结构(struct)
C.接口(interface)
D.枚举(enum)
42.在C#程序中,下面关于枚举的说法不正确的是()。
(选择一项)
A.使用枚举可以避免不合理赋值
B.枚举属于值类型
C.MessageBox的返回结果DialogResult是枚举类型
D.System.Drawing.Color类型是枚举类型
43.在C#语言中,以下关于文件处理描述错误的是()。
(选择一项)
A.要对文件进行读书,需要在类中使用System.IO命名空间
B.StreamWriter写入器创建方法可以为newStreamWriter(StringFilePath)
C.StreamWriter写入器创建方法也可以为newStreamWriter(FileStreammyfs)
D.StreamReader读取器读取文件流中从当前位置到末尾的所有字符的方法为ReaderLine()
44.在C#语言中,以下关于集合的说法错误的是()。
(选择一项)
A.ArrayList只能通过索引来访问和删除值
B.HashTable可以直接通过键名来获取值
C.使用List添加、读取元素时,不需要拆箱和装箱,这一点和ArrayList相同
D.使用Dictionary可以通过Key获取Value,这一点和HashTable相同
45.在C#总,下列关于属性的使用正确的是()。
(选择一项)
A.privateintnum;
publicstringNum
{
get{retuennum;}
set{num=value;}
}
B.privateintnum;
publicintNum
{
get{retuennum;}
set{num=value;}
}
C.privateintnum;
publicintNum
{
get{num=value;}
set{retuennum;}
}
D.privateintnum;
privateintNum
{
get{retuennum;}
set{num=value;}
}
47.在C#语言中,以下关于Trainer类中构造函数的说法错误的是()。
(选择二项)
A.此构造函数一般命名为Trainer
B.此构造函数可以返回int或stirng型
C.此构造函数一般为public类型
D.此构造函数一般被显示调用
48.在C#程序中,下面关于接口的说法错误的是()。
(选择一项)
A.接口中更可以包含属性、方法等,但是都不能实现
B.接口和类有重要的区别,前者可以被多重继承,而后者不可以
C.接口可以实例化,但实例化时必须实现所有未实现的方法
D.实现接口的类必须实现接口中未实现的方法
49.在C#语言中,若类a的命名空间为“b.c”,类d的命名空间为“e.f”,则下列说法中错误的是()。
(选择一项)
A.若在d中使用a中的方法,可以通过“usingb.c”引入命名空间
B.命名空间“e.f”中不可能出现名为a的类
C.若在d中使用a中的方法,可以通过“b.c.a”全名的方式使用
D.a和d虽在不同的命名空间下,但仍可