C#期末试题 选择题.docx

上传人:b****7 文档编号:11467617 上传时间:2023-03-01 格式:DOCX 页数:40 大小:31.48KB
下载 相关 举报
C#期末试题 选择题.docx_第1页
第1页 / 共40页
C#期末试题 选择题.docx_第2页
第2页 / 共40页
C#期末试题 选择题.docx_第3页
第3页 / 共40页
C#期末试题 选择题.docx_第4页
第4页 / 共40页
C#期末试题 选择题.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

C#期末试题 选择题.docx

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

C#期末试题 选择题.docx

C#期末试题选择题

1.属于C#语言的关键字(A)。

A.abstractB.camelC.SalaryD.Employ

2.C#语言中,值类型包括:

基本值类型、结构类型和(D)。

A.小数类型B.整数类型C.类类型D.枚举类型

3.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的(C)。

A.int[]arr=newint[10,20]

B.int[]arr=intnew[10,20]

C.int[,]arr=newint[10,20]

D.int[,]arr=newint[20;10]

5.以下正确的描述是()。

A.函数的定义可以嵌套,函数的调用不可以嵌套

B.函数的定义不可以嵌套,函数的调用可以嵌套

C.函数的定义和函数的调用均可以嵌套

D.函数的定义和函数的调用均不可以嵌套

9.可用作C#程序用户标识符的一组标识符是(B)。

A.voiddefine+WORDB.a3_b3_123YN

C.for-abcCaseD.2aDOsizeof

10.引用类型主要有4种:

类类型、数组类型、接口类型和()。

A.对象类型B.字符串类型C.委托类型D.整数类型

2.在C#中,定义派生时,指定其基类应使用的语句是()。

A.InheritsB.:

C.ClassD.Overrides

答案:

B

3.类的以下特性中,可以用于方便地重用已有的代码和数据的是().

A.多态B.封装C.继承D.抽象

答案:

C

4.在Array类中,可以对一维数组中的元素进行排序的方法是(A)。

A.Sort()B.Clear()C.Copy()D.Reverse()

3.以下标识符中不全是关键字的是(D)。

A.caseforint

B.defaultthenwhile

C.boolclasslong

D.gotounitchar

7.设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是(C)。

A.12B.144C.156D.288

1.C#中MyClass为一自定义类,其中有以下方法定义

publicvoidHello(){..}

使用以下语句创建了该类的对象,并使变量obj引用该对象:

MyClassobj=newMyClass();

那么,可如何访问类MyClass的Hello方法?

(A)

A.obj.Hello();

B.obj:

:

Hello();

C.MyClass.Hello();

D.MyClass:

:

Hello();

2.分析下列C#语句,注意类MyClass没有访问修饰符:

namespaceClassLibrary1

{

classMyClass

{

publicclasssubClass

{

inti;

}

}

}

若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择(C)

A.private访问只限于包含该成员的类,私有的

B.protected访问限于包含该成员的类及类的派生灯,保护的

C.internal访问只限于所在的程序集,只有在同一个程序集中才能访问

D.public访问不受限制,公共的还有一种是protectedinternal

3.C#可以采用下列哪些技术来进行对象内部数据的隐藏?

(BC)

A.静态成员

B.类成员的访问控制说明

C.属性

D.装箱(boxing)和拆箱(Unboxing)技术

4.分析下列程序:

publicclassclass4

{

privatestring_sData=““;

publicstringsData{set{_sData=value;}}

}

在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?

(A)

A.obj.sData=“Itisfunny!

”;

B.Console.WriteLine(obj.sData);

C.obj._sData=100;

D.obj.set(obj.sData);

5.分析下列程序中类MyClass的定义

classBaseClass

{

publicinti;

}

classMyClass:

BaseClass

{

publicnewinti;

}

则下列语句在Console上的输出为(D)

MyClassy=newMyClass();

BaseClassx=y;

x.i=100;

Console.WriteLine(“{0},{1}”,x.i,y.i);

(提示:

注意类MyClass中的new关键字)

A.0,0

B.100,100

