D3C#试题.docx

上传人:b****4 文档编号:12289303 上传时间:2023-04-17 格式:DOCX 页数:24 大小:21.14KB
下载 相关 举报
D3C#试题.docx_第1页
第1页 / 共24页
D3C#试题.docx_第2页
第2页 / 共24页
D3C#试题.docx_第3页
第3页 / 共24页
D3C#试题.docx_第4页
第4页 / 共24页
D3C#试题.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

D3C#试题.docx

《D3C#试题.docx》由会员分享,可在线阅读,更多相关《D3C#试题.docx(24页珍藏版)》请在冰豆网上搜索。

D3C#试题.docx

D3C#试题

1.在C#中创建一个类对象时,系统最先执行的是()中的语句。

A.main方法

B.构造函数

C.初始化函数

D.字符串函数

2.在c#语言开发的程序中,以下关于抽象类的说法错误的是()。

A.抽象类多数作为基类使用

B.抽象类可以定义字段、属性、包含有实现的方法

C.在抽象方法声明中可以使用static或virtual修饰

D.抽象类可以实现多态

3.在开发C#程序中,我们会大量的使用类和对象,以下关于类和对象说法正确的是()。

A.类的实例被称为对象

B.对象可以被继承

C.类可以归纳为对象

D.在对象的基础上,将状态和行为实体化为类的过程称为实例化

4.分析如下C#代码,如果输出结果是“DogEating…….”,下划线需要填写的代码是()。

abstractclassAnimal

{

public____voidEat();

}

classDog:

Animal

{

public____voidEat()

{

Console.WriteLine(“DogEating…..”);

}

publicstaticvoidMain(string[]args)

{

Animalanimal=newDog();

animal.Eat();

}

}

A.abstract,不填

B.abstract,override

C.virtual,不填

D.virtual,override

5.在C#语言开发的程序中,分析以下代码段,则执行后的输出结果为()。

publicstaticvoidMain(String[]args)

{

ntm=100;

intn=200;

Sub(outm,n);

Console.WriteLine(m+"\n"+n);

Add(refm,refn);

Console.WriteLine(m+"\n"+n);

}

privatestaticvoidSub(outinta,intb)

