整理C单项选择题.docx
- 文档编号:3644629
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:28
- 大小:25.14KB
整理C单项选择题.docx
《整理C单项选择题.docx》由会员分享,可在线阅读,更多相关《整理C单项选择题.docx(28页珍藏版)》请在冰豆网上搜索。
整理C单项选择题
C#单项选择题(必须做完)
单项选择题1(共75题)
1.__________是独立于CPU的指令集,它可以被高效地转换为特定于某种CPU的代码。
A.CLR
B.CLS
C.MSIL
D.XMLWebService
正确答案:
C
2.在VisualStudio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息。
A.解决方案资源管理器
B.类视图
C.资源视图
D.属性
正确答案:
B
3.C#中每个int类型的变量占用_______个字节的内存。
A.1
B.2
C.4
D.8
正确答案:
C
4.在C#中,表示一个字符串的变量应使用以下哪条语句定义?
A.CStringstr;
B.stringstr;
C.Dimstrasstring
D.char*str;
正确答案:
B
5.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?
A.decimaltheMoney;
B.inttheMoney;
C.stringtheMoney;
D.DimtheMoneyasdouble
正确答案:
A
6.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?
A.stringstr="Tom\'sLivingRoom";
B.stringstr="Tom'sLivingRoom";
C.stringstr("Tom'sLivingRoom");
D.stringstr("Tom"sLivingRoom");
正确答案:
A
7.C#中MyClass为一自定义类,其中定义了以下方法
publicvoidHello()
{
…
}
使用以下语句创建了该类的对象,并使变量obj引用该对象:
MyClassobj=newMyClass();
那么,可如何访问类MyClass的Hello方法?
A.obj.Hello();
B.obj:
:
Hello();
C.MyClass.Hello();
D.MyClass:
:
Hello();
正确答案:
A
8.分析下列C#语句,注意类MyClass没有访问修饰符:
namespaceClassLibrary1
{
classMyClass
{
publicclasssubclass
{
inti;
}
}
}
若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择_________。
A.private
B.protected
C.internal
D.public
正确答案:
C
9.分析下列程序:
publicclassclass4
{
privatestring_sData="";
publicstringsData
{
set
{
_sData=value;
}
}
}
在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?
A.obj.sData="Itisfunny!
";
B.Console.WriteLine(obj.sData);
C.obj._sData=100;
D.obj.set(obj.sData);
正确答案:
A
10.分析下列程序中类MyClass的定义
classBaseClass
{
publicinti;
}
classMyClass:
BaseClass
{
publicnewinti;
}
则下列语句在Console上的输出为_______.
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
正确答案:
D
11.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_________。
A.sealed方法
B.public方法
C.virtual方法
D.override方法
正确答案:
C
12.类MyClass中有下列方法定义:
publicvoidtestParams(paramsint[]arr)
{
Console.Write("使用Params参数!
");
}
publicvoidtestParams(intx,inty)
{
Console.Write("使用两个整型参数!
");
}
请问上述方法重载有无二义性?
若没有,则下列语句的输出为_________.
MyClassx=newMyClass();
x.testParams(0);
x.testParams(0,1);
x.testParams(0,1,2);
A.有语义二义性;
B.使用Params参数!
使用两个整型参数!
使用Params参数!
C.使用Params参数!
使用Params参数!
使用Params参数!
D.使用Params参数!
使用两个整型参数!
使用两个整型参数!
正确答案:
B
13.C#程序中,可使用try…catch机制来处理程序出现的______错误。
A.语法
B.运行
C.逻辑
D.拼写
正确答案:
B
14.在C#中,在方法MyFunc内部的try..catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则
A..NET运行时忽略该异常
B..NET运行时马上强制退出该程序
C..NET运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程
D..NET抛出一个新的“异常处理未找到”的异常
正确答案:
C
15.在C#中,下列哪些语句可以创建一个具有3个初始值为""的元素的字符串数组?
A.stringStrList[3]("");
B.string[3]StrList={"","",""};
C.string[]StrList={"","",""};
D.string[]StrList=newstring[3];
正确答案:
C
16.下列语句创建了多少个string对象?
string[,]strArray=newstring[3,4];
A.0
B.3
C.4
D.12
正确答案:
D
17.接口Animal定义如下:
publicinterfaceAnimal
{
voidMove();
}
则下列抽象类的定义中,哪些是不合法的?
A.abstractclassCat:
Animal
{
abstractpublicvoidMove();
}
B.abstractclassCat:
Animal
{
virtualpublicvoidMove()
{
Console.Write("Move!
");
}
}
C.abstractclassCat:
Animal
{
publicvoidMove()
{
Console.Write("Move!
");
}
}
D.abstractclassCat:
Animal
{
publicvoidEat()
{
Console.Write("Eat!
");
}
}
正确答案:
D
18.在使用FileStream打开一个文件时,通过使用FileMode枚举类型的_________成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。
A.Append
B.Create
C.CreateNew
D.Truncate
正确答案:
A
19.关于结构类型,下列说法哪些是正确的?
A.结构是值类型
B.结构中不允许定义带参数的实例构造函数;
C.结构中允许定义析构函数
D.结构中可以定义成员方法,但是方法内不能使用this指针
正确答案:
A
20.在类的定义中,类的__________描述了该类的对象的行为特征。
A.类名
B.方法
C.所属的名字空间
D.私有域
正确答案:
B
21.下列哪些选项是.NET异常处理的特点?
A..NET异常对象是一种特殊格式的32位整型值
B.C#代码中抛出的异常对象,只能在C#编写的代码中捕获
C.无法跨越进程边界引发和捕获异常对象
D.不同编程语言抛出/捕获异常对象的语法可以不同
正确答案:
D
22.以下类MyClass的属性count属于_____属性.
classMyClass
{
inti;
intcount
{
get
{
returni;
}
}
}
A.只读
B.只写
C.可读写
D.不可读不可写
正确答案:
A
23.类MyClass中,下列哪条语句定义了一个只读的属性Count?
A.privateintCount;
B.privateintcount;
publicintCount
{
get
{
returncount;
}
}
C.publicreadonlyintCount;
D.publicreadonlyintCount
{
get{returncount;}
set{count=value;}
}
正确答案:
B
24.C#中的类型float对应.NET类库中的_____。
A.System.Single
B.System.Double
C.System.Int32
D.System.Int64
正确答案:
A
25.判断下列类MyClass的定义中哪些是合法的抽象类?
A.abstractclassMyClass
{
publicabstractintgetCount();
}
B.abstractclassMyClass
{
abstractintgetCount();
}
C.privateabstractclassMyClass
{
abstractintgetCount();
}
D.sealedabstractclassMyClass
{
abstractintgetCount();
}
正确答案:
A
26.已知接口IHello和类Base、MyClass的定义如下
interfaceIHello
{
voidHello();
}
classBase:
IHello
{
publicvoidHello()
{
System.Console.WriteLine("HelloinBase!
");
}
}
classDerived:
Base
{
publicvoidHello()
{
System.Console.WriteLine("HelloinDerived!
");
}
}
则下列语句在控制台中的输出结果为_____。
IHellox=newDerived();
x.Hello();
A.HelloinBase!
B.HelloinDerived!
C.HelloinBase!
HelloinDerived!
D.HelloinDerived!
HelloinBase!
正确答案:
A
27.为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?
A.intNum=int.Parse(str);
B.intNum=str.Parse(int);
C.intNum=(int)str;
D.intNum=int.Parse(str,System.Globalization.NumberStyles.AllowThousands);
正确答案:
D
28.已知结构Resource的定义如下:
structResource
{
publicintData;
}
则下列语句的运行结果为_________。
Resource[]list=newResource[20];
for(inti=0;i<20;i++)
{
System.Console.WriteLine(“data={0}”,list[i].Data);
}
A.打印20行,每行输出都是data=0
B.打印20行,每行输出都是data=null
C.打印20行,第1行输出data=0,第2行输出data=2,…,第20行输出data=19
D.出现运行时异常
正确答案:
A
29.分析下列语句:
namespaceTestCS
{
publicdelegatevoidHello(stringtarget);
}
该语句的作用是:
A.在TestCS命名空间中定义了一个名为Hello的全局方法;
B.在TestCS命名空间中声明了函数Hello的原型;
C.在TestCS命名空间中定义了一个名为Hello的函数指针;
D.在TestCS命名空间中定义了一个名为Hello的委托类型;
正确答案:
D
30.已知委托类型DoSomething定义如下:
publicdelegatevoidDoSomething();
a,b,c,d是DoSomething的变量,分别有以下调用列表:
a:
objA.Func1、objA.Func2
b:
objA.Func1、Class1.StaticFunc
c:
objA.Func1、Class2.StaticFunc
d:
Class2.StaticFunc
其中objA为类Class1的对象,objB为类Class2的对象。
则执行b=b+c后,变量b关联的方法数目为:
A.2
B.3
C.4
D.5
正确答案:
C
31.已知类MyClass中事件MouseClicked定义如下:
publicstaticeventMouseClickedListenerMouseClicked;
执行下列语句:
MouseClicked+=newMouseClickedListener(obj.DoSomething);
MouseClicked+=newMouseClickedListener(obj.DoSomething);
然后引发该MouseClicked事件,其结果为:
A.obj.DoSomething方法被调用4次
B.obj.DoSomething方法被调用2次
C.obj.DoSomething方法被调用1次
D.obj.DoSomething方法不会被调用
正确答案:
B
32.下列代码存在一个编译错误。
如何消除该错误?
(左边为行号)
1publicvoidTest(objectparam){
2Resourcer0=newResource(100);
3using(Resourcer1=newResource(100)){
4r1.print();
5r1=newResource(50);
6}
7}
A.第1行声明的param参数未在方法内使用,删除该参数;
B.第3行修改为:
using(Resourcer1=newResource(100);){
C.删除第5行
D.第5行修改为:
r1=r0;
正确答案:
C
33.用FileStream打开一个文件时,可用FileShare参数控制_______:
A.对文件执行覆盖、创建、打开等选项中的哪些操作;
B.对文件进行只读、只写还是读/写
C.其他FileStream对同一个文件所具有的访问类型
D.对文件进行随机访问时的定位参考点
正确答案:
C
34.为了判断线程t1是否是在后台运行,需访问t1的______属性。
A.CurrentThread
B.IsBackgroud
C.IsAlive
D.ThreadState
正确答案:
B
35.类MyClass中已知有以下字段定义:
objecti=100,j=200,k=300;
则执行下列语句后,这3个字段的值是______:
Interlocked.CompareExchange(refi,j,k);
A.i:
100,j:
200,k:
300
B.i:
200,j:
200,k:
300
C.i:
300,j:
200,k:
100
D.i:
100,j:
100,k:
300
正确答案:
A
36.多线程C#程序中,类MyClass定义如下:
classMyClass
{
ReaderWriterLockrwl=newReaderWriterLock();
privateinti;
publicvoidRead()
{
rwl.AcquireReaderLock(Timeout.Infinite);
Interlocked.Increment(refi);Thread.Sleep(1000);
rwl.ReleaseReaderLock();
}
publicvoidWrite()
{
rwl.AcquireWriterLock(Timeout.Infinite);
Interlocked.Decrement(refi);Thread.Sleep(1000);
rwl.ReleaseWriterLock();
}
}
请问,可以有多少个线程同时调用Read()并将i的值加1?
A.0个
B.1个
C.多个
D.没有
正确答案:
C
37.假设变量x的值为25,要输出x的值,下列正确的语句是____。
A.System.Console.writeline(“x”)
B.System.Console.WriteLine(“x”)
C.System.Console.WriteLine(“x={0}”,x)
D.System.Console.WriteLine(“x={x}”)
正确答案:
C
38.关于C#程序的书写,下列不正确的说法是____。
A.区分大小写
B.一行可以写多条语句
C.一条语句可写成多行
D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法
正确答案:
D
39.在C#语言中,下列能够作为变量名的是____。
A.if
B.3ab
C.a_3b
D.a-bc
正确答案:
C
40.在C#语言中,下面的运算符中,优先级最高的是____。
A.%
B.++
C./=
D.>>
正确答案:
B
41.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是____。
A.a>=10ora<=0
B.a>=10|a<=0
C.a>=10&&a<=0
D.a>=10||a<=0
正确答案:
D
42.以下程序的输出结果是____。
usingSystem;
classExample1
{
publicstaticvoidMain()
{
inta=5,b=4,c=6,d;
Console.WriteLine(“{0}”,d=a>b?
(a>c?
a:
c):
b);
}
}
A.5B.4C.6D.不确定
正确答案:
C
43.if语句后面的表达式应该是____。
A.逻辑表达式
B.条件表达式
C.算术表达式
D.任意表达式
正确答案:
B
44.有如下程序:
usingSystem;
classExample1
{
publicstaticvoidMain()
{
intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
break;
case1:
a++;
break;
case2:
a++;
b++;
break;
}
Console.WriteLine(“a={0},b={1}”,a,b);
}
}
的输出结果是____。
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
正确答案:
C
45.以下叙述正确的是____。
A.do….while语句构成的循环不能用其他语句构成的循环来代替
B.do….while语句构成的循环只能用break语句退出
C.用do….while语句构成的循环,在while后的表达式为true时结束循环
D.用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式
正确答案:
D
46.以下关于for循环的说法不正确的是____。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体语句
C.for循环体语句中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
正确答案:
A
47.假定int类型变量占用四个字节,若有定义:
int[]x=newint[10]{0,2,4,4,5,6,7,8,9,10};
则数组x在内存中所占字节数是____。
A.6
B.20
C.40
D.80
正确答案:
C
48.以下程序的输出结果是:
classExample1
{
publicstaticvoidMain()
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 单项 选择题