c#笔试题经典50题含答案.docx
《c#笔试题经典50题含答案.docx》由会员分享,可在线阅读,更多相关《c#笔试题经典50题含答案.docx(60页珍藏版)》请在冰点文库上搜索。
![c#笔试题经典50题含答案.docx](https://file1.bingdoc.com/fileroot1/2023-5/20/9fec8cb3-ba87-4ee4-9e8d-9e60cdbb083a/9fec8cb3-ba87-4ee4-9e8d-9e60cdbb083a1.gif)
c#笔试题经典50题含答案
内测/月考
uanji
内测/月考
类型:
(笔试)范围:
内测/月考
日期:
时长:
1小时
总分数:
100分
姓名:
准考证号:
证件号码:
理论部分
注意:
考试结束试卷必须交回,答案填写在答题卡上
第1页共24页
内测/月考
1.()关键字用于在C#中从派生类中访问基类的成员。
(选一项)
A、newB、superC、thisD、base
2.C#程序可以依据()来进行方法重载。
(选一项)A、不同的参数个数
B、不同的参数名称C、不同的返回值D、不同的方法名称
3.C#中的方法重写使用关键字(选一项)
A、overrideB、overloadC、staticD、inherit
4.C#中关于委托,下面说法正确的是(选一项)A、委托是一种类的成员B、委托必须定义在类中C、定义委托需要使用delegate关键字
第2页共24页
内测/月考
D、委托是一种数据类型
5.System.String类的()方法不能删除字符串中的空格。
(选一
项)
A、Replace()
B、Trim()
C、Remove()
D、EndsWith()
6.关于抽象类下面说法错误的是(选一项)A、抽象类可以包含非抽象方法B、含有抽象方法的类一定是抽象类C、抽象类不能被实例化D、抽象类可以是密封类
7.关于接口的使用,说法错误的是(选一项)A、接口可以作为参数进行传递B、接口可以作为方法的返回值C、接口可以实例化D、同时实现多个接口是变相实现了多重继承
8.下列泛型集合声明正确的是(选一项)
第3页共24页
内测/月考
A、Listf=newList()
B、Listf=newList()
C、Listf=newList()
D、Listf=newList
9.下列关于C#索引器理解正确的是(选一项)A、索引器的参数必须是两个或两个以上B、索引器的参数类型必须是整数型C、索引器没有名字
D、以上皆是
10.已知C#某接口中有一个Show()方法,下面对该方法原型的定义正确的是(选一项)
A、publicvoidShow()
B、publicvirtualvoidShow()C、voidShow()
D、virtualvoidShow()
11.以下的C#程序:
publicclassA{}publicclassB:
A{}publicclassTest
第4页共24页
内测/月考
{
publicstaticvoidMain()
{
AmyA=newA();
BmyB=newB();
AmyC=myB;Console.WriteLine(myC.GetType());
}
}运行时将输出(选一项)
A、A
B、B
C、object
D、将报告错误信息,提示无效的类型转换
12.以下的C#程序:
publicstaticvoidMain()
{
int[]A=newint[5]{1,2,3,4,5};
Object[]B=newObject[5]{6,7,8,9,10};
Array.Copy(A,B,2);
}
运行后数组A中的数值为(选一项)
第5页共24页
内测/月考
A、1、2、3、4、5
B、1、2、8、9、10
C、1、2、3、9、10
D、6、7、8、9、10
13.以下的C#程序:
usingSystem;
usingSystem.Cillections;publicclassSamplesHashtable
{
publicstaticvoidMain()
{
HashtablemyHT=newHashtable();myHT.Add("A","AA");
myHT.Add("B","BB");myHT.Add("C","CC");
Console.WriteLine(myHT.Count);
myHT.Remove("BB");
Console.WriteLine(myHT.Count);
}
}运行输出为(选一项)
A、33
第6页共24页
内测/月考
B、32
C、22
D、运行时错误,提示无效的键值
14.以下的C#代码段:
publicstructPerson{
stringName;intAge;
}
publicstaticvoidMain(){HasbtableA;PersonB;
}
以下说法正确的是(选一项)
A、A为引用类型的变量,B为值类型的变量B、A为值类型的变量,B为引用类型的变量C、A和B都是值类型的变量
D、A和B都是引用类型的变量
15.以下定义雇员类的代码:
第7页共24页
内测/月考
classEmployee
{
privatestringid;
publicstringId
{
_________//请填写正确的代码行
{returnid;}
set
{
if(id.Length>2)
id=value;
}
}
}应填写的正确的代码为(选一项)
A、let
B、set
C、get
D、put
16.以下关于C#中方法重载的说法正确的是(选两项)
A、如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载
第8页共24页
内测/月考
B、如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载
C、如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载
D、如两个方法名字相同,而参数的数量不同,那么它们可以构成
方法重载
17.阅读以下的C#代码:
classA{
publicA(){Console.WriteLine("A");
}
}
classB:
A{publicB(){
Console.WriteLine("B");
}
}
classProgram{
publicstaticvoidMain(){Bb=newB();Console.ReadLine();
第9页共24页
内测/月考
}
}
上述代码运行后,将在控制台窗口输出(选一项)
A、A
B、B
C、AB
D、BA
18.在.NET框架类库中,所有与多线程机制应用相关的类都放在()命名空间中。
(选一项)
A、System.SysThreadB、System.ThreadC、System.ThreadingD、NetException
19.在.Net中,ArrayList对象位于()命名空间内。
(选一项)
A、System.ArrayB、System.IOC、System.CollectionsD、System.RunTime
20.在.NET中,Hashtable类所在的命名空间是(选一项)
第10页共24页
内测/月考
A、System.Threadint
B、System.IO
C、System.Collections
D、System
21.在.NET中,IL是指(选一项)A、接口限制B、中间语言C、核心代码D、接口类库
22.在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(选一项)
A、只读属性B、只写属性C、读写属性D、不可读不可写的属性
23.在.Net中,关于CLR和IL,以处描述正确的是(选一项)
A、应用程序在CLR环境被编译成IL,IL将能够被任何计算机指令集成
B、应用程序被编译两次,第一次生成IL,IL在运行时候被CLR
第11页共24页
内测/月考
快速编译
C、应用程序被编译两次,但是第二次CLR编辑比第一次慢
D、借取CLR,IL被编译成机器代码并且能够在不同的计算机指令
集下被执行
24.在.NET中,下列关于事件处理程序说法错误的是(选一项)A、事件处理的顺序是定义事件、订阅事件、引发事件B、定义事件使用evnet关键字C、C#中的事件借助于委托来实现
D、定义事件使用delegate关键字
25.在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象。
(选一项)
A、EmptyB、nullC、NothingD、0
26.在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用关键字(选一项)
A、overrideB、new
第12页共24页
内测/月考
C、static
D、virtual
27.在C#语言中,下列关于属性的描述正确的是(选一项)
A、属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性
B、属性是访问字段值的一种灵活机制,属性更好地实现了数据的
封装和隐藏
C、要定义只读属性只需在属性名前加上readonly关键字(false)
D、在C#的类中不能自定义属性
28.在C#中,()访问修饰符修饰的变量只能由当前程序集访问。
(选一项)
A、public
B、protectedC、internalD、private
29.在C#中,关于Array和ArrayList的维数,以下说法正确的是(选一项)
A、Array可以有多维,而ArrayList只能是一维B、Array只能是一维,而ArrayList可以有多维
第13页共24页
内测/月考
C、Array和ArrayList都只能是一维
D、Array和ArrayList都可以是多维
30.在C#中,关于继承和接口,以下说法正确的是(选一项)A、C#允许多接口实现,也允许多重继承B、C#允许多接口实现,但不允许多重继承C、C#不允许多接口实现,但允许多重继承D、C#不允许多接口实现,也不允许多重继承
31.在C#中,关于以下C#代码的说法正确的是(选一项)namespaceMicrosoft
{
classStudent
{
stringtype="美国硅谷学员";
internalstringname="李明";
}
publicclassTest
{
staticviodMain()
{
Studentstu=newStudent();//1
第14页共24页
内测/月考
Console.WriteLine(stu.type);//2
Console.WriteLine(stu.name);//3
}
}
}
A、代码1错误
B、代码2错误
C、代码3错误
D、代码都错误
32.在C#中,关于属性的说话错误的是(选一项)A、属性可以是只读的B、属性可以是只写的C、属性可以是可读可写的D、属性不能只是可写的
33.在C#中,接口与抽象基类的区别在于(选一项)
A、抽象基类可以包含非抽象方法,而接口只能包含抽象方法B、抽象基类可以被实例化,而接口不能被实例化C、抽象基类不能被实例化,而接口可以被实例化D、抽象基类能够被继承,而接口不能被继承
第15页共24页
内测/月考
34.在C#中,如果要将数组做为一个方法的参数,则传递的是(选一项)A、数组中的所有元素
B、数组的第一个元素C、对象的引用D、以上皆非
35.在C#中,如果要在文件file1.txt中写入字母(d其ASCII码为100),
则横线处可以填写的代码是(选一项)classClass1{
staticvoidMain(string[]args){stringpath=@"D:
\file1.txt";FileStreamfs=new
FileStream(path,FileMode.Create,FileAccess.Write);
________在此处填之代码fs.Close();
}
}
A、fs.WriteLine("d");
B、fs.Write(newbyte[]{50,10,150},1,1);C、fs.WriteByte(100);D、fs.Write('d');
第16页共24页
内测/月考
36.在C#中,通过调用Thread类的Sleep(intx)方法来实现禁止线程运行,其中x代表(选一项)
A、禁止线程运行的微秒数B、禁止线程运行的毫秒数C、禁止线程运行的秒数D、禁止线程以内性的CPU时间数
37.在C#中,下列代码的运行结果是(选一项)
HashtablehsStu=newHashtable();hsStu.Add(3,"A");hsStu.Add(2,"B");hsStu.Add(1,"C");hsStu.Remove
(1);Console.WriteLine(hsStu[2])
A、2
B、B
C、1
D、C
38.在C#中,下列代码的运行结果是(选一项)int[]num=newint[]{3,4,5,3,8};
intindex=Array.IndexOf(num,3);
第17页共24页
内测/月考
Console.WriteLine(index);
A、-1
B、0
C、1
D、3
39.在C#中,下列代码的运行结果是(选一项)int[]age=newint[]{16,18,14,22};foreach(intiinage){
if(i>18)
continue;Console.Write(i.ToString()+"");
}
A、1618201422B、16181422C、161814D、1618
40.在C#中,下列代码的运行结果是(选一项)int[]num=newint[]{1,3,5};
ArrayListarr=newArrayList();for(inti=0;i第18页共24页
内测/月考
arr.Add(num[i]);
}
arr.Insert(1,4);
console.Write(arr[2]);
A、1
B、3
C、4
D、5
41.在C#中,下列代码的运行结果是(选一项)int[]num=newint[5]{1,3,2,0,0};Array.Reverse(num);
foreach(intiinnum)
{
Console.Write(i);
}
A、00123B、12300C、00132D、00231
42.在C#中,下列代码的运行结果是(选一项)
第19页共24页
内测/月考
staticvoidmain()
{
int[]num1=newint[]{1,2,3,4,5};
int[]num2=newint[5]{6,7,8,9,10};
Array.Copy(num1,num2,1);
foreach(intiinnum2)
{
Console.Write(i);
}
}
A、62345
B、678910
C、12346
D、178910
43.在C#中,下列代码的运行结果是(选一项)
structStudent
{
publicintage;
publicstringname;
publicStudent(intage,stringname)
{
第20页共24页
内测/月考
this.sge=sge;
this.name=name;
}
}
publicclassTest
{
staticvoidMain()
{
Studentstu1=newStudent(18,"小芳");
Studentstu2=newStudent(24,"小刚");
stu2=stu1;
stu1.age=30;
stu1.name="小燕";
Console.WriteLine(stu2.age);
Console.WriteLine(stu2.name);
}
}
A、18小芳
B、18小燕
C、30小燕
D、30小芳
第21页共24页
内测/月考
44.在C#中,下列代码运行结果是(选一项)
HashtablehsStu=newHashtable();hsStu.Add(3,"甲");hsStu.Add(2,"乙");hsStu.Add(1,"丙");Console.WriteLine(hsStu[3]);
A、3
B、甲
C、1
D、丙
45.在C#中,一个类(选一项)A、可以继承多个类B、可以实现多个接口
C、在一个程序中只能有一个子类D、只能实现一个接口
46.在C#中实现线程同步的关键字是(选一项)
A、synchronizeB、lockC、MonitorD、delay
第22页共24页
内测/月考
47.下面对常量的描述正确的是()。
A、定义常量要使用console关键字
B、常量定义的同时必须赋初值
C、常量可以被反复赋值
D、常量也可以定义之后再赋值
48.类用来描述具有相同特征和行为的对象,它包含()(多选)。
A、变量
B、方法
C、构造方法
D、行为
49.下面对构造方法的陈述,正确的是()。
A、提供了有参构造方法,编译器也会自动提供无参构造方法
B、构造方法与类名相同
C、构造方法没有返回值,所以定义时要用void关键字
D、构造方法的调用方法和其他方法相同。
50.关于ref关键字说法正确的是()。
A、ref关键字在方法定义时不用显示使用
B、传递给ref参数的参数必须在调用方法前初始化
C、ref关键字不能使参数的修改结果返回给调用方法
D、以上说法都是错误的
第23页共24页
内测/月考
第24页共24页