C-考试题目大全_第1页
C-考试题目大全_第2页
C-考试题目大全_第3页
C-考试题目大全_第4页
已阅读5页,还剩199页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C#程应用开发》——单项选择题1.是独立于CPU的指令集,它可以被高效地转换为特定于某种CPU的代码。(C)CLR(公共语言运行库)CLS(公共语言规范)MSIL(微软中间语言)D.CTS(通用类型系统).在VisualStudio.NET窗口中,在窗口中可以察看当前项目的类和类型的层次信息。(B)A.解决方案资源管理器B.类视图C.资源视图D.属性.C#中每个int类型的变量占用个字节的内存。(C)124D.84.在C#中,表示一个字符串的变量应使用以下哪条语句定义?(B)A.CStringstr;stringstr;DimstrasstringD.char*str;5.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?(A)A.decimaltheMoney;B.inttheMoney;C.stringtheMoney;D.DimtheMoneyasdouble6.C#中,新建一字符串变量str,并将字符串〃Tom'sLivingRoom”保存到串中,则应该使用下列哪条语句?(A)A.stringstr="Tom\'sLivingRoom";stringstr="Tom'sLivingRoom;stringstr("Tom'sLivingRoom");stringstr("Tom"sLivingRoom");.C#中MyClass为一自定义类,其中有以下方法定义:publicvoidHelloO{,,,}使用以下语句创建了该类的对象,并使变量obj引用该对象,那么,访问类MyClass的Hello方法正确的是(A)MyClassobj=newMyClass();obj.HelloO;obj::HelloO;MyClass.HelloO;MyClass::Hello();.分析下列C#语句,注意类MyClass没有访问修饰符:namespaceClassLibraryl(classMyClass(publicclasssubclass{inti;}))若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择o(D)A.privateB.protectedC.internalD.public.分析下列程序:publicclassclass4(privatestringsData= ;publicstringsData{set{_sData=value;}}}在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?A.obj.sData='Itisfunny!”;B.Console.WriteLine(obj.sData);C.obj.sData=100;D.obj.set(obj.sData);10.分析下列程序中类MyClass的定义classBaseClass{publicinti;}classMyClass:BaseClass{publicnewinti;}则下列语句在Console上的输出为.(D)MyClassy=newMyClass();BaseClassx=y;x.i=100;Console.WriteLine("{0},{1}",x.i,y.i);〃(提示:注意类MyClass中存0,0100,1000,100100,0(B)■Jnew关键字).在定义类时,如果希望类的某个方法能够在派生类中进ー步进行改进,以处理不同的派生类的需要,则应将该方法声明成 C.sealed方法public方法virtua!方法override方法.类MyClass中有下列方法定义:publicvoidtestParams(paramsint[]arr){Console.Write("使用Params参数!”);}publicvoidtestParams(intx,inty){Console.Write("使用两个整型参数!");)请问上述方法重载有无二义性?若没有,则下列语句的输出为ーC—.MyClassx=newMyClass();x.testParams(0);x.testParams(0,1);x.testParams(0,1,2);A.有语义二义性;B.使用Params参数!使用两个整型参数!使用Params参数!C.使用Params参数!使用Params参数!使用Params参数!D.使用Params参数!使用两个整型参数!使用两个整型参数!C#程序中,可使用try..catch机制来处理程序出现的_Bー错误。A.语法B.运行C.逻辑D.拼写C#中,在方法MyFunc内部的try..catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则(A)NET运行时忽略该异常NET运行时马上强制退出该程序NET运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程NET抛出ー个新的“异常处理未找到”的异常.在C#中,下列!1条语句能创建一个具有3个初始值为〃〃的元素的字符串数组?stringStrList[3];string[3]StrList=string[]StrList= ""ゝ"つ;string[]StrList=newstring[3];.下列语句创建了多少个string对象?Dstring[,]strArray=newstring[3][4];0B.3C.4D.12.接口Animal定义如下:publicinterfaceAnimal(voidMoveO;}则下列抽象类的定义中,哪些是不合法的?AA.abstractclassCat:Animal{ abstractpublicvoidMove();}abstractclassCat:Animal{ virtualpublicvoidMoveO{ Console.Write(Console.Write(zzMove!");}}abstractclassCat:Animal{publicvoidMove(){Console.Write(Console.Write(z,Move!");}}abstractclassCat:Animal{publicvoidEat(){Console.Write(Console.Write(zzEat!zz);}}._C命名空间中的类和接口用于创建Web应用程序的页面?A.System.DrawingSystem.10System.Web.UISystem.Web.Service19.在使用FileStream打开ー个文件时,通过使用FileMode枚举类型的成员,来指定操作系统打开ー个现有文件并把文件读写指针定位在文件尾部。A.AppendB.CreateC.CreateNewD.Truncate.下列语句的输出是。doubleMyDouble=123456789;Console.WriteLineC{0:E}*,MyDouble);$123,456,789.001.234568E+008123,456,789.00D.123456789.00.下列哪个类型的对象是ADO.NET在非连接模式下处理数据内容的主要对象?A.CommandB.ConnectionC.DataAdapterD.DataSet.应用ADO.NET访问数据时,Connection对象的连接字符串中InitialCatalog子串的含义是:Connection对象连接到的数据库的名称Connection对象的身份验证信息Connection对象的最大连接时间Connection对象使用的缓存大小.在VisualStudio.NET中,新建DataAdapter对象后,可使用来配置其属性。A.数据适配器配置向导B.数据窗体向导C.服务器资源管理器D.对象浏览器.使用VisualStudio.NET的“新建C#项目”创建一个名为“SimpleForm”的Windows表单应用程序,则在生成文件中可设置该程序集的Copyright、Trademark等属性信息。Forml.resxSimpleForm,sinSimpleForm.csprojD.Assemblyinfo,cs.已知在某WindowsForm应用程序中,主窗口类为Forml,程序入口为静态方法Froml.Main。如下所示:publicclassForml:System.Windows.Forms.Form(//其他代码staticvoidMain()(〃在此添加合适代码}}则在Main方法中打开主窗口的正确代码是:A.Application.Run(newForml());Application.Open(newForml());(newForml()).Open();(newForml()).Run();26.在C#中,预处理器指令#region和#endregion的作用是:A.注释#region和#endregion之间的代码B.为CodeEditor定义ー・段可折叠代码区^region和#endregion之间的代码在Debug版本中不参加编译#region和#endregion之间的代码在Release版本中不参加编译.用鼠标右击ー个控件时出现的菜单一般称为:A.主菜单B.菜单项C.快捷菜单D.子菜单.变量openFileDialogl引用ー个OpenFileDialog对象。为检查用户在退出对话框时是否单击了“打开”按钮,应检查openFileDialogl.ShowDialogO的返回值是否等于;DialogResult.OKDialogResult.YesC.DialogResult.NoD.DialogResult.CancelC#程序屮,为使变量myForm引用的窗体对象显示为对话框,必须:A.使用myForm.ShowDailog方法显示对话框B.将myForm对象的isDialog属性设为trueC.将myForm对象的FormBorderStyle枚举属性设置为FixedDialogD.将变量myForm改为引用System.Windows.Dialog类的对象WindowsForm应用程序中,要求下压按钮控件Buttonl有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性Buttonl.FlatStyle的值应设定为:System.Windows.Forms.FlatStyle.FlatSystem.Windows.Forms.FlatStyle.PopupSystem.Windows.Forms.FlatStyle.StandardD.System.Windows.Forms.FlatStyle.System31.为保护WebService不受恶意访问的攻击,应使用保护WebService。IIS目录安全性NTFS安全性C.共享目录安全性TCP/IP安全性Web表单中,按钮的默认事件是Click事件Load事件Init事件Command事件Web窗体文件的扩展名为ASPASPXC.ASCXD.HTML.使用“新建项目一>VisualC#Projects项目一>ASP.NETWeb应用程序”成功创建URL为uhttp://localhost/MyWebw的Web表单应用程序后,项目文件将保存在:A.本地计算机Web站点的MyWeb虚拟目录下B.本地文件共享MyWeb中C.另一台名为localhost的计算机的Web站点的MyWeb虚拟目录下D.本地目录c:\MyDocuments\MyWeb下.关于ASP.NET窗体应用程序,下列说法哪些是正确的?Web窗体是在浏览器中进行解释执行的Web窗体程序中脚本和代码必须严格分开Web窗体程序产生的HTML页面只能运行于IE浏览器Web窗体程序的代码可以使用任何ー种.NET兼容的编程语言编写36.作为程序员,你需要为公司开发ー套供员工使用的个人信息管理软件。软件需求之一是:令每个员工可以在公司的任意一台安装有该程序的工作站匕以自己喜爱的自定义界面运行该程序。为满足该需求,程序应优先采取下列何种策略保存每位用户的自定义设置?A.将个人设置保存到本地计算机硬盘的XML文件中;B.将个人设置保存到公司的SQLServer数据库服务器中;C,将个人设置保存到本地计算机的注册表中;D,将个人设置保存到软盘中;.C#程序中,下列哪些预处理指令用于条件编译?A.ftifB.SifdefC.ftRegionD.#error.关于结构类型,下列说法哪些是正确的?A,结构是值类型B.结构中不允许定义带参数的实例构造函数;C.结构中不允许定义析构函数D.结构中可以定义成员方法,但是方法内不能使用this指针39..NET安全框架中,应用程序所属的“角色”是指:A.启动该程序的用户必须处于的Windows本地组B.该程序运行时使用哪个Windows用户账号访问系统资源.NET框架定义的ー组Principal对象的集合,符合这些Principal的程序就属于该角色.NET框架定义的ー组资源对象的集合,处于该组的程序可以访问该组的资源在类的定义中,类的描述了该类的对象的行为特征。A.类名B.方法C.所属的名字空间D,私有域.NET公共语言运行时的安全引擎为.NET托管程序代码的执行提供基于的安全机制。A.用户和密码B.证书C.证据D.数据加密ADO.NET使用命名空间的类访问SQLServer数据库中的数据。System.Data.OleDbSystem.Data.SqlClientC.System.Xml.SerializationD.System.10.在命令行下使用esc命令编译C#源程序时,可使用参数来说明生成Windows可执行文件。A./target:exeB./target:winexeC./target:1ibraryD./target:module.,个多文件程序集中包含1个程序集清单文件、3个模块文件和2个资源文件。下列哪些信息包含在模块文件的元数据中?A.程序集名称B.程序集引用的的文件列表C.本模块代码D.本模块中声明的数据类型信息.下列哪些选项是.NET异常处理的特点?A..NET异常对象是一种特殊格式的32位整型值B.C#代码中抛出的异常对象,只能在C#编写的代码中捕获C.无法跨越进程边界引发和捕获异常对象D.不同编程语言抛出/捕获异常对象的句法可以不同.以下类MyClass的属性count属于属性.classMyClassinti;intcountget{returni;}))A.只读B.只写C.可读写D.不可读不可写.在编写ASP.NET页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入事件处理程序中。A.页面的LoadB.页面的initC.页面的PreRenderD.页面的Disposed消息.程序集MyWork.dll部署在E:\MyWork、下,则该程序集的配置文件应保存在:A.E:\文件夹下E:\MyWork、文件夹下E:\MyWork\MyWork文件夹下E:\MyWork\MyWork.dllX文件夹下49.某程序集的版本为:“12”,则该程序集的次版本号为:A.0B.1C.2D.11250.类MyClass中,下列哪条语句定义了,一个只读的属性Count?A.privateintCount;B.privateintcount;publicintCount{get{returncount;}}C.publicreadonlyintCount;D.publicreadonlyintCount{get{returncount;}set{count=value;}}51.C#中的类型float对应.NET类库中的A.System.SingleB.System.DoubleC.System.Int32D.System.Int6452.判断下列类MyClass的定义中哪些是合法的抽象类?A.abstractclassMyClass{publicabstractintgetCount();}B.abstractclassMyClass{abstractintgetCount();}privateabstractclassMyClass{abstractintgetCount();}D.sealedabstractclassMyClass{abstractintgetCount();}.在自定义的类MyClass中,应重载继承自System.Object类的哪个方法,以实现自定义的哈希算法?A.GetHashCodeB.EqualsC.ReferenceEqualsD.ToString.已知接口IHello和类Base.MyClass的定义如下interfaceIHello{voidHelioO;}classBase:IHello{publicvoidHelioO{System.Console.WriteLineC^HelloinBase!");}}classDerived:Base{publicvoidHelloO{System.Console.WriteLine("HelloinDerived!");}}则下列语句在控制台中的输出结果为〇IHellox=newDerived();x.HelloO;A.HelloinBase!B.HelloinDerived!C.HelloinBaseIHelloinDerived!HelloinDerivedIHelloinBase!..55.为了将字符串str;“123,456”转换成整数123456,应该使用以下哪条语句?A.intNum=int.Parse(str);B.intNum=str.Parse(int);C.intNum=(int)str;D.intNum=int.Parse(str,Globalization.NumberStyles.AllowThousands);56.已知结构Resource的定义如下:structResource{publicintData=0;}则下列语句的运行结果为Resource[]list=newResource[20];for(inti=0;i<20;i++){System.Console.WriteLine(udata={0}M,list[i].Data);}A.打印20行,每行输出都是data=0B.打印20行,每行输出都是data=nullC.打印20行.第1行输出data二〇,第2行输出data=2,.,第20行输出data=19D.出现运行时异常.分析下列语句:namespaceTestCS{publicdelegatevoidHello(stringtarget);}该语句的作用是:A.在TestCS命名空间中定义了一个名为Hello的全局方法;B.在TestCS命名空间中声明了函数Hello的原型;C.在TestCS命名空间中定义了一个名为Hello的函数指针;D.在TestCS命名空间中定义了了一个名为Hello的委托类型;.已知类型DoSomething定义如下:publicdelegatevoidDoSomething();a,b,c,d是DoSomething的变量,分别有以下调用列表:objA.FunchobjA.Func2objA.FuncUClassl.StaticFuncc:objA.Funcl%Class2.StaticFuncd:Class2.StaticFunc其中objA为类Classi的对象,objB为类Class2的对象。则执行b=b+c后,变量b关联的方法数目为:A.2B.3C.4D.5.已知类MyClass中事件Mousedicked定义如下:publicstaticeventMousedickedListenerMousedicked;执行下列语句:Mousedicked+=newMousedickedListener(obj.DoSomething);Mousedicked+=newMousedickedListener(obj.DoSomething);然后引发该Mousedicked事件,其结果为:obj.DoSomething方法被调用4次obj.DoSomething方法被调用2次obj.DoSomething方法被调用1次obj.DoSomething方法不会被调用.下列代码存在ー个编译错误。如何消除该错误?(左边为行号)publicvoidTest(objectparam)ResourcerO=newResource(100);using(Resourcerl=newResource(100))(rl.print();rl=newResource(50);)}A.第1行声明的param参数未在方法内使用「删除该参数;.第3行修改为:using(Resourcerl=newResource(100);){C.删除第5行D.第5行修改为:rl=rO;61.在类实现的Dispose方法中,一般应调用来阻止类终止器的执行。A.GC.Collect();B.GC.GetGeneration(this);C.GC.ReRegisterForFinalize(this);D.GC.SuppressFinalize(this);62.下列哪些Stream类不支持查找操作?FileStreamMemoryStreamBufferedStreamD.Networkstream.整型数组MylntArray的定义和初始化如下。为了将数组MylntArray的所有元素值写入FileStream流,可创建 类的实例对该流进行写入。int[]MylntArray=newint[400];for(inti=〇;iく400;i++)MylntArray[i]=i;A.BinaryWriterB.StreamWriterC.TextWriterD.StringWriter.用FileStream打开ー个文件时,可用FileShare参数控制:A.对文件执行覆盖、创建、打开等选项中的哪些操作;B.对文件进行只读、只写还是读/写C.其他FileStream对同一个文件所具有的访问类型D,对文件进行随机访问时的定位参考点.下列哪个选项不属于URI的组成部分?A.方案标识符B,客户机标识符C.路径标识符D.查询字符串.若!nternet资源要求验证客户端身份,WebRequest.GetResponse方法将引发ー个身份验证过程。此过程成功结束后,身份验证模块将向WebRequest实例返回一个类实例,该实例包含Internet服务器的验证消息。A.AuthorizationB.WebResponseC.CookieNetworkCredential.某程序使用System.Net访问Internet资源时返回WebException。请问,其Status值等于下列哪个选项时,表明从服务器接收的响应是完整的,但在协议级别上有错误?System.Net.WebExceptionStatus.ReceiveFailureSystem.Net.WebExceptionStatus.ProtocolErrorSystem.Net.WebExceptionStatus.SendFailureSystem.Net.WebExceptionStatus.Timeout.C#中,将类加上属性来标记该类支持序列化。A.[Serializable]B.[Formatable]C.[Stream]D.[STAThread]69,在处理对象图的反序列化过程中,ObjectManager可以确定:对序列化流中的某个对象的引用,是指向ー个已经反序列化的对象,还是指向ー个尚未反序列化的对象。其中对已经反序列化的对象的引用被称为0A.前向引用B.后向引用C.正引用D,反引用70.解决方案DoRemotingCall包含3个项目MyServer、MyClient、Common,场景如下:MyServer和MyClient分别为两个C#控制台项目,Common为C#类库项目。其中,Common项目实现了类Classi和Class2,输出文件为Common,dll;MyServer引用Common,dll,并准备向.NET远程处理框架注册类Classi.Class2为“服务器激活”对象;MyClient引用Common,dll,并希望可以通过.NET远程处理以“服务器激活”方式访问由MyServer进程创建的ClasshClass2类的对象。现在要为MyServer注册两个信道对象:Channell和Channel2,分别用于客户端对Classi和Class2类的对象的访问;因此,需要在MyServer的Main方法中注册2个信道、注册2个服务器类。请问,它们正确的顺序是:A.注册Channell、注册Channel2、注册类Classi、注册类Class2B.注册Channell、注册类Classi、注册Channel2、注册类Class2C注册类Classi、注册类Class2、注册Channell、注册Channel2D.注册类Classi、注册Channell、注册类Class2、注册Channel2.在IIS服务器中承载远程对象时,应考虑使用,从而获得口S在身份验证、授权等安全方面的有力支持。A.HttpChannelB.TcpChannelC.UdpChannelD.SLLChannel.在.NET远程处理中,的类的实例可以跨应用程序域进行按值封送。A实现!serializable接口B,具有[Serializable]属性C.实现lObjectReference接口D,从MarshalByRefObject类继承.为了判断线程tl是否是在后台运行,需访问tl的属性。A.CurrentThreadB.IsBackgroudC.IsAliveD.ThreadState.类MyClass中已知有以下字段定义:objecti=100,j=200,k=300;则执行下列语句后,这3个字段的值是 Interlocked.CompareExchange(refi,j,k);A.i:100,j:200,k:300B.i:200,j:200,k:300C.i:300,j:200;k:100D.i:100,j:100,k:30075.多线程C#程序中,类MyClass定义如下:classMyClass(ReaderWriterLockrwl=newReaderWriterLock();privateinti;publicvoidRead()(rwl.AcquireReaderLock(Timeout.Infinite);Interlocked.Increment(refi);Thread.Sleep(lOOO);rwl.ReleaseReaderLock();}publicvoidWrite()|rwl.AcquireWriterLock(Timeout.Infinite);Interlocked.Decrement(refi);Thread.Sleep(1000);rwl.ReleaseWriterLock();})请问,可以有多少个线程同时调用Read。并将i的值加1?0个1个C.多个D.没有76.利用服务,托管代码可以调用在动态链接库(DLL)(如Win32AP!中的DLL)中实现的非托管函数。A.平台调用B,运行库可调用包装COM可调用包装D.信道.在ADO.NET中,执行数据库的某个存储过程,则至少需要创建并设置它们的属性,调用合适的方法:ー个Connection对象和一个Command对象ー个Connection对象和DataSet对象ー个Command对象和一个DataSet对象ー个Command对象和一个DataAdapter对象.在使用ADO.NET编写连接到SQLServer2000数据库的应用程序时,从提髙性能角度考虑,应创建类的对象,并调用其Open方法连接到数据库。A.ConnectionB.SqlConnectionC.OleDbConnectionD.OdbcConnection.在ADO.NET中,DataAdapter对象下列哪个Command属性用于将DataSet中的新增记录保存到数据源?A.SelectCommandnsertCommandC.UpdateCommandD.DeleteCommand80,在C#程序中,可以使用ー 属性来引用处于非托管代码环境中的函数。A.[DllImport]B.[Conditional]C.[STAThread]D.[SecureMethod]81.为了确定是否为类MyClass附加了属性NameAttribute,应使用以下哪个语句?A.boolb=typeof(MyClass).IsDefined(typeof(NameAttribute),false);B.boolb=typeof(MyClass).IsDefined(typeof(Name),false);boolb=typeof(MyClass).HasDefined(typeof(NameAttribute),false);boolb=typeof(MyClass).HasDefined(typeof(Name),false);NET的目的就是将作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网WindowsC#D.网络操作系统.假设变量x的值为25,要输出x的值,下列正确的语句是ー〇System.Console,writeline(axff)System.Console.WriteLine()System.Console,writeline(ax={0}w,x)System.Console,writeline(ux={x}ff).要退出应用程序的执行,应执行下列的ー语句。Aapplication.Exit0;.Aapplication.Exit;C.Aapplication.Close();D.Aapplication.Close;.关于C#程序的书写,下列不正确的说法是ー。A.区分大小写一行可以写多条语句一条语句可写成多行一个类中只能有一个Main。方法,因此多个类中可以有多个Main。方法.在C#语言中,下列能够作为变量名的是0if3aba_3ba-bc.在C#语言中,下面的运算符中,优先级最高的是ー。A.%++/=D.»89.能正确表示逻辑关系“a>=10或aく=0”的C#语言表达式是A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&aく二0a>=10||a<=090.以下程序的输出结果是〇Usingsystem;ClassExamplel(PublicStaticvoidmain(){Inta=5,b=4,c=6,d;Console.Writeline(u{0}99,d=a>b?(a>c?a:c):b);))A.5B.4C.6D,不确定91.if语句后面的表达式应该是ー〇A.逻辑表达式B.条件表达式C.算术表达式D.任意表达式92.有如下程序Usingsystem;ClassExamplel{PublicStaticvoidmainOIntx=l,a=0,b=0;Switch(x)Case0:b++,break;Case1:a++,break;Case2:a++,b++,break;}Console.Writeline("a二{0},b二{1}”,a,b);}}的输出结果是A.a=2,b=la=l,b=la=l,b=0a=2,b=2.以下叙述正确的是 0d〇….while语句构成的循环不能用其他语句构成的循环来代替do,while语句构成的循环只能用break语句退出C.用d〇….while语句构成的循环,在while后的表达式为true时结束循环D.用d〇….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式.以下关于for循环的说法不正确的是for循环只能用于循环次数已经确定的情况for循环是先判定表达式,后执行循环体语句for循环中,可以用break语句跳出循环体for循环体语句中,可以包含多条语句,但要用花括号括起来。.假定int类型变量占用两个字节,若有定义:int[]x=newint[10]{0,2,4,4,5,6,7,8,9,10);则数组x在内存中所占字节数是A.6204080.以下程序的输出结果是:ClassExamplelPublicStaticvoidmain()(IntI;Intロa=newint[10];For(i=9;i>=0;i—)a[i]=10-I;Console.Writeline(u{0},{1}{2},a[2],a[5],a[8]);})258741852369.有定义语句:int[,]a=newint[5,6];则下列正确的数组元素的引用是ー0A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4].下列的数组定义语句,不正确的是ー。intaロニnewint[5]{1,2,3,4,5}int[,]a=newinta[3][4]int[][]a=newint[3][];int[]a={l,2,3,4};.关于C#语言的方法,下列叙述中正确的是—A,方法的定义不能嵌套,但方法调用可以嵌套B,方法的定义可以嵌套,但方法调用不能嵌套C.方法的定义和调用都不能嵌套D,方法的定义和调用都可以嵌套.以卜.所列的个方法头部中,正确的是ー〇A.voidplay(vara:Integer,varb:integer)B.voidplay(inta,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)101.下列程序的结果是:Usingsystem;ClassExamplel(Staticlongfib(intn)(If(n>2)return(fib(n-l)+fib(n-2));Elsererurn(2);}PublicStaticvoidmain(){Console.Writeline("{0}",fib(3));))A.2B.4C.6D.8102.下列程序的输出结果是〇Usingsystem;ClassExamplel{Staticlongsub(intx,inty)(Z=x*x+y*y;}PublicStaticvoidmain(){inta=30;Sub(5,2);Console.Writeline("{〇}",a);})02930D.无定值103.下列程序的执行结果是〇Usingsystem;ClassExamplel(enumteam={my,your=4,his,her=his+10};PublicStaticvoidmain(){Console.Writeline("{0},{1},{2},{3}w,(int)team,my,}}A.O123B.O4010C.O4515(int)team,your,(int)team,his,(int)team,her);14515104.以下对枚举的定义,正确的是ー。A.enuma={one.two,three)enuma{al,a2,a3};enuma={T,'2','3'};enuma(“one",“two","three”};105.枚举型常量的值不可以是ー类型A.intB.longC.ushortD.doule106.调用重载方法时,系统根据来选择具体的方法。A.方法名B.参数的个数和类型C.参数名及参数个数D.方法的返回值类型107.下列的不是构造函数的特征。A.构造函数的函数名和类名相同B.构造函数可以重载C.构造函数可以带有参数D,可以指定构造函数的返回值108.类ClassA有一个名为Ml的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则修饰Ml方法时一定使用了修饰符。ClassAobj=newClassA();ClassA.M10;A.publicB.staticC.privateD.virtual109.已知类B是由类A继承而来,类A中有一个为M的非虚方法,现在希望在类B中也定义ー个名为M的方法,若希望编译时不出现警告信息,则在类B中声明该方法时,应使用方法。A.staticB.newC.overrideD.virtual110.下列关于try…catch…finaly语句的说明中,不正确的是0A.catch块可以有多个B.finalyC.catch块也是可选的D.可以只有块111.为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为 。A.ExceptionB.DivideByZeroExceptionC.FormatExceptionD,以上三个均可112.关于异常,下列的说法中不正确的是0A.用户可以根据需要抛出异常B.在被调用方法可通过throw语句把异常传回给调用方法C.用户可以自己定义异常D.在C#中有的异常不能被捕获113.下列说法中正确的是。A,在C#中,编译时对数组下标越界将作检查B.在C#中,程序运行时,数组下标越界也不会产生异常C,在C#中,程序运行时,数组下标越界是否产生异常由用户确定D.在C#中,程序运行时,数组下标越界一定会产生异常114.要使窗体刚运行时,显示在屏幕的中央,应设置窗体的属性。A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr.要使文本框控件能够显示多行而且能够自动换行,应设置它的属性。MaxLength和MultlineMultlineh和WordWrapPassWordChar和MultlineMaxLength和WordWrap.在使用RichTextBox控件进行文档编辑时,如果希望知道文档上次设置该控件的内容后,文本框中内容是否改变,可使用它的属性。A.ModifiedB.SelectedTextC.UndoD.SaveFile.要使复选框控件能够显示出三种状态,应首先设置它的属性。A.ThreeStateB.CheckedC.CheckStateD.Indeterminate.已知OpenFileDialog控件的Filter属性值为“文本文件(*.txt)*.txt|图形文件(*.BMP*.JPG)*.BMP;*.JPGI*.RTF文件(*.RTF)I*.RTF”,若希望程序运行时,打开对话框的文件过滤器中显示的文件类型为RTF文件(札RTF),应把它的Filterindex属性值设置为023C.4D.5119.在设计菜单时,若希望某个菜单项前面有一个“ 号,应把该菜单项的属性设置为true。CheckedRadioCheckShowShortcutD.Enabled.在GD1+的所有类中类是核心,在绘制任何图形之前,一定要先用它创建一个对象。GraphicsPenC.BrushD.Font.要设置Pen对象绘制线条的宽度,应使用它的属性。ColorWidthDashStylePenType.通过HatchBush对象的属性可设置HatchBush对象的阴影样式。A.BackgroundColorB.ForegroundColorC.HatchStyleD.ColorStyle.多媒体技术的最重要的特点是0A.娱乐性B.智能性C.多样性D.交互性.要播放WAV文件,应把MMContro!控件的DeviceType属性值设置为。A.CDAudioB.WavAudioC.SequenceD.AVIVideo.下面对Read()和ReadLine()方法的描述,哪些是正确的。A.Read()方法一次只能从输入流中读取ー个字符B.使用Read。方法读取的字符不包含回车和换行符C.ReadLine()方法读取的字符不包含回车和换行符D.只有当用戸按下回车键时,Read()和ReadLine()方法オ会返回126.下面对Write。和WriteLineO方法的描述,哪些是正确的。A.WriteLine()方法在输出字符串的后面添加换行符B.使用Write。输出字符串时,光标将会位于字符串的后面C.使用Write。和WriteLineO方法输出数值变量时,必须要先把数值变量转换成字符串D.使用不带参数的WriteLine。方法时,将不会产生任何输出127.假设存在下面的代码:doublex=66666.66;Console.WriteLine(a{0,10:C4}w,x);请从下面选择正确的输出结果ー0¥66,666.6600Y66.666.6666,666.660066,666.66128以下标识符中,正确的是0nNameB.typeofC.6bD.x5#129以下类型中,不属于值类型的是.A.整数类型B,布尔类型C.字符类型D.类类型130结构化的程序设计的3种基本结构是A.顺序结构,If结构,for结构if结构,if…else结构elseif结构while结构,d〇….while结构,foreach结构D.顺序结构,分支结构,循环结构131已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为if(c<b)N=a+b+c;elseif(a+b<c)N=c-a-b;elseN=a+b;3-3C.9D.15132.while语句循环结构和do-while语句循环结构的区别在于 。while语句的执行效率较高do-while语句编写程序较复杂C.无论条件是否成立,while语句都要执行一次循环体D.do-while循环是先执行循环体,后判断条件表达式是否成立,而while语句是先判断条件表达式,再决定是否执行循环体.133.下面有关for语句的描述有错误的是ー。A.使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式B.在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号C.在for语句表达式中,可以直接定义循环变量,以简化代码D.for语句的表达式可以全部省略134.ド面有关break,continue和goto语句描述正确的是0break语句和continue语句都是用于终止当前整个循环B.使用break语句可以一次跳出多重循环C.使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用goto语句D.goto语句必须和标识符配合使用,break和continue语句则不然135假设给出下面代码:Try(ThrownewOverflowException();}Catch(FileNotFoundExceptione){}Catch(OverflowExceptione){}Catch(SystemExceptione){}Catch{}Finally。则下面哪些语句会得到执行ー。A.Ccatch(OverflowExceptione){}B.Catch(OverflowExceptione){}Catch(SystemExceptione){}D.Catch{},Finally{}136.下面是几条定义初始化一维数组的语句,指出其中正确的是ーoA.intarrl[]={6,5,1,2,3);B.int[]arrl=newint[];C.int[]arrl=newint[]{6,5,1,2,3);D.int[]arrl;arrl={6,5,1,2,3};137下面是几条动态初始化一维数组的语句,指出其中正确的是ー0int[]arr2=newint[];ntarr2=newint[4];int[]arr2=newint[i]{6,5,1,2,3};int[]arr2=newint[4]{6,5,1,2,3};138.下面是几条定义并初始化而维数组的语句,指出其中正确的是ー。A.intarr3[][]=newint[4,5];int[][]arr3=newint[4,5];intarr3[,]=newint[4,5]int[,]arr3=newint[4,5];139.下面有关枚举成员赋值说法正确的是ー。A.在定义枚举类型时,至少要为其中的一个枚举成员赋一个常量值B.在定义枚举类型时,直接为某个枚举成员赋值,则其他枚举成员依次取值C.在把一个枚举成员的值赋给另一个枚举成员时,可以不考虑它们在代码中出现的顺序D.在定义的一个枚举类型中,任何两个枚举成员都不能具有相同的常量值140.下列哪ー项正确描述了VisualStudio.NET与.NETFramework之间的关系()。A.VisualStudio.NET与.NETFramework之间没有关系B.可以使用VisualStudio.NETIDE或者简单的文本编辑器创建应用程序,应用程序运行时需要使用.NETFrameworkC.开发应用程序时需要.NETFramework,但是在运行VisualStudio.NET创建的应用程序时不需要它。D,都不对。141.下列各选项中,哪个选项不是.NETFramework的组成部分()。A.应用程序开发程序B.公共语言规范和.NETFramework类库C.语言编辑器D.JIT编辑器和应用程序执行管理.下面对公共语言运行时说法正确的是()。A.是.NET平台的基础B,提供多种服务,但不包括垃圾收集器C.是.NETFramework的核心组件D.与.NETFramework无关.对托管代码与非托管代码之间的区别描述正确的是()。A.非托管代码依赖于CLR提供的服务,而托管代码不需要B.托管代码生成的应用程序为目标机器上可执行文件,非托管代码生成的应用程序为中间语言文件C.托管代码和非托管代码之间没有区别D.托管代码依赖于CLR提供的服务,而非托管代码不需要144.下列哪ー项正确描述了重价语言()。A.中间语言代表所有的VisualStudio.NET语言生成的本机可执行文件,用于在目标CPU上执行B.VisualStudio.NET不生成中间语言C.中间语言类似于汇编语言,但是它的格式是通用的,不依赖于特定的CPU的体系结构D.VisualStudio.NET编译器生成的中间语言根据目标CPU的不同而变化145.引用类型和值类型之间的区别是().A.引用类型变量保存内存地址,值类型直接保存变量值B.引用类型在变量中宜接保存变量值,值类型保存内存地址C.引用类型和值类型保存数据的方式相同D..NETFramework不支持值类型,因为所有的类型都是引用类型了146.下列关于命名空间描述不正确的是()。A.命名空间就是.NETFramework中相关类和命名空间的集合System.Windows.Forms命名空间定义了包含工具箱中的控件及窗体自身的类C.命名捽件中的所有类都是从同一个基类中继承的D.上述都对.下面对程序集清单说法正确的是()。A,程序集没有清单B.它描述了程序集以及组成程序集的各个模块C.清单是公共访问属性,不包括许可D.没有指明程序集安全性.下面哪ー项是System.Convent类的有效方法()。A.Tolnteger、ToBigger,ToDataB.ToConvert,TocurrentDataToInt32,ToInt64,TodoubleD.都不对149.下面对程序集和命名空间说法正确的是()。ー个程序集只能引用ー个命名空间ー个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中C.ー个程序集可以引用多个命名空间,但一个命名空间只能保存在ー个程序集中D,ー个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间150,下列类型中为值类型的是.A.字符串类型B.树组类型C.枚举类型D.接口类型151.下列给出的变量名正确的是.intN0.1B.charuseC.floatMainD.char©use152.对于等式y=ax3+7,下列表达式中正确的是A.y=a*x*x*x+7y=a*(x*x*x)+7C.y=a*x*(x*x+7)D,y=(a*x)*x*x+7153.下面有关运算符的说法正确的是—A.算术运算符不能对布尔类型,String*(字符串类型)和Object*(对象类型)进行算术运算B.关系运算中的“ニニ”和赋值运算符中的“二”是相同的sizeof运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)D.括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序154.执行下面的程序后,结果是正确是usingSystem;classTest{StaticvoidMain(){strings="Test”;string『string.Copy(s);Console.WriteLine(sニニt);Console.WriteLine((object)s=二t);Console.WriteLine(sニニ(object)t);Console.WriteLine((object)s==(object)t)))A.TrueFalseFalseFalseB.FalseFalseTrueFalseC.FalseFalseFalseTrueTrueTrueFalseFalse.下面对for语句说法正确的是 for语句的循环条件不能缺少for(;)是无限循环for循环无法嵌套for语句是跳转语句.下列代码输出正确的是 namespaceAnswer(classProgram(staticvoidMain(string[]args)(intI,j;for(i=l;i>=0;i—)for(j=0;j<=I;j++)Console.WriteLine(wi*j={0}w,i*j);}))i*j=0i*j=0i*j=0i*j=li*j=0i*j=li*j=li*j=li*j=0i*j=0i*j=li*j=0.当输入e和q时下列代码的输出结果为ーnamespaceAnswerclassProgramstaticvoidMain(string[]args){charc;while((c=convert.ToChar(Console.ReadLineO))!=,q')(Console.WriteLine("你输入的是:{〇}”,c);)}}}A.你输入的是:e退出程序B.你输入的是:e你输入的是:qC.你输入的是:q你输入的是:eD.退出程序.下面对i值的输出结果说法正确的是.namespaceAnswer{classProgram(staticvoidMain(string[]args)(intido{i++;}while(i<5)Console.WriteLine(ai值的为:{0}",i)}}}i的值为:5i的值为:6i的值为:7i的值为:8.下面代码的执行结果正确的是namespaceAnswer(classProgram{staticvoidMain(string[Jargs){inti-0;while(i<-2){i++;Console.WriteLine("{0}",i);if(i==l)break;)}}}0123160.下列参数类型中是C#中不允许使用的A.值参数B.引用参数C.输出参数D.指针参数161.有两个具有相同名字的函数,当只满足下列选项的一条件时,它们不能算作重载函数。A.返回值的类不同B.参数数目不同C.参数类型不同D.参数的顺序不同162.关于参数数组,下列说法错误的是ー.A.参数数组必须是函数的最后一个参数。B.参数数组必须是ー维数组C.参数数组的声明同普通数组ー样D.参数数组所对应的实参的个数是不固定的163,在下列程序空格处壊入正确的选项能够实现调用函数show().(staticvoidshow(refinti){i*二15;Console.WriteLine("i={0}",i);}staticvoidMain(string[]args){inttest=10;Console.WriteLine(“调用函数show前,test={0}",test);show();Console.WriteLine(“调用函数show后,test={〇}”,test);}}A.testB.outtestC.reftestD.paramstest164.下面对字段说法正确的是A.字段可以用static修饰符classClassiB.使用字段前必须对它进行初始化C,字段就是变量D.字段只能声明为只读的165.下面代码表示成员重载的是ー.A.classMyclass(publicvoidfun(){Console.WriteLine("无参数”);}publicvoidfun(inta){Console.WriteLine(“有一个整型的参数”);}}B.classMyclass{publicinta;publicvoidfun(){Console.WriteLine(“无参数”);}}classMyclassl{publicvoidfun(inta){Console.WriteLine(“有一个整型的参数”);}}C.classMyclass{publicinta;publicvoidfun(){Console.WriteLine("无参数”);}publicvoidFun(inta){Console.WriteLine("有一个整型的参数“);})D,以上都不是166.如果类名为Myclass,那么 可以作为它的构造函数,是它的祈构函数。"Myclass()Myclass(doublea)C."Myclass(doublea)D.voidMyclass0167.下面说法错误的是ー.A,祈构函数没有参数B.祈构函数没有修饰符C.祈构函数没有返回类型D,祈构函数可以被重载.下面的修饰符中一不是访问修饰符。A.publicB.protectedC.newD.internal.声明事件时要先声明.A.字段B.属性C.方法D.委托170.下列有关虚函数说法不正确的是.A.虚函数是静态的B.虚函数声明只能出现在类定义的函数原型声明中C.•个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性D.在基类中定义了虚函数后,可以在派生类中对它进行重写171.下面对抽象类描述不正确的是0A.抽象类只能作为基类使用B.抽象类不能定义对象C.抽象类可以实例对象D.可以实现多态172.下面对异常说法不正确的是ーA.try/catch块为基本引发异常的组合B.在捕获异常时,可以有多个catch块C.无论异常是否发生,finally块总会执行D.try块和finally不能连用173.对下面的代码说法正确的是classBaseclass{protectedBaseclass(stringa,stringb){Console.WriteLine("基类中构造函数”);}}classDerivcedlcass:Baseclass{publicDerivcedlcass(stringa,stringd):base(a,b){Console.WriteLine("派生类中的构造函数”);})A.代码无错误,派生类中实现了构造函数B.代码有错误,派生类的base关键字中不应带有参数C.代码无错误,创建派生类对象可以直接执行D.代码有错误,base关键字中的参数应改为“base(c,d)"174.下面代码执行结果正确的是.namespaceAnswer{classBaseclass{publicvirtualintShow(){return5;}}classDerivcedlcass:Baseclass{publicnewintShow(){return6;}}classDerivcedlcassl:Baseclass{publicoverrideintShow(){return7;}}classProgram{staticvoidMain(string[]args){Baseclass[]a=newBaseclass[2];a[0]=newDerivcedlcass0;a[l]=newDerivcedlcassl();Console.WriteLine("a[0]={0}",a[0].ShowO);Console.WriteLine(Ma[l]={0}w,a[l].ShowO);}}}A.a[0]=7a[l]=6B.a[0]=6a[l]=5a[0]=5a[l]=7D.a[0]=7a[l]=5175.下面选项中是在C#中定义数组的是ー.inta[5]={l,2,3,4,5};double[2][3]aa={{l,2,3},{5,2,1}};C.string[]a=newstring[5];int[][]aa=newint[2][3]{{1,2,3},{5,2,1}};.下列说法正确的是ーA、数组不能作为参数在函数间传递B、数组只能作为ref型参数在函数间传递。C、数组只能作为out型参数在函数间传递D、数组既可以作为ref型又可以作为out型参数在函数间传递.C#中的集合实现了接口。A.ICollectionB.lEnumeratorC.CollectionBaseD.lEnumeratable.对接口成员GetEnumerator说法正确的是A.能够得到集合中元素的数量B.将集合的元素复制到一个数组中C.从[Enumerable接口继承得到D.使对象与集合同步.关于枚举的说法正确的是ーA、实例化枚举之后枚举数被放在第•个元素之上B、通过枚举可以遍历集合.C、通过枚举可以改变集合的内容D、枚举数到达集合末尾时停留在最后ー个元素之上。.类库中的ー不是根据元素的个数来动态地调整自身容量的大小。ArrayList集合BitArray集合Hashtable集合SortedList集合.Stack集合可以调用的方法是Add()Remove()RemoveAt()PeekO.自定义集合时,要继承基类ーA.CollectionBaseB.CollectionsBaseSystem.下列关于集合的说法正确的是ーArrayList集合遵循先进先出的原则Stack集合可以在中间插入元素,在中间插入元素时调用!nsert方法Queue集合可以删除任意位置的元素,也可以在顶部删除元素Stack集合可以在顶部上出元素.下列关于Hashtable集合的说法正确的是ー.A.Hashtable集合是ー个键/值对集合B.遍历Hashtable集合时用lEnumerator来枚举Hashtable集合中可以根据指定的值来删除元素Hashtable集合中的元素按照添加的顺序存在于集合内部185.假如有字符串str!和字符串str2,下列选项不能利用于比较这两个字符串是否相等的是A.string.Compare(stri,str2)strl==str2string.Equals(strl,str2)string.CompareTo(strl,str2).下列方法中,不能用于定位字符串中的字符或子字符串的是—A.SubStringB.IndexOfAnyC.LastlndexOfD.IndexOf.下列说法正确的是()A.可以将闪屏设为启动项目B.将闪屏设为启动项目不影响正确解决方案的运行C.闪屏出现的时间由系统决定,都是5秒钟D.以上说法都不对.从窗体Forml切换到窗体Form2的代码是()Form2.show();Application.Run(newForm2());Form2f2=newForm2();f2.show();D.不需要任何代码.()正确描述了CheckBox控件A.它可以配置为两状态或三状态控件B.与文本相关的复选框的位置是固定的,不能修改C.复选框不可以显示图象图标D.以上说法均正确.下列的描述中()s适用于控件Button,CheckBox,RadioButton派生自System.Forms.Buttons类ComboBox和ListBox控件派生自List类RichTextBox和TextBox控件是可编辑的控件,派生自Text类D.以上说法均不对.关于Control集合,下列说法错误的是()A.窗体支持Control集合,且窗体还可以有多个Control集合B.当窗体中有多个Control集合时,它们按照并列结构组织C.Control集合直接包含了窗体上每ー个控件的引用D.可以用foreach循环枚举Control集合192.动态创建一个button控件实例的代码是()A.Buttonbutton;button=newButton();button.Location=newPoint(200,200);button.Size=newSize(75,23);button.Text="Ok”;button.Show();B.Buttonbutton;button=newButton();button.Location=newPoint();bu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论