C.0,100

D.100,0

6.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派

生类的需要,则应将该方法声明成(C)

A.sealed方法封闭类

B.public方法公共类

C.visual方法虚方法

D.override方法重载基类

7.类MyClass中有下列方法定义:

publicvoidtestParams(paramsint[]arr)

{

Console.Write(“使用Params参数!

”);

}

publicvoidtestParams(intx,inty)

{

Console.Write(“使用两个整型参数!

”);

}

请问上述方法重载有无二义性?

若没有,则下列语句的输出为(B)

MyClassx=newMyClass();

x.testParams(0);

x.testParams(0,1);

x.testParams(0,1,2);

A.有语义二义性;

B.使用Params参数!

使用两个整型参数!

使用Params参数!

C.使用Params参数!

使用Params参数!

使用Params参数!

D.使用Params参数!

使用两个整型参数!

使用两个整型参数!

8.使用下列哪种方法可以减小一个ArrayList对象的容量?

(CD)

A.调用Remove方法

B.调用Clear方法

C.调用Trim(调整,修剪)ToSize方法

D.设置Capacity属性

9.C#程序中,可使用try..catch机制来处理程序出现的(B)错误.

A.语法

B.运行

C.逻辑

D.拼写

10.C#中,在方法MyFunc内部的try..catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则(C)

A..NET运行时忽略该异常

B..NET运行时马上强制退出该程序

C..NET运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程

D..NET抛出一个新的”异常处理未找到”的异常

在C#中,预处理器指令#region(地区,范围)和#endregion的作用是(B)。

A.注释#region和#endregion之间的代码

B.为CodeEditor定义一段可折叠代码区

C.#region和#endregion之间的代码在Debug版本中不参加编译

D.#region和#endregion之间的代码在Release版本中不参加编译

下列哪一个不是面向对象编程的特征D

A.继承   B.多态 C.封装 D.统一接口

面向对象程序设计中的数据隐藏指的是。

D

A.输入数据必须输入保密口令B.数据经过加密处理

C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性

下列描述中,(D )是不正确的。

A.面向对象程序设计可重用性较好;B.对象之间通过消息进行信息传递;

C.多态性体现了行为共享;D.面向对象方法的核心是继承;

在C#中,将路径名”C:

\Documents\”存入字符串变量path中的正确语句是(A)

A.path="C:

\\Docments\\";B.path="C:

//Document//";

C.path="C:

\Document\";D.path="C:

\/Document\/";

下列语句在控制台上的输出是多少?

(A)

stringmsg=@”Hello\nWorld!

”;

System.Console.WriteLine(msg);

A.Hello\nWorld!

B.@”Hello\nWorld!

”C.HelloWorld!

D.HelloWorld!

C#中执行下列语句整形变量x和y的值是多少?

(D)

intx=100;

inty=++x;

A.x=100y=100B.x=101y=100C.x=100y=101D.x=101y=101

D

C#中每个bool类型量占用(d)个字节的内容.

A.4B.2C.8D.1

C#中每个char类型量占用(b)个字节的内容.

A.1B.2C.4D.8

单选题C#中每个int类型的变量占用(c)个字节的内存。

A.1B.2C.4D.8

在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?

(a)

A.decimaltheMoney;B.inttheMoney;

C.stringtheMoney;D.dimtheMoneyasdouble

C#中的类型float对应.NET类库中的(a)

A.System.SingleB.System.DoubleC.System.Int32D.System.Int64

下列语句是类myclass的一部分,obj是myclass类的一个对象.

Voidchange(inti)

{

i++;

}

Publicvoidtest()

{

Inta=100;

Change(a);

Console.Writeline(a);

}

则调用obj.test后,控制台输出(b )

A.0;B.100;C.101;D.不输出;

C#的数据类型有。

B

A.值类型和调用类型;B.值类型和引用类型

C.引用类型和关系类型;D.关系类型和调用类型;

下列选项中,(C)是引用类型。

A.enum类型B.struct类型C.string类型D.int类型

