最新C#程序设计语言期末考试题A卷及答案_第1页
最新C#程序设计语言期末考试题A卷及答案_第2页
最新C#程序设计语言期末考试题A卷及答案_第3页
最新C#程序设计语言期末考试题A卷及答案_第4页
最新C#程序设计语言期末考试题A卷及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、电子科技大学成都学院期末试题一一C#程序设计语言(A卷)题号一一三四总分评卷教师分数说明:本试卷共四大题,试卷总分值100分,测试时间120分钟.一.判断题(每题1分,共10分,正确的打,错误的打X)(N)1,“+、-、*、/、%+、-均属于二元运算符.(Y)2.字符串类型属性引用类型.(N)3.VisualStudio控件的属性窗口中,按钮“A->Z点击后,属性列表会先根据功能分类排列属性后在每个单元中以名称排序.(N)4.派生类可以继承基类的成员,以及方法的实现;派生的接口继承了父接口的成员方法,并且也继承父接口方法的实现.(Y)5.当创立派生类对象时,先执行基类的构造函数,后执行派

2、生类的构造函数.(N)6.隐式类型转换就是不需要声明目标类型就可以进行的转换?(Y)7.如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数.(Y)8.在C#中在派生类中重新定义基类类的虚函数必须在前面加override.(Y)9.C#中方法的参数中输出型参数(out)的实参在传递给形参前,不需要明确赋值,但需在方法返回前对该参数明确赋值.(Y)10.在类中可以重载构造函数,C#会根据参数匹配原那么来选择执行适宜的构造函数.二.单项选择题(每题2分,共40分)(说明:每题有且仅有一个正确答案,请将正确答案填入下表)题号12345678910答案题号1112

3、1314151617181920答案1 .C蝌序设计语言属于什么类型的编程语言:A.高级语言B.自然语言C.机器语言D.汇编语言2 .如有inta=11;那么表达式(a+*1/3)的值是:A.0B.3C.4D.123 .类的字段和方法的默认访问修饰符是:A.publicB.privateC.protectedD.internal4 .对于在代码中经常要用到的且不会改变的值,可以将其声明为常量.如圆周率PI始终为3.14.现在要声明一个名为PI的圆周率常量,下面哪段代码是正确的?A.constfloatPI;PI=3.14f;B.constfloatPI=3.14f;C.floatconstPI

4、;PI=3.14f;D.floatconstPI=3.14f;5 .请问经过表达式a=3+3>5?0:1的运算,变量a的最终值是什么?.A.6B.1C.0D.true6 .以下语句是MyClass的一局部,obj是MyClass的一个对象.privateclasssubclass(publicintdata;)voidchange(refintx)x=1;publicvoidtest()subClasss=newsubClass();s.data=100;change(refs.data);Console.WriteLine(s.data);那么调用obj.test()后.限制台输出()

5、.A.100B.101C.0D.17 .用户自定义的异常类应该从哪个类中继承()A.System.ArgumentExceptionB.System.IO.IOExceptionC.System.SystemExceptionD.System.ApplicationException8 .下面有关虚方法的描述正确的选项是.A.虚方法能在程序运行时,动态确定要调用的方法,因而比非虚方法更灵活,更方便B.在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符C.重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符D.在重写虚方法时,需要同时带上override和vi

6、rtual修饰符9.以下语句声明了一个委托:public方法的原型应该是:delegateintmyCallBack(intx);那么用该委托产生的回调B.intreceive(intnum)不确定的A.voidreceive(intx)C.intreceive()D.10. C#中TestClass为一自定义类,其中有以下属性定义publicvoidProperty使用以下语句创立了该类的对象,并使变量obj引用该对象:TestClassobj=newTestClass();那么,可通过什么方式访问类TestClass的Property属性()A.TestClass.Progerty;B.T

