C#期末试题选择题及答案.docx
- 文档编号:17650563
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:36
- 大小:33.89KB
C#期末试题选择题及答案.docx
《C#期末试题选择题及答案.docx》由会员分享,可在线阅读,更多相关《C#期末试题选择题及答案.docx(36页珍藏版)》请在冰豆网上搜索。
C#期末试题选择题及答案
于C#语言的关键字(A)。
A.abstractB.camelC.SalaryD.Employ#语言中,值类型包括:
基本值类型、结构类型和(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_123YNC.for-abcCaseD.2aDOsizeof
10.引用类型主要有4种:
类类型、数组类型、接口类型和()。
A.对象类型B.字符串类型C.委托类型D.整数类型
2•在C#中,定义派生时,指定其基类应使用的语句是()。
B.:
答案:
B3.类的以下特性中,可以用于方便地重用已有的代码和数据的是().
A.多态B.封装C.继承D.抽象答案:
C
4•在Array类中,可以对一维数组中的元素进行排序的方法是(A)。
()()()()
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.();
B.obj:
:
Hello();
C.();
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.=“Itisfunny!
”;
B.;
C.=100;
D.;
5.分析下列程序中类MyClass的定义
classBaseClass
{
publicinti;
}
classMyClass:
BaseClass
{
publicnewinti;
}
则下列语句在Console上的输出为(D)
MyClassy=newMyClass();
BaseClassx=y;
=100;
(“{0},{1}”,,;
(提示:
注意类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){
(“使用Params参数!
”);
}
publicvoidtestParams(intx,inty)
{
(“使用两个整型参数!
”);
}请问上述方法重载有无二义性?
若没有,则下列语句的输出为(B)
MyClassx=newMyClass();
(0);
(0,1);
(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和#6门dregion之间的代码
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#中将路径名””存入字符串变量path中的正确语句是(A)
A.path="C:
\\Docments\\";B.path="C:
path="C:
\Document\";
D.path="C:
\/Document\/";
下列语句在控制台上的输出是多少?
(A)
stringmsg=@”HnelWloorld!
”;
\nWorld!
B.@”HellonWorld!
”World!
!
C#中执行下列语句整形变量x和y的值是多少?
(D)
intx=100;
inty=++x;
=100y=100=101y=100=100y=101=101y=101
D
C#中每个bool类型量占用(d)个字节的内容.
C#中每个char类型量占用(b)个字节的内容.
单选题C#中每个int类型的变量占用(c)个字节的内存。
A.1B.2C.4D.8
在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?
(a)
A.decimaltheMoney;B.inttheMoney;
C.stringtheMoney;D.dimtheMoneyasdouble
C#中的类型float对应.NET类库中的(a)
A.B.C.D.
下列语句是类myclass的一部分,obj是myclass类的一个对象.
Voidchange(inti)
{i++;
}
Publicvoidtest()
{
Inta=100;
Change(a);
(a);
}
则调用后,控制台输出(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)
str=“T'osmLivingRoom”;
B.stringstr=“stringstr=“Tom''sLivingRoom”;
str(“Tom'sLivingRoom”);
str(“Tom''sLivingRoom”);
在C#中,表示一个字符串的变量应使用以下哪条语句定义?
(b)
A.CStringstr;B.stringstr;C.DimstrasstringD.char*str;
类MyClass中有下列方法定义:
publicvoidtestParams(paramsint[]arr)
{
(“使用Params参数!
”);
}
publicvoidtestParams(intx,inty)
{
(“使用两个整型参数!
”);
}
请问上述方法重载有无二义性?
若没有,则下列语句的输出为(b)
MyClassx=newMyClass();
(0);
(0,1);
(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.2
单选题数组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
在名字空间中,下列哪个类实现了一种数据结构,这种数据结构支持使用键值来索引结构中存放的对象?
(d)
类类
类类
在Queue类中,Enqueue方法的作用是:
(d)
A.将队列末端元素出队列B.将队列前端元素出队列
C.在队列前端压入新的元素D.在队列末端压入新的元素
在Queue类中,移除并返回队列前端对象的方法是:
(c)向ArrayList中增加一元素,用下列哪个方法。
(a)
A.AddB.RemoveC.InsertD.Append
以下是一些C#中的枚举型的定义,其中错误的用法有(a)。
A.publicenumvar1{“Mike”=100,“Nike”=102,“Jike”};
enumvar1{Mike=100,Nike,Jike};
C.publicenumvar1{Mike=-1,Nike,Jike};
a)是错误的。
B.成员函数可以重载;
D.成员函数可以是静态的;
enumvar1{Mike,Nike,Jike};关于成员函数特征的下列描述中,(A.成员函数一定是实例函数;C.成员函数可以有不同的访问修饰符
在下面的类定义中,缺省构造函数的作用是(c)
PublicclassMyClass
privateMyClass(){}
publicstaticintincrenentCounter(){
return++counter;
return++counter;
}
}
A.在创建类的实例时初始化类的域
B.因为是private的,因此不起任何作用
C.防止创建类的实例
D.无意义
单选题下列程序的输出是什么?
(c)publicclassBase
{
Privatereadonlystringmsg=“Base!
”;
PrivateBase()
{
(msg);
}Base!
B.myclassC.Base!
Myclass!
D.Myclass!
Base!
C#类myclass定义如下:
publicclassmyclass
{
intcount;
privatemyclass(intI){
count=I;
}
}
现在需要为该类添加一个公有的构造函数,则下列函数定义正确的有(
myclass(){myclass(100);}myclass():
myclass(100){}
myclass():
base(100){}myclass():
this(100){}
(d)不是构造函数的特征。
A.
没有类型
构造函数的函数名与类名相同;B.构造函数可以重载;
C.构造函数可以设置缺省参数;D.构造函数必须指定类型说明
C#中MyClass为一自定义类,其中有以下方法定义
publicvoidHello(){..}使用以下语句创建了该类的对象,并使变量obj引用该对象:
MyClassobj=newMyClass();
那么,可如何访问类MyClass的Hello方法?
(a)
A.();B.obj:
:
Hello();C.();D.MyClass:
:
Hello();
下列类的定义中哪些是合法的抽象类?
(d)
A.sealedabstractclassc1
{
abstractpublicvoidtest(){}
}
B.abstractsealedpublicvoidtest();
C.abstractclassc1
{
abstractvoidtest();
}
D.abstractclassc1
{
abstractpublicvoidtest();
}
类MyClass定义如下:
namespaceClassLibrary1
{
publicclassMyClass
{
internalclasssubclass
{
inti;
}
}
}
则类MyClass.Subclass的可访问域为:
(b)
A.在所有引用ClassLibraryl的程序集中可用,但限于MyClass的内部
B.定义MyClass时所在的程序集
C.在所有引用ClassLibraryl的程序集中可用,但限于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()
{
(“class2”);
}
}
classclass3:
class2
{
publicoverridevoidtest()
{
(“class3”);
}
}则下列语句的输出是什么?
(b)
(提示:
从抽象类的规则)
Class1x=newclass3();
();
A.class3class2B.class3C.class2class3D.class2派生类的对象对它的基类成员中的(a)是不可访问的
A.私有成员B.公有成员C.保护成员D.内部成员下列描述中,正确的是(c)
A.虚方法是一个static类型的成员方法
B.虚方法是一个非成员方法
C.抽象类是指具有抽象方法的类
D.抽象类可以实例化其对象
以下描述错误的是(a)。
A.C#中不支持抽象类。
B.在C#中没有头文件并且在同一处声明和定义类的成员。
C.在C#中可使用new修饰符显式隐藏从基类继承的成员。
D.
Override。
在C#中要在派生类中重新定义基类的虚函数必须在前面加分析下列程序中类MyClass的定义
classBaseClass
{
publicinti;
}
classMyClass:
BaseClass
{
publicnewinti;
}
则下列语句在Console上的输出为(d)
MyClassy=newMyClass();
BaseClassx=y;
=100;
(“{0},{1}”,,;
A.0,0B.100,100C.0,100D.100,0
以处理不
单选题在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进同的派生类的需要,则应将该方法声明成(c)
A.sealed方法封闭类
B.public方法公共类
C.virtual方法虚方法
D.override方法重载基类
下列描述错误的是(d)。
A.类不可以多重继承而接口可以;
B.抽象类自身可以定义成员而接口不可以;
C.抽象类和接口都不能被实例化;
D.一个类可以有多个基类和多个基接口;下列描述中,(d)是抽象类的特性。
A.可以定义虚函数;
B.可以进行构造函数重载;
C.可以定义友元函数;
D.不能实例化其对象。
下列描述中,关于函数重载满足的条件的说明不正确的是(c)
A.有不同的参数个数;B.对应的参数类型不相同;
C.A和B必须同时满足;D.A和B只要满足一个即可;?
?
?
?
重载函数在调用时选择的依据中,错误的是(a)
A.函数的参数名B.参数的类型
C.函数的名字D.参数的个数
下列说法中,正确的说法是(b)
A.所有的运算符都能被重载
B.运算符被重载时,它们的优先级与结合性不会改变
C.当需要时,我们可以自定义一个运算符来进行重载
D.每个运算符都可以被重载成成员函数
单选题用户类若想支持F
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 期末 试题 选择题 答案