《C#题库(38页).doc》由会员分享,可在线阅读,更多相关《C#题库(38页).doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-C#题库-第 38 页C#试题库一.选择题(每题2分,共20分)1.C#的数据类型有( ) a)值类型和调用类型; b)值类型和引用类型; c)引用类型和关系类型; d)关系类型和调用类型; 2.下面描述错误的是( )a)窗体也是控件; b)窗体也是类; c)控件是从窗体继承来的; d)窗体的父类是控件类;3.要从派生类中访问基类的成员,应该使用关键字( )a)new b)this c)base d)override4下面有关虚拟方法和抽象方法的说法,正确的有( )a)二者都不提供方法的实现代码 ; b)二者都不能使用private修饰符; c)一个方法可以同时使用virtual 和abst
2、ract修饰符; d)虚拟方法可以作为抽象方法的重载实现;5.要创建多文档应用程序,需要将窗体的( )属性设为true. a)DrawGrid; b)ShowInTaskbar; c)Enabled; d)IsMdiContainer;6.下列关于构造函数的描述正确的是( ) a)构造函数可以声明返回类型. b)构造函数不可以用private修饰 c)构造函数必须与类名相同 d)构造函数不能带参数7.String类的下列方法中,返回类型不为String的有( )a)IndexOf b)Trim c)Replace d)CopyTo8.接口是一种引用类型,在接口中可以声明( ),但不可以声明公有
3、的域或私有的成员变量a)方法.属性.索引器和事件; b)方法.属性信息.属性; c)索引器和字段; d)事件和字段; 9. 委托类型DG1的定义为delegate float DG1(int a,ref double b);那么下列委托对象的创建表达式中合法的有( ): a)DG1 dg1=delegate return 0.3; b)DG1 dg2=delegate return a; c)DG1 dg3=delegate (int a,ref double b) return a; d)DG1 dg4=delegate (int a,ref double b) return a/b; 10
4、. 使用以下代码段的遍历器,其遍历输出结果为( )For (int x=0,y=0;x10;y+=+x)If (x%3=2) Continue;Yield return y;a)0,1 b) 1,6,10,21,28,45c)0,1,6,10,21,28,45 d)0,1,3,6,10,15,21,28,36,451.在C#中,一个类( ).A.可以继承多个类B.可以实现多个接口C.在一个程序中只能有一个子类D.只能实现一个接口2.NET中,程序中的错误可以划分为以下三类,除了( ).A.逻辑错误B.运行时错误C.语法错误D.自定义错误3.程序运行过程中发生的错误,叫作( )A.版本B.断点C
5、. 属性D. 异常4.在.NET中,一些数据类型为引用类型,当引用类型的值为( )时,表明没有引用任何对象.A.EmptyB.nullC.NothingD.05.以下的C代码:static void Main(string args)Console.WriteLine(运行结果: 0,Console.ReadLine();Console.ReadLine();代码运行结果为( )A.在控制台窗口显示“运行结果:”B.在控制台窗口显示“运行结果:0”C.在控制台窗口显示“运行结果:,ConsoleReadLine”D.如果用户在控制台输入“ A”,那么程序将在控制台显示“运行结果:A”6.在.N
6、ET的WinForms程序中,可以使用( )对象来连接和访问数据库.A.MDIB.JITC.ADO.NETD.System.ADO7.以下c#代码:using System.Threading;class App public static void Main() Timer timer=new Timer(new TimerCAllback(CheckStatus),null,0,2000);Console.Read(); static void CheckSatus(Object state)Console.WriteLine(正在进行检查.)在使用代码创建定时器对象的时候,同时指定了定时
7、器的事件,运行时将每隔两秒打印一行“正在运行检查.”,因此,TimerCallback是一个( ).A.委托B.结构C.函数D.类名8.委托对象DG1的定义为public delegate float DG1(int a,ref double b); 下列委托对象的创建表达式中合法的是( )A.DG1 dg1=delegatereturn 0.3; ; B. DG1 dg2=delegatereturn a; ; C. DG1 dg3=delegate(int a,ref double b)return a; ;D. DG1 dg4=delegate(int a,ref double b)re
8、turn a/b; ;9.下列关于C#的异常处理的说发法,错误的是( ).A.Try块必须跟catch块组合使用,不能单独使用B.一个try块可以跟随多个catch块,每个catch语句处理不同的异常C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常D.在try catch .finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行10.在.NET中,File类所在的命名空间是( )A.System.ThreadintB.System.IOC.System.CollectionsD.System11.使用File类的下列方法打开文件时,如果指
9、定文件不存在时会引发异常的是( ).A.AppendAllTextB. AppendTextC.OpenReadD.OpenWrite12.以下的C#代码,试图用来定义一个接口:Public interface IFileInt a;Int delFile()A=3;Void disFile();关于以上的代码,以下描述正确的是( )A以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误; B以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数; C代码void disFile();声明无错误,接口可以没有返回值; D代码vo
10、id disFile();应该编写为void disFile();13.通过程序拨打手机时,如果手机号码中含有非数字字符应引发( )异常,而如果号码是空号应引发( )异常.AArithmeticException B.OverflowExceptionC.FormatException D.IndexOutOfRangeException14.利用Delegate类能够判断出一个委托对象所封装方法的哪些信息( )A调用方法的类型或对象B方法是实例方法还是静态方法C方法是命名方法还是匿名方法D方法是普通方法还是泛型方法15对于一个新打开的可读性流对象sm,执行下列代码后其position属性值为
11、( ).Sm.seek(5,seekorigin.begin);Sm.readbyte();s.read(new byte20,6,10)A.26 B.18 C.17 D.1616.在向流中写入数据时,StreamWriter对象的默认字符编码格式为( ).A.ASCII B.UTF-7 C.UFT-8 D.Unicode17.执行完下面的程序后,变量j的最终值为( ) Int i=0,j=1;Thread t1=new thread(delegate()For (i=0;i1000;i+)Console.write(j+);)Thread t2=new thread(delegate() j
12、*=2;);T1.start();T2.start();A.2002 B.1001 C.1002 D.不确定18.对主线程调用下面的方法,会引发异常的有( ),会引起死锁的有( ).AAbort B.Interrupt C.Join D.Start19.在C#中,下列常量定义正确的是( ).(选择一项)A.Const double PI 3.1415926;B.Const double e=2.7C.define double PI 3.1415926D.define double e=2.720.以下c#代码:using System.Threading;class App public s
13、tatic void Main() Timer timer = new Timer(new TimerCallback(CheckStatus),null,0,2000); Console.Read(); static void CheckSatus(Object state) Console.WriteLine(正在进行检查.)21.在使用代码创建定时器对象的时候,同时指定了定时器的事件,运行时将每隔两秒打印一行“正在运行检查.”,因此,TimerCallback是一个( ).(选择一项)A.委托B.结构C.函数D.类名22.在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除
14、了( ).(选择一项)A.只读属性B.只写属性C.读写属性D.不可读不可写的属性23. 阅读以下的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);24.请问代码运行结果是( ).
15、(选择一项)A.try catch finallyB.tryC.try catchD.try finally25.在C#中,一个类( ).(选择一项)A.可以继承多个类B.可以实现多个接口C.在一个程序中只能有一个子类D.只能实现一个接口26.针对下面的代码: using System; class Teststringpublic static void Main() String strOriginal; strOriginal = Console.ReadLine(); bool A = strOriginal.Equals(A); Console.WriteLine(A.ToStrin
16、g(); int B = strOriginal.Length; Console.WriteLine(B.ToString(); Console.ReadLine();27. 程序运行时输入.“”(五个A的前面有三个空格)则程序输出为( )(选择一项)A.0 8B.False 8C.1 8D.False 528.以下的C代码段: public struct Person string Name; int Age; public static void Main() Hasbtable A; Person B; /其他处理代码 以下说法正确的是( ).(选择一项)A.A为引用类型的变量,B为值类
17、型的变量B.A为值类型的变量,B为引用类型的变量C.A和B都是值类型的变量D.A和 B都是引用类型的变量29.以下的C代码: static void Main(string args) Console.WriteLine(运行结果: 0,Console.ReadLine(); Console.ReadLine();代码运行结果为( ).(选择一项)A.在控制台窗口显示“运行结果:”B.在控制台窗口显示“运行结果:0”C.在控制台窗口显示“运行结果:,ConsoleReadLine”D.如果用户在控制台输入“ A”,那么程序将在控制台显示“运行结果:A”30.在C#中定义一个数组,正确的代码为(
18、 ).(选择一项)A.int arraya = new int5;B.int arraya = new int5;C.int arraya = new int;D.int5 arraya = new int;31.在C语言中,下列关于属性的描述正确的是( )(选择一项)A.属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏C.要定义只读属性只需在属性名前加上readonly关键字D.在C#的类中不能自定义属性32.程序运行过程中发生的错误,叫作( )(选择一项)A.版本B.断点C.异常D.属性3
19、3.在NET框架类库中,所有与多线程机制应用相关的类都放在( )命名空间中.(选择一项)A.System.SysThreadB.System.ThreadC.System.ThreadingD.NetException34.在NET的控件中,Panel.GroupBox.TabControl等分组控件,有时候也被称之为( ).(选择一项)A.容器控件B.组合控件C.排列控件D.基类控件35.阅读以下的C代码: class A public A( ) Console.WriteLine(A); class B:A public B() Console.WriteLine(B); class Pr
20、ogram public static void Main() B b = new B(); Console.ReadLine();上述代码运行后,将在控制台窗口输出( ).(选择一项)A. AB. BC. A BD.B A36.在.NET中,以下关于命名空间的描述,正确的是( ).(选择一项)A.命名空间不可以进行嵌套B.任一个.cs文件中,只能存在一个命名空间C.便用private修饰的命名空间,其内部的类也不允许访问D.命名空间使得代码更加有条理.结构更清晰37.NET中,程序中的错误可以划分为以下三类,除了( ). (选择一项)A.逻辑错误B.运行时错误C.语法错误D.自定义错误38.
21、针对下面的C#代码: using System; delegate void D(int i); class P public static void Main() V(new D(R)); public static void R(int t) V(21); public static void V(int i) Console.WriteLine(i.ToString(); Console.ReadLine(); 以下说法正确的是( )(选择一项)A.代码中存在错误,delegate voidD(int i);不能定义在名称空间或者类之外B.代码中存在错误,代码行V(new D(R);使用
22、委托错误C.程序正常运行,输出为0D.程序正常运行,输出为2139.(abc)|(def)能匹配的是( )A.”abcdef”B.”abcd”C.”abc”D.”cdef”40.以下关于C#中方法重载的说法正确的是( ).(选择二项)A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载41.在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字.(选择一
23、项)A.overrideB.newC.staticD.virtual42.在.NET中,Hashtable类所在的命名空间是( )(选择一项)A.System.ThreadintB.System.IOC.System.CollectionsD.System43.在C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中,有( )处实现了拆箱.(选择一项)int age = 5;object o= age;o=10;age=(int)o;object oAge =age;A.0B.1C.2D.344.在C#中,下列代码的运行结果是( ) . (选择一项)Intnum =new i
24、nt1,3,5;ArrayList arr=new ArrayList();For(int i=0;inum.Length;i+) arr.Add(numi);arr.Insert(1,4);console.Write(arr2);A.1B.3C.4D.545.C#中关于委托,下面说法正确的是( ).(选择两项)A.委托是一种类的成员B.委托必须定义在类中 C.定义委托需要使用delegate关键字D.委托是一种数据类型46.下列关于C#的异常处理的说发法,错误的是( ).(选择二项)A.Try块必须跟catch块组合使用,不能单独使用B.一个try块可以跟随多个catch块C.使用throw
25、语句既可引发系统异常,也可以引发由开发人员创建的自定义异常D.在try catch .finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行47.在.NET中,一些数据类型为引用类型,当引用类型的值为(B)时,表明没有引用任何对象.(选择一项)A.EmptyB.nullC.NothingD.048.在C#中,接口与抽象基类的区别在于( ).(选择一项)A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法B.抽象基类可以被实例化,而接口不能被实例化C.抽象基类不能被实例化,而接口可以被实例化D.抽象基类能够被继承,而接口不能被继承49.ADO.NET中的DataVi
26、ew控件可以用来筛选数据集中的数据项,以下的代码用来选择数据集中年龄小于24的员工:DataView V = new DataView(mydataSet.Tables0);(1)/此处填写正确的代码则(1)处应该填写的正确代码为( ).(选择一项)A.V.RowFilter = Age 24;B.V.RowFilter = Select Age From V Where Age 24;C.V.Excute(Select Age From V Where Age 24);D.V.Excute(Age b?a:b; Max = cMax?c:Max;A.0B.5C.10D.1567.在Winfo
27、rms窗体中,有一名为txtUser的TextBox控件,其MaxLength属性为5,该控件的当前文本为“网络编程”,若再执行代码: txtUser.AppendText(“高手”);则控件的文本为( ). (选择一项)A.网络编程B.网络编程高C.网络编程高手D.出现运行时错误68.在ADO . NET中,为了执行一个存储过程,需要把Command对象的CommandType属性设置为( ).A.CommandType . StoredProcedureB.CommandType . TableDirectC.CommandType . TextD.CommandType . Sql69.
28、看代码回答问题 建表如下: create table stuInfo stuId int not null, stuName varchar(30) not null, stuAddress varchar(30),看下面C#代码填空,要读取表中的第一列数据(已知sqlCmd为SqlCommand对象,sqlReader为SqlDataReader对象 ) While(sqlReader._ ) Console.writeLine(sqlReader._);A.Read() GetInt(0)B.Next() GetValue(0)C.Read() GetValue(1)D.Read() Ge
29、tValue(0)70.在.Net中,关于CLR和IL,以处描述正确的是()(选择一项)A.应用程序在CLR环境被编译成IL,IL将能够被任何计算机指令性集成B.应用程序被编译两次,第一次生成IL,IL在运行时候被CLR快速编译C.应用程序被编译两次,但是第二次CLR编辑比第一次慢D.借取CLR,IL被编译成机器代码并且能够在不同的计算机指令集下被执行71.CLR为.NET提供以下方面的功能或者服务除了().(选择一项)A.无用存储单元收集B.代码验证和类型安全C.代码访问安全D.自动消除程序中的逻辑错误72.在对SQL Server 数据库操作时应选用(a).a)SQL Server .NE
30、T Framework 数据提供程序; b)OLE DB .NET Framework 数据提供程序; c)ODBC .NET Framework 数据提供程序; d)Oracle .NET Framework数据提供程序;73.下列选项中,(c)是引用类型.a)enum类型 b)struct类型 c)string类型 d)int类型 74.关于ASP.NET中的代码隐藏文件的描述正确的是(a) a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互.编程逻辑唯一与用户界面不同的文件中.该文件称作为“代码隐藏”文件,如果用C创建,该文件将具有“.ascx.cs”扩展名. b)项目
31、中所有Web窗体页的代码隐藏文件都被编译成.EXE文件. c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件. d)以上都不正确. 75.以下描述错误的是(a) a)在C+中支持抽象类而在C#中不支持抽象类. b)C+中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员. c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员. d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override.76.C#的数据类型有() a)值类型和调用类型; b)值类型和引用类型; c)引用类型和关系类型; d)
32、关系类型和调用类型; 77.下列描述错误的是() a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口;78.在DOM中,装载一个XML文档的方法() a)save方法 b)load方法 c)loadXML方法 d)send方法 79.下列关于构造函数的描述正确的是() a)构造函数可以声明返回类型. b)构造函数不可以用private修饰 c)构造函数必须与类名相同 d)构造函数不能带参数 80.以下是一些C#中的枚举型的定义,其中错误的用法有() a)public enum var1 Mike =
33、 100, Nike = 102, Jike b)public enum var1 Mike = 100, Nike, Jike c)public enum var1 Mike=-1 , Nike, Jike d)public enum var1 Mike , Nike , Jike 81.int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2; myArray322的值是()a)9 b)2 c)6 d)越界 82.接口是一种引用类型,在接口中可以声明( ),但不可以声明公有的域或私有的成员变量a)方法.属性.索引器和事件; b)方法.属性信息.属性; c)索引器和字段; d)事件和字段; 83.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的.服务器控件有两种类型,它们是() a)HTML控件和Web控件 b)HTML控件和XML控件 c)XML控件和Web控