《c#程序设计》练习题.doc
《《c#程序设计》练习题.doc》由会员分享,可在线阅读,更多相关《《c#程序设计》练习题.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c#程序设计练习题一、判断题( )1在C# 2008编程环境中,常量的值可以在代码中被修改。( )2对象与对象之间的关系可以分为三类:包含、继承和关联。( )3属性就是实体特征的抽象,比如,对象猫可以有重量,身长等属性。 ( )4派生类可以继承基类的成员,以及方法的实现;派生的接口继承了父接口的成员方法,并且也继承父接口方法的实现。( )5当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。 ( )6如果在try块之后没有任何catch块,那么finally块也是可选的。( )7如果基类没有默认的构造函数,那么其派生类构造函数必须通过base关键字来调用基类的构造函数。 ( )8
2、try块是不可以实现嵌套的,但是一个try块可以对应多个catch块。( )9密封类不允许被继承,因而不能由密封类派生岀其他类。 ( )10方法的重载允许两个方法的名称和参数列表相同,而返回类型不同。( )11“+、-、*、/、%、+、-均属于二元运算符。 ( )12字符串类型属性引用类型。 ( )13Visual Studio控件的属性窗口中,按钮“A-Z”点击后,属性列表会先按照功能分类排列属性后在每个单元中以名称排序。 ( )14隐式类型转换就是不需要声明目标类型就可以进行的转换。 ( )15. 在C#中在派生类中重新定义基类类的虚函数必须在前面加override。 ( )16C中方法的
3、参数中输出型参数(out)的实参在传递给形参前,不需要明确赋值,但需在方法返回前对该参数明确赋值。( )17在类中可以重载构造函数,C会根据参数匹配原则来选择执行合适的构造函数。( )18在 C#的方法中定义一个常量要用 const 关键字。 ( )19数组、类和接口都是引用数据类型。( )20C#异常处理中可以使用多个 catch 子句, 此时应将高级别异常类的 catch 子句放在前面。( )21实现一个接口,则在类中一定要实现接口中的所有方法。 ( )22 构造函数用于创建类的实例对象, 构造函数名应与类名相同, 在类中必须定义构造函数, 且只能定义一个构造函数。( )23类体中 pri
4、vate 修饰的变量在本类中能访问,类生成的对象也能访问。( )24委托是将方法作为参数传递给另一方法的一种数据类型,事件与委托没有关系。 二、选择题1. C#的数据类型有数值类型和( )类型两种。A结构类型 B关系类型 C调用类型 D引用类型 2. C#中,新建一字符串变量str,并将字符串Toms Living Room保存到串中,则应该使用下列哪条语句?( )A. string str = Toms Living Room; B. string str = Toms Living Room; C. string str(Toms Living Room); D. string str(T
5、oms Living Room);3. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成( )。A. sealed 方法 B. public 方法 C. virtual 方法 D. override 方法4. 用关于重载,以下叙述错误的是( )。A. 重载是指在类的内部存在若干个方法名称一致但是参数列表不同的方法B. 方法重载是指创建多个名称相同的方法,其中每个方法都在某些方面具有唯一性,以便编译器能够正确区别它们C. 重载构造函数的方式与重载方法的方式相同D. 方法的重载允许两个方法的名称和参数列表相同,而返回类型不同5. 下面是一个
6、派生类的定义语句:public class car: vehicle private string model=”L”; private int wheelNo=4;请指出针对该定义的正确的说法( )。A. vehicle类是car类的一个特例,因而它可以被继承B. car类是父类,vehicle类是子类C. 在car类中定义的成员model和wheelNo会删除vehicle类中同名的成员D. car类是vehicle类的一个特例,它可以继承vehicle类中除构造函数和析构函数以外的所有成员6.( )关键字可以用来访问当前对象的基类对象。Aobject Bthis Cas Dbase7.
7、下面有关虚方法的描述正确的是( )。A. 虚方法能在程序运行时,动态确定要调用的方法,因而比非虚方法更灵活,更方便B. 在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符C. 重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符D. 在重写虚方法时,需要同时带上override和virtual修饰符8. 分析下列代码段:static void Main(string args) String words=new stringa,b,c; foreach (string word in words) word = abc; Console.WriteLine(
8、word); Console.ReadKey(); 最终的运行结果是什么?( )A. bc ac ab B. abc abc abc C. 不能正确编译 D. a b c9. 已知类MyClass 中事件MouseClicked 定义如下: public static event MouseClickedListener MouseClicked;执行下列语句:MouseClicked += new MouseClickedListener(obj.DoSomething);MouseClicked += new MouseClickedListener(obj.DoSomething);然后
9、引发该MouseClicked 事件,其结果为:( )A. obj.DoSomething 方法被调用4 次B. obj.DoSomething 方法被调用2 次C. obj.DoSomething 方法被调用1 D. obj. DoSomething 方法不会被调用10. 下列关于多态的说法中,那个是正确的?( )A. 虚方法是实现多态的唯一手段B. 重写虚方法时可以为虚方法指定别称C. 多态性是指以相似的手段来处理不相同的派生类D. 抽象类中不可以包含虚方法 11. C#中TestClass为一自定义类,其中有以下属性定义public void Property使用以下语句创建了该类的对象
10、,并使变量obj引用该对象:TestClass obj=new TestClass();那么,可通过什么方式访问类TestClass的Property属性( )。A.MyClass.Progerty; B.obj: Property; C.obj. Property; D.obj. Property();12. 下列关于继承说法中,哪个选项是正确的?( )A. 继承是指派生类可以获取其基类特征的能力B. 继承最主要的优点是提高代码性能C. 派生类可以继承多个基类的方法和属性D. 派生类必须通过base关键字调用基类的构造函数13.对于trycatchfinally如下结构,下面说法中,哪项是正
11、确的?( )A. 在finaly块中放置return语句,编译可以通过B. 无论程序是否出现异常,finally块总是被执行的C. 一个try块只能和一个catch块对应D. 异常处理时,try块是可以省略的14. 分析下列程序代码:using System;class Program static void Main(string args) string testString = Visual Studio 2008; string newString = string.Empty; foreach (char ch in testString) if (ch = i | ch = u)
12、continue; newString += ch.ToString(); Console.WriteLine(newString); 哪项的输出是正确的?( )A. iu ui B. VC. Vsal Stdo 2008 D. Visual Studio 200815在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的( )成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。A. Append B. Create C. CreateNew D. Truncate 16. 以下类型中,不属于值类型的是( )。A. 整数类型 B. 布尔类型 C. 枚举
13、 D. 类类型17. 用户自定义的异常类应该从哪个类中继承( )。A. System.ArgumentException B. System.IO.IOExceptionC. System.SystemException D. System.ApplicationException18. 以下关于抽象类的说法,其中错误的是( )。A. 抽象类可以实例化B. 抽象类可以包含抽象方法C. 抽象类可以包含非抽象方法D. 抽象类中可以定义成员变量19. 下列语句声明了一个委托:public delegate int myCallBack(int x);则用该委托产生的回调方法的原型应该是( )。A.v
14、oid receive (int x) B.int receive(int num)C.int receive( ) D.不确定的20. 类MyClass 中有下列方法定义:public void testParams(params int arr) Console.Write (使用Params参数!);public void testParams(int x,int y) Console.Write (使用两个整型参数!);请问上述方法重载有无二义性?若没有,则下列语句的输出为( )。MyClass x = new MyClass();x.testParams(0); x.testPara
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c#程序设计 c# 程序设计 练习题
限制150内