版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word格式期末试题C#程序设计语言(A 卷)题号-一-二二三四总分评卷教师分数说明:本试卷共四大题,试卷满分100分,考试时间120分钟。.判断题(每题1分,共10分,正确的打V,错误的打X)题号12345678910答案XVXXVXVVVV()1+、-、*、/、% +、-均属于二兀运算符。()2 .字符串类型属性引用类型。()3. Visual Studio 控件的属性窗口中,按钮“A-Z”点击后,属性列表会先按照功能分类排列属性后在每个单元中以名称排序。()4.派生类可以继承基类的成员,以及方法的实现;派生的接口继承了父接口的成员方法,并且也继承父接口方法的实现。()5.当创建派生类对象
2、时,先执行基类的构造函数,后执行派生类的构造函数。()6 .隐式类型转换就是不需要声明目标类型就可以进行的转换?()7.如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数。()8.在C#中在派生类中重新定义基类类的虚函数必须在前面加override。()9. C#中方法的参数中输出型参数(out)的实参在传递给形参前,不需要明确赋值,但需在方法返回前对该参数明确赋值。()10.在类中可以重载构造函数,C #会根据参数匹配原则来选择执行合适的构造函数。.单项选择题(每题2分,共40分)(说明:每题有且仅有一个正确答案,请将正确答案填入下表)题号123456
3、78910答案ABBBCDDABC题号11121314151617181920答案CDACCBAAAD1. C#程序设计语言属于什么类型的编程语言:aA .高级语言B .自然语言 C.机器语言D.汇编语言2. 如有int a=11;则表达式(a+*1/3 )的值是:bA. 0 B . 3 C . 4 D . 123. 类的字段和方法的默认访问修饰符是:bA. public B . private C . protected D . internal4. 对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。如圆周率PI始终为3.14。现在要声明一个名为PI的圆周率常量,下面哪段代码是正确
4、的?bA.con st float PI;PI = 3.14f; B.co nst float PI = 3.14f;C.float const PI;PI = 3.14f; D.float con st PI = 3.14f;5. 请问经过表达式a=3+35?0:1的运算,变量a的最终值是什么?。cA. 6 B . 1 C . 0 Dtrueobj是MyClass的一个对象。x=1;6. 下列语句是MyClass的一部分, private class subclasspublic int data;void cha nge(ref int x) public void test()subCl
5、ass s=new subClass();s.data=100;cha nge(ref s.data);Con sole.WriteL in e(s.data);则调用obj.test()后。控制台输出(d ) oA. 100 B. 101 C. 0 D. 17. 用户自定义的异常类应该从哪个类中继承(d)A. System.Argume ntExceptio nB. Syste m.10.1 OExceptio nC. System.SystemExceptio nD. System.Applicati on Excepti on8. 下面有关虚方法的描述正确的是( a ) oA. 虚方法能
6、在程序运行时,动态确定要调用的方法,因而比非虚方法更灵活,更方便B. 在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual 修饰符C. 重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符D. 在重写虚方法时,需要同时带上 override 和virtual 修饰符9. 下列语句声明了一个委托 :publicdelegate int myCallBack(intx);则用该委托产生的回调方法的原型应该是:bA.void receive (int x)B.i nt receive(i nt num)C.i nt receive( )D.不确定的10. C#中TestC
7、lass为一自定义类,其中有以下属性定义public void Property 使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClass obj=new TestClass();那么,可通过什么方式访问类TestClass的Property属性(c)A. TestClass. Progerty;B. TestClass. Property();C. obj. Property; D. obj. Property();11. 已知类Base、MyClass的定义如下class Basepublic void Hello()System.Console.WriteLine(He
8、llo in Base! );/ 先基后派class Derived : Basepublic void Hello()System.Console.WriteLine(Hello in Derived!);则下列语句在控制台中的输出结果为cDerived x = new Derived();x.Hello();A. Hello in Base!B. Hello in DerivedC. Hello in Base!D. Hello in DerivedHello in Derived!Hello in Base12. 下列关于接口的说法中,哪个选项是正确的?(d)A. 一个类可以有多个基类和
9、多个基接口B. 抽象类和接口都不能被实例化C. 抽象类和接口都可以对成员方法进行实现D. 派生类可以不实现抽象基类的抽象方法,但必须实现继承的接口的方法13. 下列关于构造函数的描述中,哪个选项是正确的?(a)A.构造函数必须与类名相同B.构造函数不可以用private 修饰C.构造函数不能带参数D.构造函数可以声明返回类型14. 引用数组元素时,数组下标的数据类型可以允许哪项类型? ( c)A.整型常量B.整型表达式C.整型常量或整型表达式D. 任何类型的表达式15. 以下类 MyClass的属性count属于_c_属性。class MyClassint i;int countget ret
10、urn i; A.只读 B. 只写 C. 可读写 D.不可读不可写16. 要让用户选择和浏览要打开的文件,应使用什么对话框?(b)A. FileDialogB. Ope nFileDialoC. SaveFileDialoD. FolderBrowserDialog17. 在Visual Studio 2005中,假设你正在单步调试某个应用程序。程序从入口开始,调用某个私有方法将产生异常。现在代码运行到如图所示位置,应该使用下面哪种方式进一步调试?aProgT i c s或yConsoleAppliea.ti cm2. Frogr amVCstring args)B using System:
11、using System. Ccllsctions. Generic:123: L using System. Text;rsvzpscw C oriole Appli c Ati gtlZ BN elss Frogran9冲10111213:-14static void Mam(5tring arsj调用此方法会产生异常0oSomathin 0 :privatestatic void BoSomEthing 0A.使用逐语句调试B.使用逐过程调试C.跳出调试D.停止调试18. .NET Framework 2.0中,处理异常是很有用的功能。一个try代码块可以有多个 catch块于之对应。在
12、多个catch块中,下面哪个异常应该最后捕获?aA. System.Excepti on类B. System.SystemExcepti on类C. System.Applicati on Excepti on类 D. System.StackOverflowExcepti on类19. 在二维坐标系中,通常需要保存一组点的坐标。使用二维数组是一个解决方案。下面哪段代码正确初始化了 2行2列的整数二维数组?aA. in t, array = new in t2,2;B. i nt array = new in t22;C. i nt, array = new in t22;D. i nt ar
13、ray = new in t2,2;20. 已经定义了一个 Season枚举,它有 4个成员Spring , Summe,Autumn, Winter。现在需要 定义一个名为currentSeason的Season枚举,并将其赋值为 Spring,应使用下面哪段代码? dA. Seas on curre ntSeas on = Spring; B. curre ntSeas on = Spring;C. curre ntSeas on =Seas on. Spri ng;D. Seas on curre ntSeas on = Seas on. Spri ng;简答题(每题5分,共10分)1.
14、 类与对象有什么区别?答:类是用来描述某种具有相同属性和行为的事物,对象是类的一种具体表现。2. 什么叫多态性,在C#语言中如何实现多态? 答:多态性是指一段程序能够处理多种类型对象的能力。四综合题(共40分)1. 下面这段程序要完成的功能是:从输入的字符串中找出小写字母并输出到终端。请检查下列 代码,找出所有错误的代码,并写出该行完整的正确代码。(4分)1. using System;2. public class Program3. 4. static void Main( stri ng args)5. 6. stri ng in putStri ng=C on sole.ReadL i
15、n e();7. stri ng lowerCase=stri ng.Empty;8. foreach (char ch in in putStri ng)9. if (ch=a|ch=a&ch=z)10. lowerCase+=ch.ToStri ng();2. 下述代码用于重写Message方法。请分析下述代码,并更正错误代码行。 (4分)1. in terface IMsg2. 3. void Message();4. 5. public class MyClass : IMsg6. 7. public virtual void Message()8. 9. Co nsole.Write
16、Li ne(MyClass);10. 11. 12. public class MyDerivedClass : MyClass13. 14. public voidMessage()15. 16. Con sole.WriteLi ne(MyDerivedClass);17. 18. 第14行:更正为:public override void Message。(4分)3. 下面代码功能是对数组进行遍历,请分析下列代码段并在空白行补全C#代码。static void Main(string argz)string myString=windows,form,dialog;foreach( (1
17、)Co nsole.WriteLi ne(str);(1): string str in myString4. 下面程序中两个方法需要实现的功能是:int数组相加,即数组中的每项相加,以及string类型的相加,即把一串字符串接到另一串字符串后面。请分析下列代码段,并在空白行补全visual C#代码。(6分)(1int result=new intarray1.Length ;for (in t i=0;iarray1.Le ngth ;i+)resulti =array1i +array2i;return result;(2) stri ng spaceStr = , result = n
18、 ull;result = str1 + spaceStr + str2;return result;static void Main(string arges)in t a = 1,2, 3, b = 4, 5, 6 ;in t sumArray = new in t3;string str1 = visual, str2 = studio;string sumString = null;sumArray = Add(a, b);sumStri ng = Add(str1, str2);1, static int Add(int arrayl, int array2)2. static st
19、ring Add(string stri, string str2)5. 下列程序段的作用是对字符串数组myArray进行排序后输出“ Ruby Mark Norman Kinger请补全代码完成该功能。(6分)static void Main( stri ng args)string myArray = new string Kinger, Norman, Ruby, Mark ; Sort(myArray);foreach (stri ng str in myArray)Con sole.Write(str + );public static void Sort(string array)
20、string str;for (int j = 0; j array.Le ngth - 2; j+)for (int i = 0; i array.Le ngth - j - 1; i+)str = arrayi; arrayi = arrayi + 1;arrayi + 1 = str;6. 比尔在教他的女儿面向对象的知识。他写了一个类Bill和一个接口 IPrintname。现在他希望女儿能够写一个类Jennifer,继承自Bill,重写基类函数 WhoAml(),将输出改为Jennifer”;并且实现接口 IPri ntn ame,该接口只有一个方法Print,这个方法的实现会在控制台
21、打印调用WhoAmI 函数的结果(即:“Jennifer)。(6 分)public class Billpublic virtual string WhoAmI()return Bill;public interface IPrintnamevoid Print();public class Jennifer : Bill , IPrintnamepublic override string WhoAmI()return Jennifer;public void Print()Console .WriteLine(WhoAmI();7. 下列Shape类是一个表示形状的抽象类,Area()为求
22、图形面积的函数,Total()则是一个通用的用求不同形状的图形面积总和的函数。请从Shape类派生矩形类(Rectangle)、圆形类(Circle),给出具体的求面积函数。并在主函数中写出计算如图所示图形面积的语句。(共10分)namespace testclass Program static void Main( string args)static double Total( shape s)double sum = 0.0;int n = s.Length;for ( int i = 0; i n; i+) sum += si.area();return sum;abstract class Shapepublic abstract double Area();namespace testclass
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度网络安全服务代理佣金服务合同4篇
- 二零二五年度消防设施安装与调试合同2篇
- 二零二五版建筑工程黄沙水泥采购及施工图审查合同3篇
- 2025年度个人二手房居住权买卖附带家具家电配套合同3篇
- 二零二五年度大宗货物物流责任保险合同模板3篇
- 2025年度出口贸易食品与农产品质量安全三方合同4篇
- 2025年度互联网数据中心IDC租赁服务合同范本4篇
- 二零二五年度防火门检测认证合同4篇
- 二零二五年度苗圃基地苗木种植与可持续发展合作合同4篇
- 二零二五年度购房首付保险及理赔流程合同3篇
- 劳动合同续签意见单
- 大学生国家安全教育意义
- 2024年保育员(初级)培训计划和教学大纲-(目录版)
- 河北省石家庄市2023-2024学年高二上学期期末考试 语文 Word版含答案
- 企业正确认识和运用矩阵式管理
- 分布式光伏高处作业专项施工方案
- 陈阅增普通生物学全部课件
- 检验科主任就职演讲稿范文
- 人防工程主体监理质量评估报告
- 20225GRedCap通信技术白皮书
- 燃气有限公司客户服务规范制度
评论
0/150
提交评论