




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 9 页 一、 单项选择题 1 C#是一种面向()的语言。 A.机器B.过程C.C.对象对象D.事物 2 C#源程序文件的默认扩展名为()。 A. cppB. exeC.C. CsCsD. lik 3. 假定一个10 行20 列的二维整型数组,下列哪个 定义语句是正确的()。 A. intarr = new int10,20 B. intarr = int new10,20 C.C. int,arrint,arr = = newnew int10,20int10,20 D. int,arr = new int20;10 4.一个 C#程序总是调用哪个函数作为开始() 。 A. Main B.B. MainMainC. MAIND. 任意标识符 5. 设”int a=12;”,则执行完语句”a+=a*a;” 后,a 的值是()。 A. 12B. 144C.C. 156156D. 288 6.一个解决方案可以包含()项目。 A一个B B多个多个C当前D历史 7下列选项中,()是引用类型。 A.enum 类型B.struct 类型C.stringC.string 类型类型 D.int 类型 8.C#的数据类型有() A.值类型和调用类型 B.B.值类型和引用类型值类型和引用类型 C.引用类型和关系类型 D.关系类型和调用类型 10.下列关于构造函数的描述正确的是() A.构造函数可以声明返回类型 B.构造函数不可以用 private 修饰 C.C.构造函数必须与类名相同构造函数必须与类名相同 D.构造函数不能带参数 11.myArray3=newmyArray3=newint3newint3new int35,6,2,newint35,6,2,new int56,9,7,8,3,newint56,9,7,8,3,new int23,2;int23,2; myArray322myArray322的值是的值是( () ) A.9B.2C.6D.D.越界越界 12. 声 明 一 个 委 托publicdelegateint myCallBack(int x); 则用该委托产生的回调方法 的原型应该是() A.void myCallBack(int x) B.int receive(int num) C.string receive(int x) D.D.不确定的;不确定的; 13.以下类型中不属于值类型的是:()。 A.enum 类型B.struct 类型 C.stringC.string 类型类型 D.int 类型 14. 在C#中定义接口时,使用的关键字是()。 A.interface B.delegate C.classD.overrides 15. 加载窗体时触发的事件是()。 A. Click B.LoadB.Load C.GotFoucsD.DoubleClick 16、面向对象分析的第一步是() A.确定问题域 B.确定附加的系统约束 C.定义服务 D.D.定义类和对象定义类和对象 17. 在C#中定义类时,使用的关键字是()。 A.interface B.delegate C.classC.class D.overrides 18. Winform中,关于ToolBar控件的属性和事件的 描述不正确的是() A.Buttons属性表示ToolBar控件的所有工具栏按钮 B.ButtonSize属性表示ToolBar控件上的工具栏按 钮的大小,如高度和宽度 C.DropDownArrows属性表明工具栏按钮(该按钮有 一列值需要以下拉方式显示)旁边是否显示下箭头 键 D.ButtonClickD.ButtonClick事件在用户单击工具栏任何地方时事件在用户单击工具栏任何地方时 都会触发都会触发 19.在C#中,定义派生类时,指定其基类应使用的语 句是()。 A.InheritsB.B.:C.ClassD.: 20. 将变量从字符串类型转换为数值类型可以使用 的类型转换方法是()。 A.Str()B.Cchar()C.CStr() D.int.Parse();D.int.Parse(); 21 先判断条件的当循环语句是( )。 A. Do.while B.B. WhileWhile C. While.do D. do .loop 22.下列关于抽象类的说法错误的是( ) 。 A.A. 抽象类可以实例化抽象类可以实例化 B. 抽象类一定包含抽象方法 第 2 页 共 9 页 C. 抽象类可以包含非抽象方法 D. 抽象类可以引 用派生类的实例 23.下列说法中,正确的是( ) 。 A.A. 派生类对象可以强制转换为基类对象派生类对象可以强制转换为基类对象 B. 在任何情况下,基类对象都不能转换为派生类对 象 C. 接口不可以实例化,也不可以引用实现该接口的 类的对象 D. 基类对象可以访问派生类的成员 24.以下关于继承的说法错误的是( ) 。 A. .NET 框架类库中,object 类是所有类的基类 B. 派生类不能直接访问基类的私有成员 C. protected 修饰符既有公有成员的特点,又有私 有成员的特点 D.D. 基类对象不能引用派生类对象基类对象不能引用派生类对象 25.关于虚方法实现多态,下列说法错误的是( ) 。 A. 定义虚方法使用关键字virtual B.B. 关键字关键字virtualvirtual 必须与必须与overrideoverride 一起使用一起使用 C. 虚方法是实现多态的一种应用形式 D. 重写方法是实现多态的一种应用形式 26下列关于重载的说法,错误的是( ) 。 A. 方法可以通过指定不同的参数个数重载 B. 方法可以通过指定不同的参数类型重载 C. 方法可以通过指定不同的参数传递方式重载 D.D. 方法可以通过指定不同的返回值类型重载方法可以通过指定不同的返回值类型重载 27.以下说法正确的是( ) 。 A. 接口可以实例化 B. 类只能实现一个接口 C.C. 接口的成员都必须是未实现的接口的成员都必须是未实现的 D. 接口的成员前面可以加访问修饰符 28.下列描述错误的是( ) A.类不可以多重继承而接口可以; B.抽象类自身可以定义成员而接口不可以; C.抽象类和接口都不能被实例化; D.一个类可以有多个基类和多个基接口; 29.StreamWriter 对象的下列方法,可以向文本文 件写入一行带回车和换行的文本的是()。 A.WriteLine()A.WriteLine() B.Write() C.WritetoEnd() D.Read() 30. 下列哪个类必须实例化方可使用其方法()。 A.MathB.FileC.ConsoleD.FileInfoD.FileInfo 31.下面关于静态方法的描述中,错误的是( )。 A. 静态方法属于类,不属于实例 B. 静态方法能用类名调用 C. 静态方法能定义非静态的局部变量 D.D. 静态方法能访问非静态成员静态方法能访问非静态成员 32.如果将窗体的FormBoderStyle设置为None,则 () A.A.窗体没有边框并不能调整大小;窗体没有边框并不能调整大小; B.窗体没有边框但能调整大小; C.窗体有边框但不能调整大小; D.窗体是透明的; 33.下列说法中,正确的是( )。 A.A. 派生类对象可以隐式转换为基类对象派生类对象可以隐式转换为基类对象B. 在任 何情况下,基类对象都不能转换为派生类对象C. 接口不可以实例化,也不可以引用实现该接口的类 的对象D. 基类对象可以访问派生类的成员 34.类中两个以上的同名方法,只要()不同,编译 器就知道调用哪个方法。 A. 参数类型B.参数类型或返回类型C. 参数 顺序D.D.参数类型或参数个数参数类型或参数个数 35.c#程序中, 可使用 try.catch 机制来处理程序 出现的()错误 A.语法B.B.运行运行C.逻辑D.拼写 二、 .填空题 1.对象之间的关系可以在类级别上进行概括为聚 合、依赖、泛化和一般关联。 2一般将类的构造方法声明为_public_访问 权限。 如果声明为private, 就不能创建该类的对象。 3.类中声明的属性往往具有get和_set_两 个访问器。 4. C#提供一个默认的无参构造函数,当我实现了另 外一个有一个参数的构造函数时,还想保留这个无 参数的构造函数。这时应该写_2_个构造函数。 5.C#的类不支持多重继承,但可以用_接口 _来实现。 7.当基类中没有无参数的构造函数时,派生类的构 造函数需要通过_base_关键字指定需要调用 的基类构造函数。 第 3 页 共 9 页 8.面向对象的语言具有_封装_性、_继承 _性、_ 多态_性。 9c#中的三元运算符是_:?_。 10. 当整数a赋值给一个object对象时,整数a将会 被_装箱_。 11.Radiobutton控件又叫作单选按钮,常用于在 一组互斥选项中选择一项。 12. 委托声明的关键字是_delegate_。 13.在c#中,类的静态成员属于_类型本身_所 有, 非静态成员属于_类型的实例 (对象) _所有。 14.特殊类可自动具有一般类的属性和操作,这叫做 _继承_。 15C#程序中,定义命名空间的关键字是 _namespace_。 16.object类型可以显示转换为值类型,这个过程称 _拆箱_。 17.判断C盘是否存在文件a.txt,可用语句: File._Exists(“C:a.txt”)_ _。 18label控件表示文本标签,文本内容就是其 _Text_属性。 19.定义抽象类需要使用关键字_ abstract_。 20.对于方法,参数传递分为值传递和_引用传递 _两种。 21.同一事物在不同条件下可以表现出不同的形态, 称为_多态性_. 22. 单击Button按钮时,将触发其_Click_事 件。 三、判断正误 (0111061890100100001 2021 1 23 1) 1.在 C#中,装箱操作是将值类型转化成引用类型。 () 2.接口中的成员不可以有访问域修饰符,但可以有 其它修饰符。 () 3.在 C#中,接口可以被多重继承而类不能。() 4. 异常类对象均为 System.Exception 类的对象。 () 5. 委托是将方法作为参数传递给另一方法的一种 数据类型。事件与委托没有关系。 () 6.声明委托实际上是声明了一个具体方法。 () 7.任何事物都是对象。 () 8.当窗体最小化后,再次还原成为活动窗体时将自 动触发Paint事件。 () 9.如果要实现重写,在基类的方法中必须使用 virtual 关键字,在派生类的方法中必须使用 overrides 关键字。 () 10.在 C#中,派生类能继承基类中用 private 修饰 的成员变量和成员方法。 () 11. 当创建派生类对象时, 先执行基类的构造函数, 后执行派生类的构造函数。 () 12. 类和对象的区别就是,类是对象的实例,而对 象则是类的抽象。 () 13. 下述代码实现了 DerivedClass 类对 FinalClass 了类的继承: Sealed class FinalClass Class DerivedClass:FinalClass () 14. C#使用 try-catch-finally 异常处理机制扑捉 和处理错误。 () 15. 构造函数用于创建类的实例对象,构造函数名 应该与类名相同,在类中必须定义构造函数,且只 能定义一个构造函数。 () 16.可以根据返回值类型来确定所调用的重载方法。 () 17. c#把文件当做流来处理,即顺序的字节序列。 () 18. 在C#类中,this代表了当前类本身。 () 19.使用FileInfo类的Copy()方法可以复制文件 () 。 20. 所有的文件输入输出流都在 System.write 和 System.read 中。 () 21.引用类型的变量直接存储其数据。 () 22.在 C#中, 接口可以被多重继承而类不能 () 。 23.可以在程序中调用空委托,将不产生任何结果。 () 24. 静态类和实例类的区别在于:静态类不需要初 始化即可直接使用,实例类需要进行实例化,生成 对象才可使用。() 第 4 页 共 9 页 四、简答题 1. 面向对象的思想主要包括什么? (面向对象编程 的三大原则是什么?)分别加以说明。 答:封装、继承、多态,封装:用抽象的数据类型 将数据和基于数据的操作封装在一起,数据被保护 在抽象数据类型内部;继承:子类拥有父类的所有 数据和操作;多态:一个程序中同名的不同方法共 存的情况。 2. C#中的接口和类有什么异同。 答:接口负责功能的定义,项目中通过接口来规范 类、操作类以及抽象类的概念,其负责功能的具体 体现在其中也有抽象类的定义。 抽象类与接口的区别在于:抽象类是一个不完全的 类,其具有抽象的方法属性,也具有具体的方法属 性,一个接口是一个行为的规范,里面的所有方法 都是抽象的,一个类只能有一个基类,但可以实现 多个接口。 相同:都是引用类型。 3. 什么是装箱和拆箱?举例说明。 答:任何值类型、引用类型都可以和 object(对象) 类型之间进行转换。装箱转换是指将一个值类型隐 式或显式转换成一个 object 类型, 或者把这个值类 型 转 换 成 一 个 被 值 类 型 应 用 的 接 口 类 型 (interface-type) 。 把一个值类型的值装箱, 例如: int i=8 ; object obj=i ; 隐 式 装 箱 , object obj=object(i) ;拆箱转换是将一个对象类型显式 转换成一个值类型或是将一个接口类型显式的转换 成一个执行该接口的值类型。 例如: int i=8; object obj=i;int j=(int)obj; 。 4.对于继承中的重载,隐藏基类成员、虚拟方法, 抽象方法,它们之间有什么区别和联系? 答: 5.C#有哪几种类型的成员访问性限制? 答:private 私有:表示不允许外部对象访问该成 员;public 公有:表示允许外部对象访问该成员; protected 保护:表示只允许当前类及其派生类的 对象访问该成员;internal 内部:表示不允许外部 程序集访问该成员。 6. 构造函数有什么特点,如何使用。 答:1.构造函数的命名必须和类名完全相同;2.构 造函数的功能主要用于在类的对象的创建时定义初 始化状态。他没有返回值,也不能用 void 来修饰, 可以带参数,也可以不带参数;3.构造函数不能被 显式调用,必须通过 new 运算符在创建对象时才会 自动调用;4.构造函数可以重载从而提供初始化类 对象的不同方法;5.当一个类定义了私有的构造函 数,将无法通过 new 关键字来创建其对象,当一个 类没有定义任何构造函数,C#编译器会为其自动生 成一个默认的无参的构造函数。 7. 简述通过委托来调用对象方法的基本过程。 答:1.定义委托原型,其签名与要封装的方 法保持一致;2.定义委托类型变量;3.使用 new 创建委托对象要封装的方法作为参数传 给构造函数;4.通过委托对象调用方法。 8.简述派生类对象创建和销毁时所调用的构造函 数、析构函数及次序。 答:创建派生类对象先调用父类的构造函数,再调 用其自身的构造函数。销毁派生类对象时,则先执 行派生类的析构函数,再执行其类的析构函数。 五、程序设计题 1、写出以下程序的运行结果。 using System; class Test public static void Main() int x = 5; int y = x+; Console.WriteLine(y); y=+x; Console.WriteLine(y); 第 5 页 共 9 页 2. 写出下列函数的功能。 static int SA(int a,int b) if (ab) return 1; else if (a=b) return 0; else return -1; 比较两个整数的大小 2、在下面的例子里 using System; class A public A() PrintFields(); public virtual void PrintFields() class B:A int x=1; int y; public B()y=-1; public override void PrintFields() Console.WriteLine(“x=0,y=1“,x,y); 当使用 new B()创建 B 的实例时,产生什么输 出? 3. 写出下列函数的功能。 static int SA(int a,int b) if (ab) return -1; else if (a=b) return 0; else return 1; 4.写出下列程序段的运行结果。 class Program static void Main() Student s1 = new Student(“王小红“); Student s2 = new Student(“周军“); s1 = new Student(“Jerry“); public class Student public static int objects = 0, classes = 0; public string name; public Student(string n) /实例构造函数 name = n; Console.WriteLine(“对象计数: 0“, +objects); static Student() /静态构造函数 Console.WriteLine(“类计数: 0“,+classes); 第 6 页 共 9 页 5.写出下列程序段的运行结果。 class Program delegate void DualFunction(double x, double y); static void Main() DualFunction fun1 = null; DualFunction fun2 = new DualFunction(Sub); DualFunction fun3 = Add + fun2; fun3(2.5, 2); fun3 -= fun2; Console.WriteLine(fun1 = fun3); static void Add(double x, double y) Console.WriteLine(“0 + 1 = 2“, x, y, x + y); static void Sub(double x, double y) Console.WriteLine(“0 - 1 = 2“, x, y, x - y); 6.在Program类中定义Exchange方法,以引用方式传 递参数实现其交换。 class Program static void Main() int x = 15, y = 25; Exchange(ref x, ref y); Console.WriteLine(“交换结果: x = 0, y = 1“, x, y); / 在此处完成两个数的交换 public static void Exchange () public static void Exchange(ref int x,ref int y) int e = 0; e = x; x = y; y = e; 7.现有复数类ComplexNumber,试重载其乘法操作符 *。 public class ComplexNumber public double a = 0, b = 0; public ComplexNumber(double x1, double x2) a = x1; b = x2; / 在此处重载其乘法操作符* public public staticComplexNumber operator *(ComplexNumber c1,ComplexNumber c2) return new ComplexNumber(c1.a * c2.a - c1.b * c2.b,c1.a * c2.b + c1.b * c2.a); 8.定义一个学生 Student 类,要求:此类包含姓名、 学号、成绩、科目,其中学号为只读属性,构造函 数要求对各个属性赋初值并能够显示各属性的值。 class Program static void Main(string args) student s = new student(“小明 “,“2010“,78,“数学“); Console.ReadKey(); 第 7 页 共 9 页 class student privatestring xingming; private string xuehao; private int chengji; private string kemu; publicstring Xuehao get return xuehao; public student() public student(string xm,string xh,int cj,string km) xingming = xm; xuehao = xh; chengji = cj; kemu = km; Console.WriteLine(“姓名:0学号:1 成绩:2科目: 3“,xingming,xuehao,chengji,kemu ); 9.定义一个 Person 类, 要求: 属性包含姓名、 年龄、 身份证号、工作,其中身份证号为只读属性,构造 函数要求对各个属性赋初值并能够显示各属性的 值。 10.题目:设计一密码修改程序,要求写出点击确定 按钮和取消按钮后的实现代码: 当单击“确定”按钮后,首先比较“用户名” 和“原密码”是否都为“admin”, 若是则继续执行 步骤 2;否则弹出消息框,提示用户出错,并让用 户重新输入。 比较“新密码(N) ”和“新密码(S) ”,若两 者一致,弹出密码修改成功消息框,程序终止执行。 否则弹出错误消息,并让用户重新输入。 当单击“取消”按钮后,程序终止执 public partial class 修改密码 : Form private int i = 0; public 修改密码() InitializeComponent(); private void buttonok_Click(object s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爆破拆除 楼房合同范本
- 劳务大工小工合同范本
- 冯骥才的《书架》的全文
- 1.2 地球与地球仪 (课时3课件) 利用经纬网定位【人教七上地理情境课堂课件】
- 2026届辽宁省凌源二中化学高三上期中质量跟踪监视模拟试题含解析
- 2025年河南省洛阳市事业单位工勤技能考试题库(含答案)
- 销售合同审核流程表合同条款审查与执行跟踪版
- 网络内容管理合同续签
- 乐器生产合同
- 2025年网络安全工程师进阶考试题库及解析
- 桥梁安全事故案例警示
- 育婴员理论模拟考试试题及答案
- 杨式85式太极拳现用图解
- YY/T 1095-2015肌电生物反馈仪
- SB/T 10460-2008商用电开水器
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GA 1800.2-2021电力系统治安反恐防范要求第2部分:火力发电企业
- 细胞生物学实验课件:细胞组分的分级分离
- 合理选择影像检查方法课件
- 欣旺集团种禽养殖管理制度手册
- 口服化疗药精品课件
评论
0/150
提交评论