{

a=10;

b=20;

if(a

{

a=1000;

b=0;

}

intresult=a-b;

Console.WriteLine(result);

}

privatestaticvoidAdd(refinta,refintb)

{

intresult=a+b;

Console.WriteLine(result);

}

A.10001000200300010002000

B.1000100020012001000200

C.1000100200300100200

D.100010000100010000

6.在C#中,可通过Thread类中Priority属性设置线程的优先级,在未设置该属性的情况下,线程的默认优先级为()。

A.Lowest

B.BelowNormal

C.Default

D.Normal

7.使用()关键字修饰类,可避免类被继承。

A.delegate

B.abstract

C.sealed

D.enum

8.分析如下c#代码,根据类的继承关系,运行后的输出结果是()

publicclassPerson

{

publicPerson()

{

Console.Write("不得入内!

");

}

privateintage=0;

publicintAge

{

get{returnage;}

set

{

if(value>=18)

Console.Write("成年人!

");

else

Console.Write("非成年人!

");

age=value;

}

}

}

publicclassTest

{

staticvoidMain()

{

Personp=newPerson();

p.Age=17;

}

}

A.非成年人!

不得入内!

B.不得入内!

成年人!

C.不得入内!

D.不得入内!

非成年人!

9.在C#类中,()允许相同名称,不同参数个数或者参数类型的方法存在。

A.方法重写

B.方法重载

C.方法取消

D.方法覆盖

10.在C#中,下面关于静态方法和实例方法描述错误的是:

()

A.静态方法仅能使用类名调用,实例方法需要使用类的实例来调用。

B.静态方法可以直接调用实例方法

C.this和base关键字不能用在静态方法中

D.静态方法实例化对象时初始化,实例方法调用前初始化

11.在.NET中,.NETFramework由()组成。

A.FCL和CLR

B.CLS和CTS

C.ADO.NET和ASP.NET

D.WinForm和ASP.NET

12.在C#中,以下()是int的基类。

A.Int32

B.Object

C.ValueType

D.Int16

13.在C#中,以下代码运行的结果为()。

abstractclassBaseClass

{

publicvirtualvoidMethodA()

{

}

publicvirtualvoidMethodB()

{

}

}

classClass1:

BaseClass

{

publicvoidMethodA(stringarg)

{

}

publicoverridevoidMethodB()

{

}

}

classClass2:

Class1

{

newpublicvoidMethodB()

{

}

}

classMainClass

{

publicstaticvoidMain(string[]args)

{

Class2o=newClass2();

o.MethodA();

}

}

A.BaseClass.MethodA

B.Class2.MethodA

C.Class1.MethodA

D.编译错误

14.在C#中,下列代码输出结果是()。

classTest

{

publicenumWeekDays

{

Mon,Tue,Wed,Thur,Fir,Sta,Sun

}

staticvoidMain()

{

WeekDaysweek=(WeekDays)2;

Console.WriteLine(week);

}

}

A.2

B.Tue

C.Wed

D.编译错误

15.下面关于命名空间的说法错误的是()。

A.命名空间用于组织相关的类和其他类型

B.命名空间可以嵌套

C.在同一个应用程序中,不同的命名空间中不允许有相同名称的类

D.using关键字用于引用命名空间

16.在C#中通过装箱和拆箱实现值类型和引用类型之间的相互转换,下列有()处实现了装箱。

intage=5;

objecto=age;

o=10;

age=(int)o;

objectoage=age;

A.1

B.2

C.3

D.4

17.在C#中,当引用类型为()时,表明没有引用任何对象。

A.Empty

B.Null

C.Nothing

D.0

18.在C#中,下面关于静态方法和实例方法描述错误的是:

()

A.静态方法仅能使用类名调用,实例方法需要使用类的实例来调用。

B.静态方法可以直接调用实例方法

C.this和base关键字不能用在静态方法中

D.静态方法实例化对象时初始化,实例方法调用前初始化

19.以下关于C#代码说法正确的是()。

classMyAnimals

{

privateintbodyTemp=98;

publicintBodyTemp

{

get

{

returnbodyTemp;//1

}

}

}

publicclassTest

{

staticvoidMain()

{

MyAnimalsa=newMyAnimals();

Console.WriteLine(a.BodyTemp);//2

a.bodyTemp=56;//3

}

}

A.代码1错误

B.代码2错误

C.代码3错误

D.代码无错误

20.在C#中,关于构造函数的说法正确的是()。

A.在一个类中允许有多个构造函数,构造函数在创建对象时调用

B.在一个类中允许有多个不同名称的构造函数

C.一个类至少声明有一个构造函数

D.一个类只能有一个构造函数

21.在C#中,下列代码的运行结果是()。

publicclassDaysInYear

{

privateintdays;

staticvoidMain()

{

DaysInYearnewDaysInYear=newDaysInYear();

Console.WriteLine(newDaysInYear.days-1);

}

}

A.-1

B.0

C.1

D.编译错误

22.在C#中,下列()关键字用于重写基类的虚拟方法。

A.override

B.new

C.base

D.virtual

23.在C#中,关于抽象类,以下说法正确的是()。

A.若抽象类中的方法都是非抽象方法时,抽象类可以实例化

B.子类可以同时实现多个抽象类

C.抽象类中的所有方法必须都不能有实现

D.抽象类中的抽象方法不能有实现

24.在C#中,一个类()。

A.可以继承多个类

B.可以实现多个接口

C.只能被一个子类继承

D.只能实现一个接口

25.在C#中,对于以下代码的说法正确的是()。

classTestIndex

{

privateint[]Elements=newint[100];

publicintthis[intindex]//1

{

get

{

returnElements[index];

}

set

{

Elements[index]=value;

}

}

staticvoidMain(string[]arges)

{

TestIndexTi=newTestIndex();

Ti[2]=1;//2

Console.Write(Ti[0].ToString()+"");//3

}

}

A.代码行1不正确。

B.代码行2不正确。

C.代码行3不正确。

D.代码运行时正确输出:

0

26.在C#中,Hashtable类所在的命名空间是()。

A.System.Threading

B.System.IO

C.System.Collections

D.System

27.在C#中,以下程序的输出结果是()。

classFirstClass

{

publicdoubleDiv(intnum1,intnum2)

{

returnnum1/num2;

}

publicintFirstMethod()

{

return10;

}

publicintSecondMethod()

{

return3;

}

}

classSecondClass:

FirstClass

{

publicnewintSecondMethod()

{

return200;

}

}

publicclassTestMain

{

publicstaticvoidMain()

{

FirstClassfc=newSecondClass();

Console.WriteLine("Value="+fc.Div(fc.FirstMethod(),fc.SecondMethod()));

}

}

A.Value=0

B.Value=3

C.Value=3.333

D.Value=0.05

28.在C#中,下列关于抽象类和接口的说法,正确的是()。

A.在抽象类中,所有的方法都是抽象方法

B.继承自抽象类的非抽象子类必须实现其父类(抽象类)中的所有抽象方法

C.在接口中,可以有方法实现,抽象类中不能有方法实现

D.一个类可以从多个接口继承,也可以从多个抽象类继承

29.在C#中,以下代码运行的结果是()。

HashtablehsStu=newHashtable();

hsStu.Add(1,2);

hsStu.Add(2,4);

hsStu.Add(3,6);

IDictionaryEnumeratorstuEnum=hsStu.GetEnumerator();

inttotal=0;

while(stuEnum.MoveNext())

{

total+=(int)stuEnum.Value;

}

Console.WriteLine(total);

A.6

B.12

C.18

D.24

30.在C#中,下面属于值类型的数据类型是()。

A.int[]

B.ArrayList

C.double

D.Object

31.关于以下C#代码的说法正确的是()。

publicclassChild

{

publicstaticvoidCry()

{

Console.WriteLine("每个孩子都会哭");

}

publicstaticvoidMain()

{

Cry();//1

Childch=newChild();//2

ch.Cry();//3

}

}

A.代码1错误

B.代码2错误

C.代码3错误

D.没有错误

32.在C#中,定义如下一个枚举,以下说法正确的是()。

publicenumABC

{

Monday,TuesDay=1,WednesDay

}

A.存在错误。

Monday明确进行赋值后将没有错误

B.存在错误。

TuesDay不赋值将没有错误

C.存在错误。

Monday和WednesDay明确进行赋值后没有错误

D.代码无错误。

33.下列C#代码中使用了抽象类的概念,关于这段代码的说法中正确的是()。

abstractclassWashingMachine

{

publicWashingMachine(){}

abstractpublicvoidWash();

}

classMyWashingMachine:

WashingMachine

{

publicoverridevoidWash()

{

Console.WriteLine("Wash");

}

publicstaticvoidMain()

{

WashingMachinewm=newWashingMachine();

wm.Wash();

}

}

A.代码编译将产生错误,因为抽象类中的Wash方法没有实现

B.代码编译将产生错误,因为派生类中存在一个与基类同名的方法

C.代码编译将产生错误,因为不能创建抽象类的对象

D.代码编译正确,并且输出“Wash”

34.在C#中,关于以下代码说法正确的是()。

publicclassTest

{

publicstaticvoidMain()

{

Stringstr=Convert("2");

Console.WriteLine(str);

}

publicintConvert(Stringstr)

{

inta=int.parse(str);

returna*a;

}

publicStringConvert(stringstr)

{

returnstr;

}

}

A.代码正确输出结果“2”

B.代码正确输出结果“4”

C.代码正确输出结果“6”

D.代码编译错误。

35.在C#中,下列代码的运行结果是()。

publicenumLevel

{

High,middle,loe

}

publicclassTeacher

{

publicLevelteaLevel;

publicTeacher(Levellev)

{

this.teaLevel=lev;

}

publicstaticvoidMain()

{

Teachertea=newTeacher(Level.middle);

Console.WriteLine((int)tea.teaLevel);

}

}

A.-1

B.0

C.1

D.2

36.在C#中可以使用枚举变量来避免不合理的赋值。

以下情况中可以使用枚举变量的是()。

A.学生类中的性别属性

B.圆形类的半径属性

C.计算圆形面积的II值

D.以上都可以

37.构造函数是C#中类的特殊方法。

它用于创建实例时对对象进行初始化,一下代码片段中的构造函数定义正确的是()。

A.classHello

{

publicHello()

{

Console.WriteLine("Hello!

");

}

}

B.classHello

{

publicTest()

{

Console.WriteLine("Hello!

");

}

}

C.classHello

{

publicintHello()

{

Console.WriteLine("Hello");

}

}

D.classHello

{

publicHello(stringstr)

{

returnstr;

}

}

38.在.NET中,接口是一种规范和标准,它可以约束类的行为。

下列接口定义正确的是()。

A.publicinterfaceIBicycle

{

publicvoidride();

}

B.publicinterfaceIBicycle

{

voidride(){};

}

C.publicinterfaceIBicycle

{

stringType

{

get;

set;

}

}

D.publicinterfaceIBicycle

{

stringcolor;

}

39.关于C#中的虚拟方法,以下说法正确的是()。

A.使用static修饰

B.不能有方法体

C.可以被子类重写

D.使用abstract

40.C#中,可以使用枚举变量来避免不合理的赋值,以下枚举定义中正确的是()。

A.publicenumSex

{

mail,female,

}

B.publicenumSex

{

mail,female;

}

C.publicSexenum

{

mail,female,

}

D.publicSexenum

{

mail,female

}

41.下列关于操作数据库的说法中,错误的是()

A.ExecuteNonQuery一般用来执行增、删、改语句

B.ExecuteScalar一般用来获取单行单列的值

C.查询数据集时,一般将数据填充到DataSet

D.查询数据时,只能将数据填充到DataSet的方式来进行

42.下面关于使用存储过程优点的说法中,错误的是()

A.提高了代码的重用性

B.存储过程是预编译的,运行效率更高

C.存储过程相对SQL语句可以减少网络传输

D.存储过程比SQL语句更简洁

43.下列关于三层架构的依赖关系的说法中,正确的是()

A.表示层依赖于业务逻辑层

B.业务逻辑层依赖于数据访问层

C.数据访问层依赖于业务逻辑层

D.表示层、业务逻辑层、数据访问层均可依赖于实体层

44.ADO.NET的()对象用来建立应用程序与数据库的连接

A.DataSet

B.DataReader

C.Connection

D.Command

45.在三层结构中ADO.NET数据访问类放在()中使用

A.表示层

B.数据访问层

C.业务逻辑层

D.每一层都可以

46.DataSet相当于临时数据库,DataSet属于以下哪个命名空间()

A.System.Data

B.System.Data.SqlClient

C.System.DataSet

D.System.Sql.DataTable

47.在.NET框架下开发三层架构应用程序时,以下代码最可能出现在()

If(txtLogInID.Text.Trim()==””){

MessageBox.Show(“请输入用户名”);

Txtloginid.Focus();

}

1

2

3

4

5

6

7

8

9

10

B

B

A

B

B

D

C

D

B

B

11

12

13

14

15

16

17

18

19

20

A

C

C

C

C

C

B

B

C

A

21

22

23

24

25

26

27

28

29

30

A

A

D

B

D

C

B

B

B

C

31

32

33

34

35

36

37

38

39

40

D

D

C

D

C

A

A

C

C

D

41

42

43

44

45

46

47

48

49

50

D

D

D

C

B

A

A

A

D

D

A.表现层

B.业务逻辑层

C.数据访问层

D.模型层

48.在.NET框架下开发三层架构的数据库应用系统时,实体类的主要作用是()

A.封装信息

B.扩展应用

C.数据保存

D.数据载体

49.下列关于三层架构中的数据访问层描述,正确的是()

A.数据访问层就是对数据库的数据进行查询

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1