当前位置:文档之家› 面向对象程序设计C#.NET-期末试卷及答案汇编

面向对象程序设计C#.NET-期末试卷及答案汇编

学习-----好资料期末考试试卷课程名称:面向对象程序设计C#.NET 适用年级/专业: 081/计算机试卷类别开卷(√)闭卷()学历层次本科考试用时 120分钟《考生注意:答案要全部抄到答题纸上,做在试卷上不给分》...........................///////////////////////////////////////////////////一、单项选择题(每小题1分,共20分)1. C#不支持的注释格式是。

A. //单行注释B. -- 单行注释C. /*多行注释*/ D. ///xml注释2. 以下标识符中,正确的是。

A. _nNameB. MainC. 6PtuerD. x5#3. Microsoft .Net Framework SDK内置的C#编译器是。

A.cs.exe B.javac.exe C. csc.exe D. scs.exe4. 以下说法中,正确的是。

A.Main函数是由C#语言提供的标准函数,不需要用户编写它的内容。

B.在C#程序中,要调用的函数必须在Main函数中定义。

C.在C#程序中,必须显式调用Main函数,它才起作用。

D.一个C#程序无论包含多少个函数,C#程序总是从Main函数开始执行。

5.派生类能够直接访问的基类的成员是。

A.抽象成员 B.保护成员C.私有成员D.静态成员6.下面是几条定义类的语句,不能被继承的类是。

A.abstract class Figure B.class FigureC.public class Figure D.sealed class Figure 7.下列数组初始化语句哪些是不正确的?。

A.int[] nums = new int[]{0,1,2,3,4};B.int[] nums2 = {0,1,2,3,4,5};C.int[][] num_1 = {new int[]{0,1},new int[]{0,1,2},newint[]{0,1,2,3}};D.int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}};8. 下面有关虚方法的描述正确的是。

A. 虚方法与非虚方法相比,其优点在于:能在程序运行时,动态确定要调用的方法,因而更灵活,更方便。

B.在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符。

C.重写基类的虚方法时,为消除隐藏基类成员的警告,需要带new修饰符。

D.重写基类的虚方法时,需要同时带上override和virtual修饰符。

9.如果不带修饰符,C#中类成员被默认声明成。

A.public型B.protected型C.private型D.static型10.子类从父类中继承了一个方法,但此方法在子类无用,所以可以隐藏基类中的方法,只要在子类中使用关键字:。

A.overrideB.newC.virtualD.sealed11.下列类型中,那个是值类型。

A.枚举B. 类C. 接口D. 数组12. C#源程序文件的扩展名为。

A. .vb B. .c C. .cpp D. .cs13. 下面的选项中,不能用于区别重载方法的是。

A.返回类型B.参数个数 C.参数类型 D.参数顺序14. 下面对C#中类的构造函数描述正确的是。

A.与方法不同的是,构造函数只有void这一种返回类型。

B.构造函数如同方法一样,需要人为调用才能执行其功能。

C.构造函数一般被声明成private型。

D.在类中可重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数。

15. 假设变量均已正确声明,以下没有语法错误的是:。

A. if(2-3) { a=a+3; }B. switch(name){ case “li”: ShowMessage(“okli”);break;case “le”: ShowMessage(“okle”);break;default: ShowMessage(“oklo”);}C. switch(month){ case 1: dd=31; case 2: dd=28;default: ShowMessage(“oklo”);}D.foreach(Stu p at school){p.age+=1;}16. 对字符串使用正则表达式所产生的结果不可能是:。

A.字符串和正则表达式匹配。

B.返回一个子串。

C.返回一个整数表示字符串长度。

D.返回一个新字符串,表示字符串某个部分的修改。

17. 已知customers 是包含ID、FirstName、Email三个属性的列表,数据库表的名称为Customer,则下面的LINQ表达式转换成SQL语句正确的是。

Var Resut=from customer in customerswhere customer.FirstName=”Ptuer”select customerA.Select * from CustomerB.select ID,FirstName,Email from Customer where FirstName=”Puter”C.select * from Customers where FirstName=”Puter”D. select Ptuer、ID,FirstName,Email from Customerwhere FirstName=”Puter”18. 下列的术语与数据库连接无关的是。

A. ODBCB. C. LINQD.OSD19. Visual Studio 中常用的创建事件处理程序是。

A. 点击控件,然后在其属性窗口创建名事件的处理程序。

B. 双击控件。

C. 打开现存的事件处理程序下拉列表,选择要创建的时间名称。

D. 以上都可以。

20. 下列表述不是面向对象程序设计特性的是:。

A. 封装B. 继承C. 映射D. 多态二、填空题(每小题2分,共20分)1.按照后进先出(LIFO)原则存储数据项的数据结构是。

①2.C#中类的成员包括:字段、①、方法3.如果需要在C#的方法中传递数目可变的参数,则需要在参数前加上①关键字。

4.C#中所有的类都派生于①类。

5.结构体是传递给方法时,是按①传递的。

6.①与类都可以被继承,但是与类不同的是它可以被多继承。

7.C#中提供了现成的方法①可以对数组进行排序。

8..NET中包含的string类提供了很多的字符串处理方法,其中用来获取子串的方法是①。

9.LINQ表达式是延迟执行的,一般会在我们访问①时发生。

10. Windows Forms 编程中控件的属性决定其外观,①决定其行为。

三、阅读代码,写结果(每小题5分,共10分)1.当输入 e 和 q 时下列代码的输出结果是什么?namespace Answer{ class Program{static void Main(string[] args){ char c;while((c= convert.ToChar(Console.ReadLine()))!=’q’){ Console.WriteLine(“你输入的是:{0}”,c); }} } }2.分析下列程序,写出运行结果using System;public class OverAdd{ public int real;public int visual;public static OverAdd operator -(OverAdd op1, OverAdd op2){ OverAdd op = new OverAdd();op.real = op1.real - op2.real;op.visual = op1.visual - op2.visual;return op;}}class program{ public static void Main(string[] args){ OverAdd Opt = new OverAdd();OverAdd Opt1 = new OverAdd();OverAdd Opt2 = new OverAdd();Opt1.real = 6; Opt1.visual = 3; Opt2.real = 4;Opt2.visual = 7; Opt = Opt1 - Opt2;int tem = Opt1.real - 1;int m=Convert.ToInt32(tem);Console.WriteLine("({0})+({1})i", Opt.real, Opt.visual);Console.ReadKey();}}四、简答题(每小题6分,共30分)1. C#预处理命令的作用是什么?常用的预处理命令有那些?(至少写出4个)2. 什么是只读字段,如何对只读字段进行赋值?3. 简述正则表达式的组成。

4. 什么是不规则数组,声明一个二维字符型不规则数组的代码定义。

5. 使用VS中的LINQ To SQL设计器生成数据库表的映射类的一般步骤是怎样的?五、按要求写程序(每小题10分,共20分)1. 已知某个程序的类关系图如下,请按照图中的结构写出程序,方法的具体内容自定,但是Main()方法必须调用Write()方法属性属性方法方法方法2. (1)定义一个基类MyClass,其中包含虚拟的方法GetString(),这个方法返回存储在私有字段myString中的字符串,该字段可以通过只写公共属性ContainedString来赋值。

(2)然后从类MyClass中派生一个类MyDerivedClass。

重写GetString()方法,该方法的调用基类中的GetString()方法从基类中返回字符串myString,但在返回的字符串后添加“ Output from derived class”字符串。

(3)主函数实现:从键盘输入一个字符串存入myString,然后输出MyDerivedClass中GetString() 方法的返回的字符串。

相关主题