面向对象试卷A卷_第1页
面向对象试卷A卷_第2页
面向对象试卷A卷_第3页
面向对象试卷A卷_第4页
面向对象试卷A卷_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

《面向对象程序设计》课程期末考试试卷入卷面向对象系统的三大特点是()【A】封装性、继承性和多态性 【B】封装性、重载和参数化多态性【C】类、对象和接口 【D】信息隐藏、继承性和多态性下列数据类型,不是引用类型的是()【A】数组【B】string【C】结构体【D】类下面的程序段运行后,变量13的值是()boolb=true;Console.WriteLine(67>56&&(b=false));【A】true 【B】false 【C】1【D】0下列叙述正确的是()【A】C#中float类型和decimal类型的数据可以相互自动转换;【B】C#中double类型和decimal类型的数据可以相互自动转换;【C】C#中整型和bool类型的数据可以相互自动转换;【D】C#中float类型的数据可以自动转换为double类型。switch语句的基本结构为switch(exp){...},其中表达式exp的类型不能是()。【A】整型【B】字符或字符串【C】枚举类型 【D】实型下列关于foreach^句说法错误的是()。【A】foreach语句可以用来遍历数组中的元素;【B】foreach语句有一个限制,即在循环体内不允许通过迭代变量修改集合的元素;【C】如果一个对象支持接口IEnumerable或IEnumerable<T>,那么就可以将该对象作为foreach语句遍历的集合对象;【D】foreach语句中迭代变量只能是值类型的。TOC\o"1-5"\h\z下列定义和初始化二维数组的选项错误的是( )。【A】int[,]nums ={{1,2,3},{4, 5,6 }};【B】int[,]nums =newint[,]{{1,2, 3}, {4,5,6} };【C】int[,]nums =newint[2,3]{{1, 2,3 },{4,5,6 } };【D】int[,]nums =newint[2,3]{{1, 2,3 },{4,5,6 ,7}};下列关于C#中结构体和类叙述正确的是( )。【A】结构体和类唯一的区别是结构体中成员的默认访问控制方式为public,而类中成员的默认访问控制方式为private;【B】结构体是值类型的,而类是引用类型的;【C】类中可以定义成员数据和成员方法,而结构体中不能;【D】类中可以定义构造函数和析构函数,而结构体中不能。下列关于ref和out的说法错误的是( )。【A】ref和out不仅可以修饰值类型的参数,也可以修饰引用类型的参数;【B】定义方法时形参如果使用ref或out进行修饰,调用方法时对应的实参也要使用ref或out进行修饰;【C】用ref和out修饰引用类型的参数时,它们使得引用本身通过引用来传递;【D】不管是使用ref或out修饰参数,在调用方法之前,都必须给参数赋值。下列关于方法重载的说法错误的是()。【A】如果两个方法的参数个数不同可以构成重载;【B】如果两个方法对应的参数类型不同可以构成重载;【C】如果两个方法的返回值类型不同可以构成重载;【D】方法publicvoidfun(outintx){}和publicvoidfun(refintx){}不可以构成重载。下列关于构造函数和析构函数的说法错误的是()。【A】析构函数没有参数;【B】构造函数可以重载,而析构函数不能重载;【C】析构函数可以重载,而构造函数不能重载;【D】构造函数和析构函数名都与类名相同,两个方法都不能指定返回值类型。下列关于静态成员和实例成员的说法错误的是()。【A】静态成员是属于整个类的,而实例成员是属于类的某个对象的;【B】可以定义静态构造函数,类的静态构造函数在实例构造函数之前被调用;【C】静态成员可以通过类名来访问,而实例成员必须通过对象名来访问;【D】静态方法只能直接访问类的静态成员,实例方法也只能直接访问实例成员。下列能创建其对象的选项是( )。【A】静态类【B】密封类 【C】抽象类【D】接口下列关于索引器和属性的说法错误的是()。【A】属性不能重载,索引器可以重载;【B】和属性一样,索引器都没有定义存储位置,索引索引器产生的值不能作为ref或out参数传递给方法;【C】索引器必须是类的实例成员,不能声明为static类型;【D】索引器和属性一样可以声明为静态的。下列关于C#运算符重载,说法错误的是()。【A】true和false也可以作为运算符进行重载;【B】重载运算符的方法必须是静态方法,不能是实例方法;【C】重载运算符时,可以改变运算符的优先级和结合性,也能改变操作数的个数;【D】逻辑运算符&&和II不能重载,但可以通过重载&和来实现其功能。二、填空题(每小题1分,共20分)语句Console.WriteLine(@"Hesaid:""Yes""")的执行结果是( )。C#中的三元运算符是( )。在方法中可以定义数量可变的参数,这种参数是使用( )修饰的数组参数,一个方法可以有( )个这样的参数,并且必须位于参数表的最右边。用( )修饰的字段,一旦被初始化之后就不能修改。一个可读写属性需要同时定义( )访问器和( )访问器。TOC\o"1-5"\h\z()允许创建类的层次结构;多态性可以分为()和( )。使用( )修饰的方法是虚方法,使用( )修饰的方法是抽象方法。只有一个基类的继承称为( )继承,C#支持基于( )的多继承,不支持基于( )的多继承。 一泛型类publicclassPair<L,R>whereR:IComparable,new()(}采用的类型限制是()和( )。泛型类的( )既不属于泛型类的某个实例,也不属于泛型类,而是属于泛型类的( )。C#中一个方法只能有一个返回值,如果希望一个方法能够带回多个值,可以使用输出参数,使用( )修饰参数。三、改错题,要求在错误的代码下面划波浪线,修改后的代码写在题目后面的横线上。(每小题5分(找出错误2分,改正3分),共15分)。下面的程序有一处错误请改正。usingSystem;namespaceprogram{classnestscopepublicstaticvoidMain(){intcount;for(count=0;count<10;count++){Console.WriteLine("Thisiscount:"+count);intcount;Console.WriteLine(count);}}}}修改为: 下面的程序有一处错误,请改正。usingSystem;namespaceP2{classJaggedDemo{publicstaticvoidMain(){int[][]arr=newint[3][];arr[0]=newint[5]{0,1,2,3,4};arr[1]=newint[4]{0,1,2,3};arr[2]=newint[7]{0,1,2,3,4,5,6};foreach(intxinarr)for(inti=0;i<x.Length;i++)x[i]=i;Console.Read();}}}修改为: 下面的程序的输出结果是20,请改正程序中的错误。usingSystem;namespaceP5{classRect{intwidth,length;publicRect(intwidth,intlength){width=width;length=length;}publicvoidShowArea(){Console.WriteLine(width*length);}}publicstaticvoidMain(){Rectr=newRect(4,5);r.ShowArea();Console.Read();}}}修改为:四、阅读程序,写出程序的运行结果(每小题5分,共20分)。usingSystem;namespaceP5{classTA{publicstaticvoidfun(refintx,refinty){intt;t=x;x=y;y=t;}}classDemo{publicstaticvoidMain(){inta=12,b=65;TA.fun(refa,refb);Console.WriteLine("a={0},b={1}”,a,b);}}}程序运行结果是:2.usingSystem;namespaceP5{classoverload{publicvoidfun(inta){Console.WriteLine("callfun(int)");}publicvoidfun(bytea){Console.WriteLine("callfun(byte)");}}classOverloadDemo{publicstaticvoidMain(){overloadobj=newoverload();inti=10;byteb=88;shorts=10;obj.fun(i);obj.fun(b);obj.fun(s);Console.ReadLine();}}}程序运行结果是:3.usingSystem;namespaceP54{classTA{publicstaticinta;publicintb;staticTA(){a=10;Console.WriteLineC调用静态构造函数!");}publicTA(inty){b=y;Console.WriteLineC调用非静态构造函数!”);}}classTADemo{publicstaticvoidMain(){TAob=newTA(40);Console.WriteLine(TA.a+","+ob.b);Console.Read();}}}程序运行结果是:4.usingSystem;usingSystem.Collections;namespacedemo{classDemo{publicstaticvoidMain(){int[]x={5,6,8,9,10,-12};Stacks1=newStack(x);foreach(intiins1)Console.WriteLine(i);Console.WriteLine();}}}程序运行结果是:五、程序设计(共15分)。请按要求实现程序中没有实现方法。usingSystem;namespacedemo{abstractclassShape{publicabstractdoubleGetCircumference();publicabstractdoubleGetArea();}classRectangle:Shape{privatedoublelength,width;publicRectangle(doublelength,doublewidth){this.length=length;this.width=width;}〃下面请重载虚方法GetCircumference实现矩形周长的计算〃下面请重载虚方法GetArea实现矩形面积的计算}classCircle:Shape{privatedoubleradius;publicCircle(doubleradius){this.radius=radius;}〃下面请重载虚方法GetCircumference实现圆周长的计算〃下面重载虚方法GetArea实现圆面

温馨提示

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

评论

0/150

提交评论