7、estClass.Property();C.obj.Property;D.obj.Property();11 .类Base、MyClass的定义如下classBasepublicvoidHello()System.Console.WriteLine("HelloinBase!");classDerived:Base(publicvoidHello()(System.Console.WriteLine("HelloinDerived!");)那么以下语句在限制台中的输出结果为.Derivedx=newDerived();x.Hello();A.Helloi

8、nBase!B.HelloinDerived!C.HelloinBase!D.HelloinDerived!HelloinDerived!HelloinBase!12 .以下关于接口的说法中,哪个选项是正确的?()A.一个类可以有多个基类和多个基接口B.抽象类和接口都不能被实例化C.抽象类和接口都可以对成员方法进行实现D.派生类可以不实现抽象基类的抽象方法,但必须实现继承的接口的方法13 .以下关于构造函数的描述中,哪个选项是正确的?()A.构造函数必须与类名相同B.构造函数不可以用private修饰C.构造函数不能带参数D.构造函数可以声明返回类型14 .引用数组元素时,数组下标的数据类型可

9、以允许哪项类型?()A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式15 .以下类MyClass的属性count属于属性.classMyClass(inti;intcount(getreturni;)A.只读B.只写C.可读写D.不可读不可写16 .要让用户选择和浏览要翻开的文件,应使用什么对话框?()A.FileDialogB.OpenFileDialoC.SaveFileDialoD.FolderBrowserDialog17 .在VisualStudio2005中,假设你正在单步调试某个应用程序.程序从入口开始,调用某个私有方法将产生异常.现在代码运行到如下图位置,

10、应该使用下面哪种方式进一步调试?jjCan3ftleApplication2.ProgramjVHainCtringargs)BusingSystem:usingSystem.Ccllsctions.Generic;3,LusingSystem.Text;5namespaceConsdleApplicaticm2BNelssFrogranstaticvoidMam(5tringar5sj1011121314“调用此方法会产生异常pdSom0thingO:privatestaticvoid口.Something0A.使用逐语句调试B.使用逐过程调试C.跳出调试D.停止调试18. .NETFram

11、ework2.0中,处理异常是很有用的功能.一个try代码块可以有多个catch块于之对应.在多个catch块中,下面哪个异常应该最后捕获?A.System.Exception类B.System.SystemException类C.System.ApplicationException类D.System.StackOverflowException类19.在二维坐标系中,通常需要保存一组点的坐标.使用二维数组是一个解决方案.下面哪段代码正确初始化了2行2列的整数二维数组?A.int,array=newint2,2;B.intarray=newint22;C.int,array=newint22

12、;D.intarray=newint2,2;20.已经定义了一个Season枚举,它有4个成员Spring,SummerAutumn,Winter.现在需要定义一个名为currentSeason的Season枚举,并将其赋值为Spring,应使用下面哪段代码?A.SeasoncurrentSeason=Spring;B.currentSeason=Spring;C.currentSeason=Season.Spring;D.SeasoncurrentSeason=Season.Spring;三.简做题(每题5分,共10分)1.类与对象有什么区别?2.什么叫多态性,在C黜言中如何实现多态?四.综

13、合题共40分1.下面这段程序要完成的功能是:从输入的字符串中找出小写字母并输出到终端.请检查以下代码,找出所有错误的代码,并写出该行完整的正确代码.4分1. usingSystem;2. publicclassProgram3. 4. staticvoidMain(string口args)5. 6. stringinputString=Console.ReadLine();7. stringlowerCase=string.Empty;8. foreach(charchininputString)9. if(ch>='a'|ch<='z')10. l

14、owerCase+=ch.ToString;11. Console.WriteLine("小写字母有:"+lowerCase);12. 13. 2 .下述代码用于重写Message方法.请分析下述代码,并更正错误代码行.(4分)1. .interfaceIMsg2. 3. voidMessage.;4. 5. publicclassMyClass:IMsg6. 7. publicvirtualvoidMessage()8. 9. Console.WriteLine("MyClass");10. 11. 12. publicclassMyDerivedCl

15、ass:MyClass13. 14. publicvoidMessage()15. 16. Console.WriteLine("MyDerivedClass");17. C#代码.4分18. 3 .下面代码功能是对数组进行遍历,请分析以下代码段并在空白行补全staticvoidMain(string口argz)string口myString="windows","form","dialog"foreach(1)(Console.WriteLine(str);)4 .下面程序中两个方法需要实现的功能是:int数组相

16、加,即数组中的每项相加,以及string类型的相加,即把一串字符串接到另一串字符串后面.请分析以下代码段,并在空白行补全visualC#代码.6分1(int口result=newintarray1.Length;for(inti=0;i<array1.Length;i+)resulti=array1i+array2i;returnresult;)(2) stringspaceStr="",result=null;result=str1+spaceStr+str2;returnresult;)staticvoidMain(string口arges)inta=1,2,3,

17、b=4,5,6);intsumArray=newint3;stringstr1="visual",str2="studio"stringsumString=null;sumArray=Add(a,b);sumString=Add(str1,str2);5 .以下程序段的作用是对字符串数组myArray进行排序后输出"RubyMarkNormanKinger请补全代码完成该功能.(6分)staticvoidMain(string口args)stringmyArray=newstring"Kinger","Norman

18、","Ruby","Mark"Sort(myArray);foreach(stringstrinmyArray)Console.Write(str+"");publicstaticvoidSort(stringarray)stringstr;6 .比尔在教他的女儿面向对象的知识.他写了一个类Bill和一个接口IPrintname.现在他希望女儿能够写一个类Jennifer,继承自Bill,重写基类函数WhoAmI(),将输出改为"Jennifer"并且实现接口IPrintname,该接口只有一个方法Print,这个方法的实现会在限制台打印调用WhoAmI函数的结果(即:"Jennifer").(6分)publicclassBill(publicvirtualstringWhoAmI()(return"Bill"publicinterfaceIPrintname(voidPrint();7,以下Shape类是一个表示形状的抽象类,Area()为求图形面积的函数,Total()那么是一个通用的

温馨提示

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

评论

0/150

提交评论