已知类A中的一个成员函数的说明如下:

    voidSet(Aa); 

则该函数的参数“Aa”的含义是。

C

A.指向A的指针为aB.将变量a的地址赋给类A

C.类A对象引用a用作函数的形参D.变量A与a按位与后作函数参数

什么字符被用来放在其他字符串末尾使这些字符串连成一串?

(a)

A.加号(+)B.减号(-)C.问号(?

)D.星号(*)

C#中,新建一字符串变量str,并将字符串”Tom'sLivingRoom”保存到串中,则应该使用下列哪条语句?

(a)

A.stringstr=“Tom\'sLivingRoom”;

B.stringstr=“stringstr=“Tom’’sLivingRoom”;

C.stringstr(“Tom'sLivingRoom”);

D.stringstr(“Tom’’sLivingRoom”);

在C#中,表示一个字符串的变量应使用以下哪条语句定义?

(b)

A.CStringstr;B.stringstr;C.DimstrasstringD.char*str;

类MyClass中有下列方法定义:

publicvoidtestParams(paramsint[]arr)

{

Console.Write(“使用Params参数!

”);

}

publicvoidtestParams(intx,inty)

{

Console.Write(“使用两个整型参数!

”);

}

请问上述方法重载有无二义性?

若没有,则下列语句的输出为(b)

MyClassx=newMyClass();

x.testParams(0);

x.testParams(0,1);

x.testParams(0,1,2);

A.有语义二义性;

B.使用Params参数!

使用两个整型参数!

使用Params参数!

C.使用Params参数!

使用Params参数!

使用Params参数!

D.使用Params参数!

使用两个整型参数!

使用两个整型参数!

单选题int[][]myArray3=newint[3][]

{

newint[3]{5,6,2},

newint[5]{6,9,7,8,3},

newint[2]{3,2}

};

myArray3[2][2]的值是(d)。

A.9B.2C.6D.越界

单选题下列语句创建了多少个string对象?

(a)string[,]strArray=newstring[3,4];

A.0B.3C.4D.12

单选题数组pins的定义如下:

int[]pins=newint[4]{9,2,3,1};则pins[1]=(b)

A.1B.2C.3D.9

单选题数组pins的定义如下:

string[]pins=news

tring[4]{"a","b","c","d"};执行下列语句后,数组pins的值为(b).

string[]myArr=pins;

myArr[3]="e";

A."a","b","e","d"B."a","b","c","e"

C."a","b","c","d"D."e","e","e","d"

以下哪个是可以变长的数组?

(d)

A.ArrayB.string[]

C.string[N]D.ArrayList

在System.Collection名字空间中,下列哪个类实现了一种数据结构,这种数据结构支持使用键值来索引结构中存放的对象?

(d)

A.Stack类B.ArrayList类

C.Queue类D.Hashtable类

在Queue类中,Enqueue方法的作用是:

(d)

A.将队列末端元素出队列B.将队列前端元素出队列

C.在队列前端压入新的元素D.在队列末端压入新的元素

在Queue类中,移除并返回队列前端对象的方法是:

(c)

A.popB.peekC.DequeueD.Enqueue

向ArrayList中增加一元素,用下列哪个方法。

(a)

A.AddB.RemoveC.InsertD.Append

以下是一些C#中的枚举型的定义,其中错误的用法有(a)。

A.publicenumvar1{“Mike”=100,“Nike”=102,“Jike”};

B.publicenumvar1{Mike=100,Nike,Jike};

C.publicenumvar1{Mike=-1,Nike,Jike};

D.publicenumvar1{Mike,Nike,Jike};

关于成员函数特征的下列描述中,( a)是错误的。

A.成员函数一定是实例函数;B.成员函数可以重载;

C.成员函数可以有不同的访问修饰符D.成员函数可以是静态的;

在下面的类定义中,缺省构造函数的作用是( c)

PublicclassMyClass

{

privateMyClass(){}

publicstaticintcounter;

publicstaticintincrenentCounter()

{

return++counter;

return++counter;

}

}

A.在创建类的实例时初始化类的域

B.因为是private的,因此不起任何作用

C.防止创建类的实例

D.无意义

单选题下列程序的输出是什么?

(c)

publicclassBase

{

Privatereadonlystringmsg=“Base!

”;

PrivateBase()

{

console.write(msg);

}//私有的

ProtectedBase(stringstr):

this()

{

this.msg=str;

}

Publicclassmyclass:

Base

{

Publicmyclass():

base("ABC")

{

console.write(“myclass”);

}

}

}

Staticvoidmain()//控制台主程序入口

{

Myclassx=newmyclass();

}

A.Base!

B.myclassC.Base!

Myclass!

D.Myclass!

Base!

C#类myclass定义如下:

publicclassmyclass

{

intcount;

privatemyclass(intI)

{

count=I;

}

}

现在需要为该类添加一个公有的构造函数,则下列函数定义正确的有(d)

A.publicmyclass(){myclass(100);}B.publicmyclass():

myclass(100){}

C.publicmyclass():

base(100){}D.publicmyclass():

this(100){}

( d)不是构造函数的特征。

A.构造函数的函数名与类名相同;B.构造函数可以重载;

C.构造函数可以设置缺省参数;D.构造函数必须指定类型说明。

没有类型

C#中MyClass为一自定义类,其中有以下方法定义

publicvoidHello(){..}

使用以下语句创建了该类的对象,并使变量obj引用该对象:

MyClassobj=newMyClass();

那么,可如何访问类MyClass的Hello方法?

(a)

A.obj.Hello();B.obj:

:

Hello();C.MyClass.Hello();D.MyClass:

:

Hello();

下列类的定义中哪些是合法的抽象类?

( d)

A.sealedabstractclassc1

{

abstractpublicvoidtest(){}

}

B.abstractsealedpublicvoidtest();

C.abstractclassc1

{

abstractvoidtest();

}

D.abstractclassc1

{

abstractpublicvoidtest();

}

类MyClass定义如下:

namespaceClassLibrary1

{

publicclassMyClass

{

internalclasssubclass

{

inti;

}

}

}

则类MyClass.Subclass的可访问域为:

(b)

A.在所有引用ClassLibrary1的程序集中可用,但限于MyClass的内部

B.定义MyClass时所在的程序集

C.在所有引用ClassLibrary1的程序集中可用,但限于MyClass的派生类中

D.访问不受限制

分析C#语句,注意类subCalss没有访问修饰符.

NamespaceClassLibrary1

{

PublicclassMylass

{

ClasssubClass

{

inti;

}

}

}

若必须为类subClass添加访问修饰符,并使subClass的可访问修饰符保持不变,则应选择(c)

A.protectedB.internal

C.privateD.public

分析下列C#语句,注意类MyClass没有访问修饰符:

namespaceClassLibrary1

{

classMyClass

{

publicclasssubClass

{

inti;

}

}

}

若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择(c)

A.private访问只限于包含该成员的类,私有的

B.protected访问限于包含该成员的类及类的派生灯,保护的

C.internal访问只限于所在的程序集,只有在同一个程序集中才能访问

D.public访问不受限制,公共的还有一种是protectedinternal

在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?

(a)

A.将Name的set块删除B.将Name的set块置空

C.将Name的set块前加修饰符privateD.将Name添加readonly修饰符

以下类MyClass的属性count属于(a)属性.

classMyClass

{

inti;

intcount

{

Get

{

returni;

}

}

}

A.只读B.只写C.可读写D.不可读不可写

面向对象编程中的“继承”的概念是指(b)

A.派生类对象可以不受限制地访问所有的基类对象

B.派生自同一个基类的不同类的对象具有一些共同特征

C.对象之间通过消息进行交互

D.对象的内部细节被隐藏

类class1,class2,class3的定义如下:

abstractclassclass1

{

abstractpublicvoidtest();

}

classclass2:

class1

{

publicoverridevoidtest()

{

Console.write(“class2”);

}

}

classclass3:

class2

{

publicoverridevoi

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

当前位置:首页 > 经管营销

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

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