.NET OOP测试卷(C#试题及答案)【测试范围:使用C#开发.NET平台应用程序】
c#oop阶段小测试笔试题
C# OOP 内测试卷(答案请写在记事本文件中:笔试答案.txt)一选择题(2’X60=120’)1..Net框架结构的核心组件是()A.公共语言运行时B.支持跨语言开发C.框架类库D.MSIL2.以下哪个不是CLR提供的()功能A.代码托管B.CTSC.CLSD.C#编译成MSIL3.()保证我们在.Net开发中不同的语言类型之间互相兼容A.CTSB.CLSC.JIT编译器D.MSIL4.想使用WebClient类进行下载操作,要引用( )命名空间A.B.C.5..NET框架将()定义为一组规则,所有的.NET语言都应该遵循这个规则,这样才能创建与其他语言互操作性的应用程序。
A.CTSB.CLSC.MSILD.CLR6.在.NET中,下面对.NET Framework理解错误的是()框架是运行在操作系统之上的框架支持跨语言开发,入C#、等C.CTS也叫公共语言运行时,它是.NET运行的基础D.为实现跨语言开发和跨平台的战略目标,.NET所有编写的应用程序都是编译成微软中间语言JIT,再由编译器转成机器代码7.在C#中,下面数据类型是值类型的是()A.boolB.stringC.enumD.Array8.关于结构说法正确的是()A.结构和类一样是引用类型B.定义一个结构对象必须用new关键字C.定义结构时可以给字段赋初始值D.结构里可以有属性和方法9.关于值类型和引用类型,下列说法正确的是A.值类型变量存储的是变量所包含的值B.引用类型变量是指向他要存储的值C.值类型转引用类型称为拆箱D.引用类型转值类型称为装箱10.关于类的静态成员说法正确的是A.静态成员可以由类的对象来访问B.静态方法中不能声明类实例C.静态方法中可以直接调用实例方法D.定义静态成员关键字是static11.在C#中,访问修饰符控制程序对类成员的访问,如果在类中定义一个成员不写访问修饰符,则默认是()A.publicB.privateC.protectedD.以上都不是12.在进行程序开发过程中,有时需要使用类图说明类与类之间的关系,在类图中使用()符号表示公有成员A.+B.-C.*D.#13.在C#程序开发中,我们会大量使用类和对象,其使用方法不包括()A.将类实例化为对象B.将对象实例化成类C.通过类访问静态属性或方法D.通过对象访问静态属性或方法14.在C#中定义泛型集合Dictionary<string,Student> students = newDictionary<string,Student>()。
NET测试题
NET测试题.NET测试题姓名__________ 工号___________ 得分___________选择题答题区:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 3536 37 38 39 4041 42 43 44 4546 47 48 49 50一、不定项选择题(共50题,请将答案填在上方表格内):1.面向对象的编程语言具有()。
(A) 继承性(B) 封装性(D) Data2.将一个值类型的变量通过参数传递给一个方法,这个方法体内改变了传入参数的值,当方法返回后,原变量的值并没有改变,为什么?()。
(A) 变量传入方法之前没有初始化(B) 参数中传入值类型变量实际上在方法体内使用的是变量的一份拷贝(C) 变量在方法体内被重新定义了(D) 方法内部以引用方式调用传入的参数3.在C# 中,访问修饰符控制程序对类中成员的访问,如果不写访问修饰符,类的默认访问类型是()。
(A) public(B) private(C) protected(D) internal4.C# 中方法的重载主要有两种方式,包括()的重载和参数类型不同的重载。
(A) 参数名称不同(B) 返回类型不同(C) 方法名不同(D) 参数个数不同5.关于C# 中的虚方法(virtual),以下说法中错误的是()。
(A) 使用static修饰(B) 可以有方法体(C) 可以被子类重写(D) 密封类(sealed)中可以包含虚方法6.在C# 中,下面关于接口(interface)的说法错误的是()。
(A) 接口中可以包含事件、索引器、属性和方法,但是都不能有具体实现(B) 类、结构体和接口本身可以实现多个接口(C) 接口可以实例化,但实例化时必须实现所有成员(D) 实现接口的类必须实现接口中定义的所有成员7.分析C# 代码片段,该属性对外部代码来说是()属性。
.net程序设计——考试题库及答案
c#中的三元运算符是( )
收藏 A. ?: B. + C. & D. =
回答错误!正确答案: A
__ 是确保使用先进先出的方式来访问项的容器。
收藏 A. 栈 B. 堆 C. 队列
回答错误!正确答案: C
如果调用者希望从事件源分离,可以调用 car 类型另外一个叫做__ 的方法。
回答错误!正确答案: C
以下哪个对象表示数据视图
收藏 A. dataview B. datatable C. datareader D. dataset
回答错误!正确答案: A
在 visio studio 中,要启动调试的快捷是哪一个
收藏 A. F8 B. F5 C. F2 D. F12
回答错误!正确答案: B
回答错误!正确答案: A
C#导入某一命名空间的关键字是()
收藏 A. use B. import C. using D. include
回答错误!正确答案: C
____是通常通过给定的数据连接被填充的窗口部件。
收藏 A. 数据相关控件 B. 顺序工作流 C. 数据绑定
回答错误!正确答案: A
关于在方法中使用 out 参数的说法,哪一个不正确
以下哪种说法是不正确的收藏派生类可通过base关键字调用其直接基类构造函数派生类的析构函数和基类的析构是相同的只是析构函数的执行顺序正好与构造函数相反即先调用派生类的析构函数然后再调用基类的析构函数派生类在创建对象时将执行其默认的构造函数回答错误
当希望执行一段语句直到满足某个终止条件时应该使用()。
收藏 A. do/while 循环 B. for 循环 C. while 循环 D. foreach/in 循环
C# OOP 阶段小测试笔试题
C# OOP (1~9章)阶段小测试一选择题1) 下面的属性定义正确的是(BC)。
a) private string test;public Test { get { return test; } set { test = value; }}b) private string test;public string Test { get { return test; } set { test = value; }}c) public string Test { get; set;}d) private string test;public int Test { get { return test; } set { test = value; }}2) 下面C#代码执行的结果是(B)。
public class A{public A(){Console.WriteLine("A1");}public A(string a){Console.WriteLine("A2");}}public class B : A{public B(): base(){Console.WriteLine("B");}static void Main(){B b = new B();}}a) Bb) A1Bc) A2Bd) BA13) 有如下代码,下列说法正确的是(D)。
public class A{private int A1;protected string A2;protected void M1(){}}public class B : A{protected void M2(){}}a) 在M2方法中可以访问A1b) 在M2方法中不能访问A2c) 在M1方法中可以调用M2方法d) 在M2方法中可以访问A24) 下面说法中正确的是(B)。
a) 不能在非静态类中定义静态成员b) 不能通过对象名访问类的静态方法c) 可以通过对象名访问类的静态字段d) 可以通过类的实例对象访问该类的静态成员5) 下面是方法重载的是(D)。
C#OOP测试题c#oop题目(答案)
C#OOP测试题共50题,每题2分,总分100分1.C#中的属性体现了面向对象编程的( ) 特性A.封装B.继承C.多态D.抽象2.在c#中,可以通过( )实现方法重载A.方法名相同,不同的参数个数B.方法名相同,不同的参数名称C.不同的方法名称,相同的参数个数D.相同的方法名称和参数个数,不同的返回值3.在C#中,ArrayList对象位于( )命名空间A.System.ArrayB.System.IOC.System.CollectionD.System.Runtime4.在C#中,下述代码运行的结果是()Hashtable ht =new Hashtable()ht.Add(3,”三星”);ht.Add(2,”小米”);ht.Add(1,”苹果”);Console.WriteLine(ht[3]);A, 三星B, 小米C,苹果D,程序运行错误5.在C#中程序中,关于ArrayList和Hashtable说法错误的有( ) (选择两项)A.从ArrayList和Hashtable获取集合中某个元素时,都需要进行类型转换B.ArrayList和Hashtable都可以通过学习Sort方法进行排序C.ArrayList和Hashtable都可以通过学习索引来访问集合元素D.通过索引或对象可以删除ArrayList集合中的元素,通过键可以删除Hashtable集合中的元素6.下列泛型集合的创建正确是( )A.List<int > list =new List<int>;B.List<int> list =new List();C.List list =new List<int>;D.List<int> list =new List<int>();7.定义泛型集合对象users ,代码如下:Dictionary<string, User> users =new Dictionary<string,User>();下列集合操作的代码片段正确的是( )er u =users[“Jimmy”];ers.Add(“Jimmy”);ers.Remove(4);D.Foreach(User item in users.Keys){}8.在A类中定义protected的属性Name,下列说法正确的是( )A.B类继承A类,则B类也具有Name属性B.在B类中创建A类对象,可以通过”对象.成员”访问NameC.无论B类是否继承A类,Name只能在A类中使用可以在任何地方使用9.下列关于继承的说法,错误的是( )A.在C#中,object类是所有类的基类B.子类不能直接访问父类的私有成员C.在创建子类对象时会自动调用父类的构造方法D.调用类中成员时使用base关键字,调用父类成员时使用this关键字10.在C#中,使用()关键字修饰的方法称为虚方法A . abstruct B. new C. base D. virtual11.下列代码运行的结果是( )class One{ public virtual void Show() { Console.Write(“One”) ; } }class Two: One{ public override Show() { Console.Write(“Two”) ; } } One obj = new Two();obj.Show();A.OneB. One TwoC. TwoD. Two One12.下列关于抽象方法的说法,正确的有()[选择两项]A.抽象方法必须有方法体B.抽象方法没有方法体C.使用virtual关键字声明抽象方法D.使用abstract关键字声明抽象方法13.下列关于序列化和反序列化的描述,错误的是()。
C# OOP 内部测试笔试题和答案
C# OOP 内部测试笔试题和答案c#oop内部测试笔试题和答案“深入.Net平台与c#编程”内部试题-书面试卷一选择题1)下面对序列化和反序列化的描述是错误的()。
a)序列化是在特定存储介质中存储对象状态的过程。
B)二进制格式化程序的Serialize()和deserialize()方法可分别用于实现序列化和反序列化化过程c)如果一个类是可序列化的,那么它的子类和包含的成员对象也必须是可序列化的。
D)标识可以序列化的类。
使用[可序列化]2)在c#中,下列关于简单工厂设计模式的说法不正确的是()。
a)简单工厂生成的对象是静态对象。
B)创建产品的方法的返回类型是父类c)使用该模式解决了代码中大量使用new的问题d)简单工厂的缺点是对修改不封闭,新增加产品就需要修改工厂3)下面对虚拟方法和抽象方法的描述中的错误是()。
4)a)b)c)d)虚拟方法必须有一个方法体,并且可以被子类重写抽象方法不允许有方法体,且必须被子类重写抽象方法必须在抽象类中,而虚拟方法可以在所有类中在子类中重写抽象方法或虚方法,都需要用override关键字使用()符号表示UML类图中的私有成员。
a) b)c)d)+-*#5)使用抽象类分析以下C代码,最终运行结果为()。
publicabstractclassclass1{publicvoidf(){console.write(\}abstractpublicvoidabs();}publicclassclass2:class1{PublicEvoidabs()6)下列代码的运行结果是()。
班级考试{publicvoidf(){安慰写入(\}classb:test{newpublicvoidf(){console.write(\}staticvoidmain(){testobja=newb();obja.f();}}a)ab)bc)bad)ab7)至于c#中的虚方法,下面的语句是正确的()。
NET考试题
NET测试题————————————————————————————————作者:————————————————————————————————日期:.NET测试题姓名__________ 工号___________ 得分___________选择题答题区:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 3536 37 38 39 4041 42 43 44 4546 47 48 49 50一、不定项选择题(共50题,请将答案填在上方表格内):1.面向对象的编程语言具有()。
(A) 继承性(B) 封装性(C) 抽象性(D) 多态性 Framework主要组成是()。
(A) CLR(B) CLI(C) FCL(D) CTS3.CLR(公共语言运行时,Common Language Runtime)是.NET对CLI(通用语言基础架构,Common Language Infrastructure)的具体实现,是.NET的运行时环境,CLR的主要作用是()。
(A) 提供运行.NET托管代码的虚拟机环境(B) 中间代码到机器代码的编译(C) 自动内存管理(D) 多语言映射4.()是引用类型。
(A) Nullable(B) Exception(C) String(D) 所有继承自System.Object的类型5.()是值类型。
(A) decimal(B) string(C) System.Drawing.Point(D) Int326.下列哪些情况中使用StringBuilder要优于String?()。
(A) 将许多短字符串拼接成新的字符串(B) 字符串数据大小超过256字节(C) 需要搜索或替换字符串中的元素(D) 使用值类型的字符串7.在一个有异常处理的程序中,需要将某些异常的引发异常的代码记录在系统日志里,需要使用Exception的()属性。
NET试卷(笔试部分)
new PrincipalPermission("User", "Administrator"); MyPermission.Demand(); Console.WriteLine("\n\n111111111111111111"); }
.NET 试卷(笔试部分)
第4页共5页
学号:
姓名:
catch { Console.WriteLine("\n\n222222222222222222"); } try { Console.WriteLine("\n\n3333333333333333333");
对象提供对当前页请求的访
问,其中包括请求标题、Cookie、客户端证书、查询字符串等。
7. 通用类型系统(CTS)支持
类型和
类型,前
者的实体位于
,后者的实体位于
。
8.
是一种引用类型,它是 C++ 函数指针的托管版本。它可以引用实
.NET软件开发工程师测试题(附答题卡及答案)
IT (软件工程师方向)能力测试本测试题时间40分钟,满分100分。
(一)逻辑思维能力题:一、选择题(每题5分,计40分)本次测试可用来测试你的IT 学习能力。
本测试由8道题组成,每个题目只有一个正确答案,请选择合适的答案填入空格中。
下列每题(每组字母、数字、图案序列)都遵守一定的规律,请找出规律,将合适的答案填入空格中。
1、X Y Z C B A U V W F E D ____ A 、S B 、E C 、M D 、R2、A Z Z B Y Y C X X D ____ A 、D E B 、E E C 、V V D 、W W3、9,12,11,14,13,____,15 A 、12 B 、16 C 、10 D 、174、50,49,46,41,34,____ A 、31 B 、30 C 、25 D 、275、A B C D6、A B C D E7、两数之和是100,若一数的1/3正好等于另一个数,则这两个数分别为:____A 、23,77B 、25,75C 、11,898、三个盒子的总重量为75Kg 。
如果盒A 比盒B 重5Kg ,盒C 的重量是盒B 的1.5倍,问三个盒子的平均重量是:____A 、25B 、20C 、30(二)技术测试题1、c#中的三元运算符是_____?2、当整数a赋值给一个object对象时,整数a将会被_____?3、类成员有_____种可访问形式?4、public static const int A=1;这段代码有错误么?是什么?5、float f=-123.567F;int i=(int)f;i的值现在是_____?6、利用operator声明且仅声明了==,有什么错误么?7、委托声明的关键字是______?8、用sealed修饰的类有什么特点?9、在中所有的自定义用户控件都必须继承自________?10、在.Net中所有可序列化的类都被标记为_____?11、在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?12、下面的代码中有什么错误吗?_______using System;class A{public virtual void F(){Console.WriteLine("A.F");}}abstract class B:A{public abstract override void F();}13、当类T只声明了私有实例构造函数时,则在T的程序文本外部,______(可以or 不可以)从T派生出新的类,____(可以or 不可以)直接创建T的任何实例。
最新ASPNET网络应用系统开发试卷C完美版 (3)
学年第二学期期末考试题科目: 网络应用系统开发 试卷类别:A B □C □ :这份试题共2道大题,满分为50分。
考试时间:60分钟,试形式:开卷 闭卷□。
评分标准在解题步骤中注明。
选择题(每题2分,共10题,合计20分)txtName 是控件TextBox 的ID ,那么(C )是用户输入的内容。
txtName.ValuetxtName.TexttxtName.IDlblMessage 是控件Label 的ID ,那么(D )可以在该控件上显示“您好!”。
lblMessage.Value=”您好!”;=”您好!”;=”您好!”; lblMessage.Text=”您好!”;A )B 、业务层 D 、表示层 4、保存用户控件需要使用的扩展名是(C )。
A 、aspx B 、asmx C 、ascxD 、asax5、现在需要验证TextBox 的输入数据为年龄,并且要求大于18岁,小于65岁,应该使用的验证控件是(C )。
A 、CompareValidatorB 、RangeValidatorC 、RequiredFieldValidator 和RangeValidatorD 、CompareValidator 和RequiredFieldValidator 6、在三层数据库应用程序中,用户注册的方法,应该写在(C )。
A 、模型层B 、数据库访问层C 、业务逻辑层D 、表示层7、当跨页传递数据时,哪个属性标识源页面是跨页提交?(D ) A 、IsPostBackB 、IsCrossBackC 、PreviousPageD 、IsCrossPageBack 8、GridView 设置分页后,默认显示(B )条记录。
A 、5B 、10C 、15D 、209、有关ObjectDataSource 说法正确的是(D )。
A 、它只能绑定数据访问层方法,才能返回正确数据B 、只有通过 访问数据库,才能使用ObjectDataSourceC 、ObjectDataSource 可以直接指向数据库,返回DataSetObjectDataSource一般绑定业务逻辑层方法、(B)是用于创建Web应用程序平台,此应用程序可使用IIS和.NET Framework Windows服务器上运行。
oop测试题(含答案)讲解
oop测试题(含答案)讲解OOP阶段测试题【时间:90分钟】⼀.选择题(本答题中所有⼩题只有⼀个正确选项,每题2分,共60分)1、以下是⼀个类的声明,其中有两个成员属性,对成员属性正确的赋值⽅式是( B )class Demo {private $one;public static $two;function setOne($value) {$this->one=$value;}}$demo=new Demo();A.$demo->one="abc";B.Demo::$two="abc";C.Demo::setOne("abc");D.$demo->two="abc";2、以下说法错误的是(B )A. final关键字标识的类不能被继承B. final关键字既可以标识成员⽅法,也可以标识成员属性C. 静态⽅法可以通过类名直接调⽤D. 将类中的成员属性定义为常量使⽤const3、以下说法错误的是(B )A. 在外部访问静态成员属性时使⽤类名::静态成员属性名B. 在外部访问静态成员属性时使⽤$实例化对象->静态成员属性名C. 在外部访问静态⽅法时使⽤$实例化对象 ->静态⽅法名D. 在外部访问静态⽅法时使⽤类名::静态⽅法名4、以下代码执⾏结果为()$a=”hello”;function print_A(){$a=”php mysql”;global $a;echo $a;}echo $a;print_A();>A helloB php mysqlC hello helloD hello php mysql5、PHP中调⽤类⽂件中的this表⽰(A )A本类实例化的对象变量B本页⾯C本⽅法D本变量6、PDO通过执⾏SQL查询与数据库进⾏交互,可以分为多种不同的策略,使⽤哪⼀种⽅法取决于你要做什么操作。
.net程序设计试题
.net程序设计试题 .NET程序设计试题一、选择题(每题2分,共20分)1. 在.NET框架中,哪个类库提供了数据访问功能?A. System.DataB. System.WebC. System.IOD. 2. 下列哪个是.NET中的值类型?A. intB. stringC. objectD. List<int>3. 在C#中,哪个关键字用于定义属性?A. varB. propC. propertyD. attribute4. 以下哪个是.NET中的集合类型?A. ArrayB. ListC. Both A and BD. None of the above5. 在C#中,哪个关键字用于实现接口?A. implementsB. interfaceC. extendsD. None of the above6. .NET Framework中的GC(垃圾回收器)的主要作用是什么?A. 编译代码B. 执行代码C. 管理内存D. 执行异常处理7. 在C#中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally8. .NET中的事件是如何实现的?A. 通过继承B. 通过委托C. 通过接口D. 通过泛型9. 在C#中,哪个关键字用于定义类?A. classB. structC. interfaceD. enum10. 以下哪个是.NET中的泛型集合类型?A. ArrayListB. LinkedListC. Dictionary<TKey, TValue>D. Both A and B二、简答题(每题10分,共30分)1. 请简述.NET Framework的三个主要组成部分,并说明它们的作用。
2. 解释C#中的委托(Delegate)和事件(Event)的区别。
3. 描述.NET中的异常处理机制,并给出一个使用try、catch和finally块的异常处理示例。
.net初级开发面试题
.net初级开发面试题作为一个初级的.NET开发者,面试官可能会问到以下一些问题: 1. 什么是.NET框架?.NET框架是由微软开发的一个软件开发平台,它提供了一个运行环境和一系列的库,用于开发和执行各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序等。
2. 请解释一下.NET中的CLR是什么?CLR(Common Language Runtime)是.NET框架的核心组件之一,它负责管理和执行.NET应用程序。
CLR提供了内存管理、安全性、异常处理、线程管理等功能,同时也负责将.NET应用程序编译为可执行的机器码。
3. 什么是C#?C#是一种面向对象的编程语言,它是.NET框架的主要编程语言之一。
C#具有简单易学、类型安全、高性能等特点,广泛用于开发各种类型的应用程序。
4. 请解释一下是什么?是一种用于构建Web应用程序的技术,它基于.NET框架。
提供了一系列的工具和库,用于简化Web应用程序的开发过程,并提供了高性能和可靠性。
5. 请解释一下 MVC和 Web Forms的区别? MVC和 Web Forms都是用于构建Web应用程序的技术,但它们的设计理念和工作方式有所不同。
MVC 采用模型-视图-控制器的设计模式,强调分离关注点和可测试性;而 Web Forms采用事件驱动的编程模型,更加适合快速开发简单的Web应用程序。
6. 请解释一下什么是面向对象编程?面向对象编程(OOP)是一种编程范式,它将数据和操作数据的方法封装在一起,形成对象。
面向对象编程的核心思想是将现实世界的事物抽象成对象,通过定义类和对象之间的关系来实现程序的设计和开发。
7. 请解释一下.NET中的命名空间是什么?命名空间是一种用于组织和管理代码的机制,它可以将相关的类、接口、结构体等组织在一起。
命名空间可以避免命名冲突,并提供了代码的可读性和可维护性。
8. 请解释一下.NET中的程序集是什么?程序集是.NET中的一个基本单元,它是包含了可执行代码、类型信息、资源和元数据的一个逻辑单元。
OOP期中考试试卷及答案
OOP期中考试试卷及答案OOP期中考试试卷及答案2006年5月9日一、单选题:1. 下面哪些是short类型的取值范围?A. -27 -- 27-1B. 0 -- 216-1C. -215 -- 215-1D. -231 -- 231-1答案C解析:短整型的数据类型的长度是16 bits,有符号。
另外需要说明的是java中所有的整(Integral)数(包括byte,short,int,long)全是有符号的。
2. 下列代码哪一行会出错:1) public void modify() {2) int I, j, k;3) I = 100;4) while ( I > 0 ) {5) j = I * 2;6) System.out.println (" The value of j is " + j );7) k = k + 1;8) I--;9) }10) }A.line 4B.line 6C.line 7D.line 8答案C3. 哪些语句是将一个八进制值赋值给一个long型变量?A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L;答案 C解析:八进制数以0开头,十六进制数以0x开头,long型数以L (大小写均可,一般使用大写,因为小写的l和数字1不易区分)。
4. public class Person{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零D.输出空答案C5. paint()方法使用哪种类型的参数?A.GraphicsB.Graphics2DC.StringD.Color答案A6. 关于垃圾收集的哪些叙述是对的?A. 程序开发者必须自己创建一个线程进行内存释放的工作。
C#OOP(自测)C#(自测)
28、继承的特性有:继承的传递性、继承的单根性、成员的访问性。
29、C#中使用:符号实现继承。
30、当A类被B类继承时,我们就把A类称为父类或基类,B类稀烂为子类或派生类。
31、密封类是指防止派生子类,密封方法是指不允许子类再次被重写。
11、using的用法:引入名称空间,自动释放对象。
12、如果x大于y,则输出x,否则输出y,用三元运算符表示:x>y?x:y
13、public static const int A=1;这段代码有错误么?是什么?const不能用static修饰。
14、在.Net中所有可序列化的类都被标记为_ [serializable],包括它的父类和属性中的引用类型。
7、Override是对基类中成员的重写,实现多态。
8、面向对象的语言具有封装性、继承性、多态性
9、String s = new String("xyz");创建了两个String Object,分别是一个是“xyx”,一个是指向“xyx”的引用对象s。
10、是否可以继承String类(写明原因):String类是sealed类故不可以继承。
41、序列化就是将对象实例的状态存储到存储媒体中的过程。
二、简答题
1.简述private、protected、public、internal修饰符的访问权限。
访问修饰符
说明
public
公有的,访问不受限制
private
私有的,只能本类内部访问
protected
受保护的,只能本类及其子类访问
internal
24、构成方法重载的条件有:同一个类中、方法名相同、参数的类型或个数不同。
(完整版)(二)NETOOP面向对象编程的面试题
(二)。
NET OOP 面向对象编程1。
面向对象的三大基本原则?封装,继承,多态。
(1) 封装:隐藏内部实现,稳定外部接口;好处:保证对象自身数据的完整性和安全性(2) 继承:子类继承父类的成员;好处:实现代码复用,方便系统的扩展(3) 多态:A:不同子类对象同一个消息(方法调用);做出不同的反映;B:同一个类在不同情况下表现出不同的行为。
静态方法和实例方法:(1)静态方法里面不能直接调用实例方法(不能直接写方法名),需要实例化对象,然后再用对象。
方法名去调用.静态方法中不能用this关键字直接调用实例方法。
(2) 实例方法里面可以直接使用静态方法(直接写静态方法名)2 。
传入某个属性的 set(设置器)方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同.3. c#中字段和属性的区别字段是变量; 属性是对字段的封装,对外提供的访问,保证数据的安全4 。
请叙述属性与索引器的区别。
属性 a 通过名称标识b 通过简单名称或成员访问来访问。
c 可以为静态成员或实例成员d 属性的 get 访问器没有参数e 属性的set 访问器包含隐式value参数索引器 a 通过签名标识.b 通过元素访问来访问。
c 必须为实例成员.d 索引器的 get 访问器具有与索引器相同的形参表e 除了 value 参数外,索引器的 set 访问器还具有与索引器相同的形参表5。
如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称.6. C#支持多重继承么?不支持多继承。
可以用接口来实现。
7。
被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。
8.私有成员会被继承么?会,但是不能被访问。
所以看上去他们似乎是不能被继承的,但实际上确实被继承了.9。
简述 private、 protected、 public、 internal 修饰符的访问权限。
private: 私有成员, 在类的内部才可以访问。
C# OOP 内部测试机试题
《深入.NET平台和C#编程》内部测试-机试试卷
要求:
使用Visual Studio 实现部门人员管理功能,SQL Server作为后台数据库。
程序运行界面如图-1和图-2所示。
图-1部门和人员显示
图-2 人员录入
程序的功能具体要求如下:
1.部门使用TreeView 控件展示,数据来源于XML 文件,XML 文件需要自行设计
结构并按图-1添加测试数据。
其中第一个节点是固定的,不需要从XML文件动态
读取并绑定,其它子节点需要动态绑定。
2.人员使用DataGridView 控件进行展示,如图-1所示,人员数据来源于SQL
Server 数据库,表结构如表-1 所示。
表-1 部门人员表
3 当程序运行时,首先打开图-1所示的窗体,界面显示部门的树形结构和全部人员信息;当单击树形列表的任一部门时,则按隶属部门查询数据并在右边数据绑定控件中显示相应的数据。
4 主菜单功能,如图-1所示。
1)单击“添加员工”,弹出如图-2所示的人员录入窗体,单击“添加”即可实现数据保存。
2)单击菜单“退出“后,整个应用程序完全退出。
5 TreeView 右键菜单功能。
选择TreeView 某个节点,单击鼠标右键弹出“添加员工”菜单,如图-3所示,选择该菜单项,弹出人员录入窗体,此时“隶属关系”中显示的部门为选中节点的部门,如图-4所示。
图-3 右键菜单
图-4 人员录入窗体
6 实现单例模式。
无论是通过右键菜单还是通过主菜单打开人员录入窗体,都只能打开唯一的窗体。
.NET(c#) 技术笔试试题(初级)
艾默生科技资源2015暑期实习生招聘.NET(C#)技术笔试试题考试时间:90分钟姓名:专业:班级:一、单项选择题(每小题3分,共24分)1、对以下C# 关键字说法不正确的是【】A、as 为一个转换操作符,如果转换失败,就返回null。
B、params为参数数组,属于方法签名的一部分。
C、sealed 防止类型被派生,防止方法和property被覆载。
D、virtual 一个方法修饰符,标识可被覆载的方法。
2、对以下说法不正确的是【】A、Const 定义的是静态常在对象初始化的时候赋值,属于编译时常量。
B、Readonly 是只读变量,属于运行时变量,并可以作用于局部变量。
C、Static Readonly 在程式中只读,不过它是在运行时计算出其值的。
D、const 和static 不能在一起用,它已经是静态的了。
3、以下关于String类型说法不正确的是【】A、String是一个不可变的数据类型B、String是引用类型,在堆上分配内存C、对String类型的运算不会产生新的实例D、在字符串多次拼接时应选用StringBuilder4、以下哪些元素可以是泛型【】A、枚举B、方法C、类D、结构5、以下关于Foreach语句说法不正确的是【】A、其遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方法的类型B、不能对集合进行删除操作C、其执行效率比For语句高D、能够修改其枚举成员6、以下代码执行完后,x与y的值分别是:【】string strTmp = “abcdefg某某某”;int x= System.Text.Encoding.Default.GetBytes(strTmp).Length;int y= strTmp.Length;A、x=10,y=10。
B、x=13,y=10。
C、x=10,y=13。
D、x=13,y=13。
7、以下关于C#中索引器理解正确的是【】A、索引器没有名字B、索引器不能被重载C、索引器的参数必须是两个或两个以上D、索引器的参数类型必须是整数型8、在新建的窗体中拖一控件,此控件自动生成的代码应放在以下哪个文件中【】A、.designer.csB、.csC、.properties.csD、.resx二、填空题(每题4分,共16分)1、在.NET中所有类的基类是________。
.net 面试题与测试题(附答案)1
.net 面试题与测试题(附答案)11 (1) 面向对象的语言具有 __ 继承性 _ 性、 _ 封装性 _ 性、_ 多态性性。
(2) 能用 foreach 遍历访问的对象需要实现 _ IEnumerable_接口或声明 _ GetEnumerator_ 方法的类型。
(3).c# 中的三元运算符是 __ ?: __ 2. 当整数 a 赋值给一个object 对象时,整数 a 将会被 __ 装箱 ___? 3. 类成员有 __ 3 __ 种可访问形式? 4.public static const int A=1; 这段代码有错误么?是什么? const 成员都是 static 所以应该去掉 static5.float f= -123.567F; int i=(int)f; i 的值现在是 _ -123 ____?6. 利用 operator 声明且仅声明了 == ,有什么错误么 ? 要同时修改 Equale 和 GetHash() ? 重载了 "==" 就必须重载 "!="7. 委托声明的关键字是 ___ delegate ___?8. 用 sealed 修饰的类有什么特点?不可被继承9. 在 Asp. 中所有的自定义用户控件都必须继承自 _ erControl _______? 10. 在 .Net 中所有可序列化的类都被标记为 __ [serializable] ___? 11. 在 .Net 托管代码中我们不用担心内存漏洞,这是因为有了 _ gC __? 12. 下面的代码中有什么错误吗? _ abstract override 是不可以一起修饰______ using System; class A { public virtual voidF(){ Console.WriteLine("A.F"); } } abstract class B:A { public abstract override void F(); }13. 当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部, _ 不可以 _ (可以 or 不可以)从 T 派生出新的类, _ 不可以 _ (可以 or 不可以)直接创建 T 的任何实例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
--------------------------------------装--------------------------------------订------------------------------线----------------------------------------**学院课程考试试卷课程名称:《C#:使用C#开发.NET平台应用程序》(A)卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查) 闭卷题号1-20 21-40 41-50 总分分数选择题(每题2分,共计100分)1.在C#中,下列代码运行结果是()。
class Test{public struct Point{public int x;public int y;public Point(int x,int y){this.x = x;this.y = y;}}static void Main(){Point p1 = new Point(100,100);Point p2 = p1;p1.x= 200;Console.WriteLine(“{0},{1}”,p1.x,p2.x);}}A. 100,100B. 100,200C. 200,100D. 200,2002.Net依赖()技术实现跨语言互用性。
A. CLRB. CTSC. CLSD. CTT3.()是int的基类。
A. Int32B. ObjectC. V alueTypeD. Int164.在C#中,关于继承和接口,以下正确的是()。
A. 允许多接口实现,也允许多继承B. 允许多接口实现,不允许多继承C. 不允许多接口实现,允许多继承--------------------------------------装--------------------------------------订------------------------------线----------------------------------------5. 用户自定义异常类需要从( )类继承。
A. ExceptionB. CustomExceptionC. ApplicationExceptionD. BaseException 6. 下面可改变元素个数的是( )。
A. Array C. string[] B. string[N] D. ArrayList7. 用户类若想支持Foreach 语句需要实现的接口是( )。
A. IEnumerable B. IEnumerator C. ICollection D. ICollectData8. 装箱、拆箱操作发生在( )。
A. 类与对象之间B. 对象与对象之间C. 引用类型与值类型之间D. 引用类型与引用类型之间9. 访问范围限定于此程序或那些由它所属的类派生的类型,是对( ) 可访问性含义的正确描述。
A.publicB.protectedC.internalD.protected internal 10. 读下列程序abstract class BaseClass {public virtual void MethodA() { }public virtual void MethodB() { } }class Class1: BaseClass {public void MethodA(string arg) { }public override void MethodB() { } }class Class2: Class1 {new public void MethodB() {--------------------------------------装--------------------------------------订------------------------------线----------------------------------------class MainClass{public static void Main(string[] args){Class2 o = new Class2();o.MethodA();}}请问,o.MethodA调用的是()。
A. BaseClass.MethodAB. Class2.MethodAC. Class1.MethodAD. 以上均不对11.以下关于ref和out的描述,不正确的是()。
A. 使用ref参数,传递到ref参数的参数必须最先初始化B. 使用out参数,传递到out参数的参数必须最先初始化C. 使用ref参数,必须将参数作为ref参数显式传递到方法D. 使用out参数,必须将参数作为out参数显式传递到方法12.在C#中,以下程序的运行结果是()。
float f = 123.56F;object o = f;f=789.123F;Console.WriteLine(“f={0}”,f);Console.WriteLine(“o={0}”,o);A. f=789.123 o=123.56B. f=123.56 o=789.123C. f=789.123 o=789.123D. f=123.56 o=123.5613.在CLR中为.NET提供的功能或者服务,除了()。
A. 垃圾回收B. 代码验证和类型安全C. 代码访问安全D. 自动消除程序中的语法错误14.在C#中,下列代码运行结果是( C )。
int [] age = new int[]{16,18,20,14,22};foreach(int i in age){if(i>18)continue;--------------------------------------装--------------------------------------订------------------------------线----------------------------------------A. 16 18 20 14 22B. 16 18 14 22C. 16 18 14D. 16 1815. 在C#中,下列程序的输出结果是( )。
class Test{public enum WeekDays {Mon ,Tue,Wed,Thur,Fir,Sta,Sun }static void Main(){WeekDays week = (WeekDays)2; Console.WriteLine(week); } }A. 2B. TueC. WedD. 编译错 16. 在C#中,下列代码的运行结果是( )。
class Test {static void ShowArray(int[] student){ for(int i=0 ; i < student.Length;i++){ Console.Write(student[i]++); Console.Write(“ ”); } }static void Main() {int [] student = new int[]{1,2,3,4,5}; ShowArray(student); Console.Wri te(“\n”); ShowArray(student); } } A. 12345 12345 B. 12345 23456 C. 23456 23456--------------------------------------装--------------------------------------订------------------------------线----------------------------------------3456717.以下关于C#代码说法正确的是()。
public abstract class Ani{public abstract void Eat();public void Sleep(){}}A.该代码正确B.代码错误,因为类中存在非抽象方法C.代码错误,因为类中方法没有实现D.通过代码“Ani a = new Ani();”可以创建一个Ani对象18.以下关于C#代码的说法正确的是()。
for(int i=1 ;i<=3;i++){switch(i){case 1:Console.Write(i.ToString());case 2:Console.Write((i*2).ToString());case 3:Console.Write((i*3).ToString());}}A.程序将报告编译错误,提升Case标签不能贯穿到另一个标签,不能运行B.运行时输出149C.运行输出123246369D.屏幕无输出19.在C#中,下列代码运行结果是()。
public class Teacher{public int age;public Teacher(int age){this.age = age;}public void ChangeAge(int age){--------------------------------------装--------------------------------------订------------------------------线----------------------------------------}public void ChangeAge(Teacher tea) {tea.age++; }public static void Main() {Teacher tea = new Teacher(18); Console.WriteLine(tea.age); tea.ChangeAge(tea.age); Console.WriteLine(tea.age); tea.ChangeAge(tea); Console.WriteLine(tea.age); } }A .18 18 18B .18 19 20C .18 18 19D .18 19 1920. 在C#中,下列代码运行结果( )。
string appName = “”; foreach(char ch in appName){ if(char.IsDigit(ch)) break;Console.Write(ch); }A. SCCEB. 40C. D. 21. 以下程序的输出结果是 ( )。
class FirstClass {public double Div(int num1,int num2) {return num1/num2; }public int FirstMethod() { return 10;--------------------------------------装--------------------------------------订------------------------------线----------------------------------------{return 3;}}class SecondClass:FirstClass{public new int SecondMethod(){return 200;}}public class TestMain{public static void Main(){FirstClass fc=new SecondClass();Console.WriteLine(“V alue=”+fc.Div(fc.FirstMethod(),fc.SecondMethod()));}}}A. V alue=0B. V alue=3C. V alue=3.333D. V alue=0.0522.以下程序的输出结果是()。