收藏 分销(赏)

试题--C#(有答案).doc

上传人:仙人****88 文档编号:8553843 上传时间:2025-02-18 格式:DOC 页数:12 大小:107.50KB
下载 相关 举报
试题--C#(有答案).doc_第1页
第1页 / 共12页
试题--C#(有答案).doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
1、声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是 (2)   1. void myCallBack(int x)   2. int receive(int num)   3. string receive(int x)   4. 不确定的 2、以下关于事件说法错误的是( D )。(单选) A. 事件处理需要定义事件、订阅事件和引发事件。 B. 如果没有对象订阅事件,在事件被引发时,将会引发异常。 C. 一个事件可以有多个订阅者。 D. 派生类可以继承在基类中定义的事件。 3、 Public delegate int Call(int num1,int num2); 对于这个委托下面的说法错误的是( BCD )。(多选) A. 可以用static int Exa(int I,int j){}方法来实例化这个委托。 B. 委托不能关联静态方法。 C. 可以用void Exa(int I,int j){}方法来实例化这个委托。 D. 一个委托不可以委托多个方法 4、以下说法正确的是( )。(多选) A. 属性提供了对类中字段的保护。 B. 索引器不可以像方法一样进行重载。 C. 使用委托的意义在于动态调用方法。 D. 事件的发行者不可以订阅该事件。 5、下列选项中,错误的是( C )。(单选) A. 接口成员的访问级别默认是公开的。 B. 一个类可以同时实现几个接口。 C. 派生类用override关键字实现接口中的方法。 D. 如果一个类具有基类并实现接口,那么基类必须写在接口的前面 6、下列选项中,错误的是( AC )。(多选) A. 抽象类的派生类必须实现抽象类的所有方法。 B. 使用override关键字可在派生类中重写抽象方法。 C. 抽象类中的方法必须是抽象方法。 D. 如果将一个类指定为抽象的,则必须使用abstract关键字。 7、下列选项中,错误的是( D )。(单选) A. override 能重写abstract override 和virtual 修饰的方法 B. Virtual访问修饰符不能与static访问修饰符一同使用。 C. New访问修饰符不能和override访问修饰符同时出现在一个方法里。 D. New能够重写父类中的抽象方法。 8、用( ABC )关键字修饰的方法,可以在其派生类中被重写。(单选) A. override B. abstract C. virtual D. interface 9、以下选项中,( D )为“IS A”关系。(单选) A. 北京和中国 B. 田径比赛和奥运会 C. 老师和北大青鸟 D. 城市和首都 10、下列关于构造函数的描述正确的是( C )。(单选) A. 构造函数返回void类型。 B. 构造函数不可以用private修饰 C. 构造函数不返回任何值 D. 构造函数不能带参数 11、类成员的默认访问修饰符为( D )。(单选) A. public B. internal C. protected D. private 12、下列选项中,错误的是( B )。(单选) A. 结构中可以包含方法和数据成员。 B. 只能为结构中的数据成员赋一次值。 C. 结构不能像类一样实现继承。 D. 枚举是一组已命名的数值常量。 13、下列数组声明,语法错误的是( BCD )。(多选) A. int[] numbers; B. int[2] numbers; C. byte[5][] scores; D. string names[]; 14、下列关于C#中索引器理解正确的是(D)。(选择一项) A、索引器的参数必须是两个或两个以上 B、索引器的参数类型必须是整数型 C、索引器没有名字 D、以上都不对 15、C#中,声明一个带参数的Main方法,代码为(C)。(选择一项) A、 public static void Main() B、 public static void Main(String[]) C、 public static void Main(String[] args) D、 public static void Main(String * args) 16、.NET的框架中的公共语言运行库提供的服务包括()。(选择两项) A、 提供通用语言规范 B、 类库的加载 C、 提供移动互连网工具集 D、 垃圾收集 17、(D)关键字用于在C#中从派生类中访问基类的成员。(选择一项) A、new B、super C、this D、base 18、( B )命名空间在.NET Framework中又称为根命名空间. A、System.IO B、System C、System.Threading D、System.Data 19、( D )就是将值类型转换为引用类型。 A、拆箱 B、数据转换 C、值转换 D、装箱 20、命名空间用于( C )。 A、重载方法 B、初始化变量 C、简化命名冲突 D、模拟对象 21、下面( B )不可重载. A、方法 B、属性 C、索引器 D、委托 22、属性的( B )访问器用于将值赋给类的私有实例变量. A、get B、set C、this D、value 23、所有c#的异常都派生自( B )类. A、Windows B、Exception C、SystemException D、CommonException 24、C#中,数组索引从( C )开始. A、1 B、-1 C、0 D、以上都不是 25、所有Windows控件都是从( )类派生的类 A、System.Windows.Forms.Control B、System.Windows.Forms.Controls C、System.Forms.Control D、以上都不是 26、值类型存储在( A )中 A、堆栈 B、堆内存 C、队列 D、列表 27、System的( A )命名空间提供一组接口和类,让用户可以对一组数据元素执行集合操作. A、Collections B、Data C、Refelection D、Assembly 28、用户可以通过( D )类将数据作为一组键值对来存储,这些数据是根据键值进行组织的. A、ArrayList B、Array C、IList D、Hashtable 29、线程实例的( A )方法用于开始执行线程. A、Start() B、Begin() C、Execute() D、Run() 30、C#编译器将C#程序编译成什么样的代码?(C) A. 汇编语言代码 B. 机器语言代码 C. 微软中间语言代码 D. 二进制代码 31、.NET中的所有代码都由( B )管理,因此又称为“托管代码”。(单选) A. MSIL B. CLR C. JIT D. CRL 32、在C#中,下列代码的运行结果是:(B) int a = 30; int b = 20; b = a; a = 10; Console.WriteLine(a); Console.WriteLine(b); A、10 10 B、10 30 C、30 20 D、10 20 33、在C#中,下列代码的运行结果是(C)(选择一项) static void Main() { int [] num = new int[] {1,2,3,4,5}; Array.Reverse(num); foreach(int i in num) { Console.Write(i); } } A、00000 B、12345 C、54321 D、不确定 34、在C#中,可以通过装箱和拆箱实现值类型和引用类型之间的相互转换,在下列代码中,有(C)处实现了装箱。(选择一项) int age = 5; object o = age; o = 10; age = (int)o; object oAge = age; A、1 B、2 C、3 D、4 35、下列错误的是( A )。(多选) A. Array ar = new Array(); B. Hashtable对象中的key值必须是唯一的。 C. ArrayList只能有一个维,而Array可以有多个维。 D. ArrayList类和Array类同属于System.Collections命名空间。 36、分析下面代码:() abstract class BaseClass { public virtual void MethodA() { Console.WriteLine("BaseClass"); } public virtual void MethodB() { Console.WriteLine(“BaseClass:MethodB”); } } class Class1: BaseClass { public void MethodA() { Console.WriteLine("Class1"); } public override void MethodB() { Console.WriteLine(“Class1:MethodB”); } } class MainClass { public static void Main(string[] args) { BaseClass o = new Class1(); o.MethodA();  o.MethodB();  } } 请问,此程序输出结果是: (C) A. BaseClass BaseClass:MethodB B. Class1 BaseClass:MethodB C. BaseClass Class1:MethodB D.Class1 Class1:MethodB 37、分析下面的代码:() class A { public A() { PrintFields(); } public virtual void PrintFields() { Console.WriteLine("x={0},y={1}",5,6); } } class B:A { int x=1; int y; public B() { y=9; } public override void PrintFields() { Console.WriteLine("x={0},y={1}",x,y); } public static void Main() { new B (); } } 此示例的输出结果应为( D )。(单选) A. X=5,y=6 X=1,y=9 B. X=5,y=6 C. X=1,y=9 D. X=1,y=0 38、以下的C#代码,用来判断两个整数是否相等: class C { static void Main(string [] args) { int A; int B; if A = B Console.Write("A = B"); } } 代码中存在的错误包括以下的几项,除了(D)(选择一项) A、 变量A和B在使用以前,必须进行赋值 B、 判断A 和B是否相等,应使用“==”符号 C、 A和B是否相等的判断,应使用括号括起来 D、 If下面的执行代码,应使用花括号括起来 39、任何控件只要有什么属性 就可以随意的向该控件中添加子控件?(D) A、ControlAdded B、Control C、TextBox D、Controls 40.下列选项中,(C)是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 41.已知有如下声明:int[][] myArray3=new int[3][] {newint[3]{5,6,2}, new int[5]{6,9,7,8,3}, new int[2]{3,2}}; 请问: myArray3[2][2]的值是(D)。 A、9 B、2 C、6 D、越界 42.  以下的C#代码段:() Public struct person { string Name; int Age; } public static void Main() { Hashtable A; Person B; } 以下说法正确的是(A)。(选择一项) A、  A为引用类型的变量,B为值类型的变量 B、 A为值类型的变量,B为引用类型的变量 C、 A和B都是值类型的变量 D、  A和B都是引用类型变量 43.下面描述错误的是(C)。 A、窗体也是控件; B、窗体也是类; C、控件是从窗体继承来的; D、窗体的父类是控件类; 44、下面的代码实现了设计模式中的什么模式(C)   public class A {   private A instance;   private A() {   }   public static A Instance {   get   {   if ( A == null )   A = new A();   return instance;   }   }   }   A. Factory   B. Abstract Factory   C. Singleton   D. Builder 45、阅读代码: class Class1 { public static int Count = 0; static Class1() { Count++; } public Class1() { Count++; } } Class1 o1 = new Class1(); Class1 o2 = new Class1(); 请问,Class1.Count的值是多少?( D) A、1 B、2 C、3 D、4 46、三种常用的字符串判空串方法:()   1、bool isEmpty = (str.Length = = 0);   2、bool isEmpty = (str = = String.Empty);   3、bool isEmpty = (str = = ""); 4、boll isEmpty = (str.Equals(""))   哪种方法最快?   A、1   B、2   C、3 D、4 47、 根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?(B) public void test(int i) { lock(this) { if (i>10) { i--; test(i); } } } A、会锁死 B、不会锁死 48.  下面的C#代码用来执行文件拷贝: using System; using System.IO; class Copy { static void Main(string[] args) { Directory.CreateDirectory(“C#.NET”); File.Copy(“ACCP.TXT”,”C#.NET\\ACCP.TXT”); Console.ReadLine(); } } 假设当前目录下文件“ACCP.TXT”存在,以下说法正确是的(D)。(选择一项) A、  程序不能编译通过,因为File类中包含Copy方法,类名Copy产生重复 B、 程序不能编译通过,因为Directory、File没有被实例化 C、 程序能编译通过,但会产生运行时错误,因为创建的文件夹不允许包含“#”字符 D、 程序能编译通过,并且能够正确执行文件拷贝 49. 阅读以下的C#代码: public class TEApp { public static void ThrowException() { throw new Exception(); } public static void Main() { try { Console.WriteLine(“try”); ThrowException(); } catch(Exception e) { Console.WriteLine(“catch”); } finally { Console.WriteLine(“finally”); } } } 请问代码运行结果是(A)。(选择一项) A、  try catch finally B、  try C、  catch finally D、 try Finally 50. 在.NET中,以下都是System.IO中定义的类,除了()。(选择一项) a)  TextWriter b)  Stream c)  FileReader d)  FileSystemInfo
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服