C#笔试题 - 经典50题(含答案) 下载本文

内测/月考

uanji

内测/月考

类型:(笔试)

日期:

总分数:100 分

姓名:

证件号码: 理论部分

范围:内测/月考

时长:1小时

准考证号:

注意:考试结束试卷必须交回,答案填写在答题卡上

第 1 页 共 24 页

内测/月考

1. ( )关键字用于在C#中从派生类中访问基类的成员。(选一项) A、new B、super C、this D、base

2. C#程序可以依据( )来进行方法重载。(选一项) A、不同的参数个数 B、不同的参数名称 C、不同的返回值 D、不同的方法名称

3. C#中的方法重写使用关键字(选一项) A、override B、overload C、static D、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、List f = new List() B、List f = new List() C、List f = new List() D、List f = new List

9. 下列关于C#索引器理解正确的是(选一项) A、索引器的参数必须是两个或两个以上 B、索引器的参数类型必须是整数型 C、索引器没有名字 D、以上皆是

10. 已知C#某接口中有一个Show( )方法,下面对该方法原型的定义正确的是(选一项) A、public void Show( ) B、public virtual void Show( ) C、void Show( ) D、virtual void Show( )

11. 以下的C#程序: public class A{} public class B:A{} public class Test

第 4 页 共 24 页

内测/月考

{

public static void Main() {

A myA = new A (); B myB = new B (); A myC = myB;

Console.WriteLine(myC.GetType()); }

}运行时将输出(选一项) A、A B、B C、object

D、将报告错误信息,提示无效的类型转换

12. 以下的C#程序: public static void Main() {

int[] A = new int[5]{1,2,3,4,5}; Object[] B = new Object[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#程序: using System;

using System.Cillections; public class SamplesHashtable {

public static void Main() {

Hashtable myHT = new Hashtable(); myHT.Add(\ myHT.Add(\ myHT.Add(\

Console.WriteLine(myHT.Count); myHT.Remove(\

Console.WriteLine(myHT.Count); }

}运行输出为(选一项) A、33

第 6 页 共 24 页

内测/月考

B、32 C、22

D、运行时错误,提示无效的键值

14. 以下的C#代码段: public struct Person { string Name; int Age; }

public static void Main() { Hasbtable A; Person B; }

以下说法正确的是(选一项)

A、A为引用类型的变量,B为值类型的变量 B、A为值类型的变量,B为引用类型的变量 C、A和B都是值类型的变量 D、A和 B都是引用类型的变量

15. 以下定义雇员类的代码:

第 7 页 共 24 页

内测/月考

class Employee {

private string id; public string Id {

_________//请填写正确的代码行 { return id; } 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#代码: class A { public A( ) {

Console.WriteLine(\ } } class B:A { public B() {

Console.WriteLine(\ } }

class Program {

public static void Main() { B b = new B(); Console.ReadLine();

第 9 页 共 24 页

内测/月考

} }

上述代码运行后,将在控制台窗口输出(选一项) A、A B、B C、A B D、B A

18. 在.NET框架类库中,所有与多线程机制应用相关的类都放在( 命名空间中。(选一项) A、System.SysThread B、System.Thread C、System.Threading D、NetException

19. 在.Net中,ArrayList对象位于()命名空间内。(选一项) A、System.Array B、System.IO C、System.Collections D、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、Empty B、null C、Nothing D、0

26. 在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用关键字(选一项) A、override B、new

第 12 页 共 24 页

内测/月考

C、static D、virtual

27. 在C#语言中,下列关于属性的描述正确的是(选一项) A、属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性

B、属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏

C、要定义只读属性只需在属性名前加上readonly关键字(false) D、在C#的类中不能自定义属性

28. 在C#中,( )访问修饰符修饰的变量只能由当前程序集访问。(选一项) A、public B、protected C、internal D、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#代码的说法正确的是(选一项) namespace Microsoft {

class Student {

string type=\美国硅谷学员\ internal string name=\李明\ }

public class Test {

static viod Main() {

Student stu = new Student(); //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),则横线处可以填写的代码是(选一项) class Class1{

static void Main(string[] args){ string path = @\ FileStream fs=new

FileStream(path,FileMode.Create,FileAccess.Write); ________在此处填之代码 fs.Close(); } }

A、fs.WriteLine(\

B、fs.Write(new byte[]{50,10,150},1,1); C、fs.WriteByte(100); D、fs.Write('d');

第 16 页 共 24 页

内测/月考

36. 在C#中,通过调用Thread 类的Sleep(int x)方法来实现禁止线程运行,其中x代表(选一项) A、禁止线程运行的微秒数 B、禁止线程运行的毫秒数 C、禁止线程运行的秒数

D、禁止线程以内性的CPU时间数

37. 在C#中,下列代码的运行结果是(选一项) Hashtable hsStu = new Hashtable(); hsStu.Add(3,\hsStu.Add(2,\hsStu.Add(1,\hsStu.Remove(1);

Console.WriteLine(hsStu[2]) A、2 B、B C、1 D、C

38. 在C#中,下列代码的运行结果是(选一项) int []num = new int[]{3,4,5,3,8}; int index = Array.IndexOf(num,3);

第 17 页 共 24 页

内测/月考

Console.WriteLine(index); A、-1 B、0 C、1 D、3

39. 在C#中,下列代码的运行结果是(选一项) int[] age = new int[]{16,18,14,22}; foreach(int i in age){ if(i>18) continue;

Console.Write(i.ToString()+\}

A、16 18 20 14 22 B、16 18 14 22 C、16 18 14 D、16 18

40. 在C#中,下列代码的运行结果是(选一项) int[] num = new int[]{1,3,5}; ArrayList arr = new ArrayList(); for(int i=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 = new int[5]{1,3,2,0,0}; Array.Reverse(num); foreach(int i in num) {

Console.Write(i); } A、00123 B、12300 C、00132 D、00231

42. 在C#中,下列代码的运行结果是(选一项)

第 19 页 共 24 页

内测/月考

static void main() {

int[] num1 = new int[]{1,2,3,4,5}; int[] num2 = new int[5]{6,7,8,9,10}; Array.Copy(num1,num2,1); foreach(int i in num2) {

Console.Write(i); } } A、62345 B、678910 C、12346 D、178910

43. 在C#中,下列代码的运行结果是(选一项) struct Student {

public int age; public string name;

public Student(int age,string name) {

第 20 页 共 24 页

内测/月考

this.sge = sge; this.name = name; } }

public class Test {

static void Main() {

Student stu1 = new Student(18,\小芳\ Student stu2 = new Student(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#中,下列代码运行结果是(选一项) Hashtable hsStu = new Hashtable(); 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、synchronize B、lock C、Monitor D、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 页