1、1、 在 C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字。 答案:(A) A、override B、new C、static D、virtual2、 有关结构体和类的说法不正确的是 答案:(B) A、结构是值类型的,而类是引用类型的 B、结构体不可以声明构造函数 C、结构体直接继承 System.ValueType类型 D、结构体可以继承接口3、 在 C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中, 有( )处实现了拆箱。int age = 5; /0object o= age; /1o=10; /2age=(int)o; /3object
2、 oAge =age;答案:(D) A、0 B、1 C、2 D、34、 被 volatile关键字修饰字段的作用是( )。 答案:(B) A、提供给子类使用,不提供给其他类使用 B、禁止对字段的访问施加优化 C、表示只读字段,只能赋值一次 D、只能在本程序集中使用5、 下列有关基本类型的字节大小不正确的是 答案:(D) A、int 类型是 4个字节 B、bool 类型是 1个字节 C、long 类型是 8个字节 D、char 类型是一个字节6、 以下的 C#代码,试图用来定义一个接口 public interface IFileint A;int delFile()A = 3;void dis
3、File();关于以上的代码,以下描述错误的是 答案:(B) A、以上的代码中存在的错误包括:不能在接口中定义变量,所以 int A代码行将出现错误; B、以上的代码中存在的错误包括:接口方法 delFile是不允许实现的,所以不能编写具体的实现函数; C、代码 void disFile();声明无错误,接口可以没有返回值; D、代码 void disFile();应该编写为 void disFile();7、 delegate void Del(int x); void DoWork(int k); 下列关于委托订阅不正确的是 答案:(C) A、Del d=DoWork; B、Del d=n
4、ew Del(DoWork); C、Del d+=DoWork D、Del d=delegate(int x)DoWork(x);8、 有关 absract关键字说法不正确的是 答案:(D) A、abstract 用于创建仅用于继承用途的类和类的成员 B、abstract 用于方法,则该方法隐含是虚函数 C、abstract 用于类,则此类无法被实例化 D、abstract 用于方法,则该方法有方法体9、 关于静态类说法不正确的是 答案:(C) A、声明静态类,该类不能使用 new关键字创建实例 B、静态仅包含静态成员 C、静态类不能包含常量成员 D、静态类是密封的10、 有关类和结构体的区别
5、说法不正确的是 答案:(C) A、结构体是值类型的,而类是引用类型的 B、类的实例化需要 new,而结构体可以不用 C、结构体内存一定分配在栈中,而类的内存分配在堆中 D、结构可用作可为 null的类型,因而可向其赋值 null11、 在 C#中,下列常量定义正确的是 答案:(B) A、Const double PI 3.1415926; B、Const double e=2.7; C、define double PI 3.1415926; D、define double e=2.7;12、 在 C#中,接口与抽象基类的区别在于( )。 答案:(D) A、抽象基类可以包含非抽象方法,而接口只能
6、包含抽象方法 B、抽象基类可以被实例化,而接口不能被实例化 C、抽象基类不能被实例化,而接口可以被实例化 D、抽象基类能够被继承,而接口不能被继承13、 常用的字符串判空串方法 答案:(D) A、bool isEmpty = (str.Length=0) B、bool isEmpty = (str=String.Empty) C、bool isEmpty = (str=“) D、都一样14、 有关结构体说法不正确的是 答案:(D) A、在结构体声明中,除非字段被声明为 const或 static,否则无法初始化 B、结构体不能声明默认的构造函数(没有参数的构造函数)或析构函数 C、结构体不能从
7、类或其他结构体继承 D、结构体是引用类型的15、 下面哪个选项不属于面向对象的三大特性 答案:(D) A、封装 B、继承 C、多态 D、装箱16、 有关静态成员说法不正确的是 答案:(A) A、可以使用类的实例,访问本身类的静态的成员 B、静态方法可以被重载,但不能被重写 C、静态成员在第一次被访问之前并且在任何静态构造函数之前初始化 D、可以在类中声明静态成员17、 下列那个类型是引用类型的是 答案:(C) A、enum 类型 B、struct 类型 C、String 类型 D、int 类型18、 以下的 C代码: static void Main(string args)Console.W
8、riteLine(“运行结果:0“,Console.ReadLine();Console.ReadLine();代码运行结果为 答案:(D) A、在控制台窗口显示“运行结果:” B、在控制台窗口显示“运行结果:0” C、在控制台窗口显示“运行结果:,ConsoleReadLine” D、如果用户在控制台输入“ A”,那么程序将在控制台显示“运行结果:A”19、 有关数组说法不正确的是 答案:(A) A、数组的内存是分配在栈中 B、数组的索引从零开始的 C、数组是一种数据结构,它包含若干相同的类型的变量 D、数组可以是一维、多维、交错的20、 在.NET 中,Hashtable 类所在的命名空间
9、是 答案:(C) A、System.Threadint B、System.IO C、System.Collections D、System21、 关于定义数组定义不正确的是 答案:(C) A、int numbers=1,2,3,4,5,6; B、int numbers=new int6; C、int numbers=new int23; D、var a=new1,2,3,4,5,6;22、 在 C#中,下列代码的运行结果是 Int num = new int51,3,2,0,0Array,Reverse(num);Foreach(int I in num)Console.Write(i);答案
10、:(D) A、00123 B、12300 C、00132 D、0023123、 下列属性定义不正确的是 答案:(C) A、public int IDget;set; B、public int IDget; private set; C、public int IDget; D、prviate int id=0;public int IDgetreturn id;setid=value;24、 在 C#中,( )访问修饰符修饰的变量只能由当前程序集访问 答案:(C) A、public B、protected C、internal D、private25、 在 C语言中,下列关于属性的描述正确的是
11、答案:(B) A、属性系是以 public关键字修饰的字段,以 public关键字修饰的字段也可称为属性 B、属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏 C、要定义只读属性只需在属性名前加上 readonly关键字 D、在 C#的类中不能自定义属性26、 有关索引器说法不正确的是 答案:(C) A、索引器允许类或结构体的实例就像数组一样进行索引 B、索引器类似于属性,不同之处在于他们的访问器采用参数 C、索引器不可被重载 D、索引器不必根据整数值进行索引,由你决定如何定义特定的查找机制27、 在 C#中,下列代码的运行结果是( ) Int num =new int1,3,
12、5;ArrayList arr=new ArrayList();for(int i=0;i num.Length;i+)arr.Add(numi);arr.Insert(1,4);console.Write(arr2);答案:(B) A、1 B、3 C、4 D、528、 针对下面的 C#代码: using System;delegate void D(int i);class Ppublic static void Main()V(new D(R);public static void R(int t) V(21);public static void V(int i)Console.Writ
13、eLine(i.ToString();Console.ReadLine();以下说法正确的是 答案:(B) A、代码中存在错误,delegate voidD(int i);不能定义在名称空间或者类之外 B、代码中存在错误,代码行 V(new D(R);使用委托错误 C、程序正常运行,输出为 0 D、程序正常运行,输出为 2129、 在.NET 中,一些数据类型为引用类型,当引用类型的值为( )时,表明没有引用任何对象。 答案:(B) A、Empty B、null C、Nothing D、030、 阅读以下的 C代码: class Apublic A( ) Console.WriteLine(“
14、A“);class B:Apublic B()Console.WriteLine(“B“);class Programpublic static void Main()B b = new B();Console.ReadLine();上述代码运行后,将在控制台窗口输出 答案:(C) A、 A B、 B C、 A B D、 B A31、 接口是一种引用类型,在接口中可以声明( ),但不可以声明公有的域或私有的成员变量 答案:(A) A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段;32、 哪个选项不可以作为接口成员? 答案:(C) A、方法 B、属性
15、 C、字段 D、事件33、 以下 c#代码: using System.Threading;class Apppublic static void Main()Timer timer = new Timer(new TimerCallback(CheckStatus),null,0,2000);Console.Read();static void CheckSatus(Object state)Console.WriteLine(“正在进行检查.“)在使用代码创建定时器对象的时候,同时指定了定时器的事件,运行时将每隔两秒打印一行“正在运行检查”,因此,TimerCallback 是一个( )
16、答案:(A) A、委托 B、结构 C、函数 D、类名34、 有关接口的实现说法不正确的是 答案:(D) A、实现接口的类,类中对应的成员必须是公共的、非静态的,并且与接口成员具有相同的名称和签名 B、接口实现分位显示实现和隐式实现 C、如果类继承多个接口,并且含有具有相同成员名称的两个接口,如果我们实现接口成员的话,必须使用显示实现接口的方式 D、类的属性和索引器可以为接口上定义的属性或索引器定义额外的访问器35、 有关属性(System.Attribute)是根据预处理标识符执行方法的属性类型是 答案:(C) A、ConditionalAttribute B、ObsoleteAttribut
17、e C、DllImportAttribute D、AttributeUsageAttribute36、 下列关于 C# 中索引器理解正确的是 答案:(C) A、索引器的参数必须是两个或两个以上 B、索引器的参数类型必须是整数型 C、索引器没有名字 D、以上皆非37、 有关属性(System.Attribute)是用于 P/Invoke的属性类型是 C 答案:(C) A、ConditionalAttribute B、ObsoleteAttribute C、DllImportAttribute D、AttributeUsageAttribute38、 public static void Main
18、()tryConsole.WriteLine(“try“);ThrowException();catch(Exception e)Console.WriteLine(“catch“);finallyConsole.WriteLine(“finally“);请问代码运行结果是 答案:(A) A、try catch finally B、try C、try catch D、try finally 判断题(共 5题,每题 4分)1、 C#中,数组的基类为 Array,委托的基类 MulticastDelegate 答案:(T) 正确 错误2、 delegate、event、var、extern 分别为:用于声明委托的关键字、用来声明事件的关键字、用于声明局部匿名类型的关键字、用于表示不安全上文的关键字 答案:(F) 正确 错误3、 C#中能使用 foreach遍历访问的对象需要实现 IEnumerable接口或声明 GetEnumerator方法类型 答案:(T) 正确 错误4、 C#中,用于获取值类型的大小的关键字为 indexof,用于在栈中分配内存空间的关键字为 stackalloc 答案:(F) 正确 错误5、 在面对对象的开发中,对象就是现实世界中事物的抽象 答案:(T) 正确 错误