.NET笔试题1
- 格式:doc
- 大小:77.00 KB
- 文档页数:25
net笔试题目答案net笔试题目答案一、.net基础1、a=10,b=15,请在不使用第三方变量的状况下,把a、b的值互换答:小学算法,加法交换律和加法结合律int a=a+b; int b=a-b;int a=a-b;2、session宠爱丢值且占内存,Cookis担忧全,请问用什么方法代替这两种原始的方法答:redis 或者memcache。
当然,微软也提供了解决方案。
iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
3、如何处理几十万条并发数据?答:用存储过程或事务。
取得最大标识的时候同时更新..留意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.4、62-63=1 等式不成立,请移动一个数字(不行以移动减号和等于号),使得等式成立,如何移动?答案:62移动成2的6次方5、和有什么区分?答:表示绑定的数据源,是服务器端代码块6、页面生命周期简洁描述每个页面的.生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一个往返过程.全局变量的生命周期在此之间.1. Page_Init();2. Load ViewState and Postback data;3. Page_Load();4. Handle control events;5. Page_PreRender();6. Page_Render();7. Unload event;8. Dispose method called;7、写出程序的输出结果public abstract class A{public A(){Console.WriteLine(A);}public virtual void Fun(){Console.WriteLine("A.Fun()');}}public class B: A{public B(){Console.WriteLine(B);}public new void Fun(){Console.WriteLine("B.Fun()'); }public static void Main() {A a = new B();a.Fun();}}答案:ABA.Fun()8、写出程序的输出结果:public class A{public virtual void Fun1(int i) {Console.WriteLine(i);}public void Fun2(A a){a.Fun1(1);Fun1(5);}}public class B : A{public override void Fun1(int i) {base.Fun1 (i + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}}答案:25169、在下面的例子里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的实例时,产生什么输出?答:X=1,Y=0;x= 1 y = -110、如何提高.NET的性能1.使用异步方式调用Web服务和远程对象只要有可能就要避开在请求的处理过程中对Web服务和远程对象的同步调用,因为它占用的是的 线程池中的工作线程,这将直接影响Web服务器响应其它请求的能力。
第21套一、选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.RS232标准规定的是()。
A.DTE和DCE之间的接口B.DTE和DTE之间的接口C.DCE和DCE之间的接口D.以上三种2.1983年阿帕网正式采用TCP/IP协议,标志着因特网的出现.我国最早与因特网正式连接的时间是()。
A.1984年B.1988年C.1994年D.1998年3.令牌环网比以太网的最大优点是()。
A.易于建立B.易于维护C.高效可靠D.时延确定4.Windows NT Server是以“域”为单位实现对网络资源的集中管理,下列关于“域”的叙述中,不正确的是()。
A.主域控制器负责为域用户与用户组提供信息B.在Windows NT域中,可以有后备域控制器,但没有普通服务器C.后备域控制器的主要功能是提供系统容错D.在一个Windows NT域中,只能有一个主域控制器5.Internet是由美国的()发展和演化而来的。
A.ARPANET B.CSNEI C.Milnet D.BITNET 6.下列关于芯片体系结构的叙述中,不正确的是()。
A.超标量技术的实质是以空间换时间B.分支预测能动态预测程序分支的转移C.超流水线技术的特点是内置多条流水线D.哈佛结构是把指令与数据分开存储7.关于因特网中的域名解析,以下说法正确的是()。
A.反复解析要求名字服务系统一次性完成全部名字-地址映射B.递归解析每次请求一个服务器,不行再请求别的服务器C.在域名解析过程中有可能需要遍历整个服务器树D.域名解析需要借助于一组既独立又协作的域名服务器完成8.A TM通用协议栈包括下列几层:高层协议、ATM适配层、A TM层和物理层。
其中,()把数据组装成53字节的信元。
A.高层协议B.ATM层C.ATM适配层D.物理层9.为实现视频信息的压缩,建立了若干种国际标准。
其中适合于连续色彩、多级灰度的静止图像压缩标准的是()。
计算机三级(网络技术)络中是否有人看到信息并不关心,即不保证信息传输过程中的安全性。
2. 关于NetWare优点说法错误的是力。
3. 在因特网域名中,com通常表示表示政府机构、mil通常表示军事部门。
4. 网络信息安全的衡量标准有保密性、可用性、可审查性、可控性和性、信息的保密性、信息的可控性、信息的可审查性。
5. 下列哪个是NOS提供的局域网通信服务?等通信,工作站与服务器之间的通信。
6. ATM信元长度的字节数为字节是信息字段。
7. 市话网上数据传输期间,在源节点与目的节点之间有一条利用中间节点构成详细解答: :8. 在广域网中,T1标准规定的速率为(1.544Mbps)与T3速率(44.736Mbps)的信道。
9. B-ISDN的协议参考模型每个面又分为3层,即ATM适配层。
10. 不是分组变换特点的是道的策略。
11. 目前应用最为广泛的一类局域网是Ethernet网。
Ethernet的核心技术是它的详细解答: :CSMA/CD是随机争用型介质访问控制方法的英文缩写。
12. 下列IP 地址中哪一个是B类地址?示主机。
第一字节范围从128到191。
13. 局域网中的"共享介质"所指的共享是线路,也就是数据传输介质。
14. 在分时系统时,若时间片一定,则(_______),响应时间越长。
详细解答: :详细解答: :16. SSL安全协议在网络协议层次上位于详细解答: :SSL安全协议在网络协议层次上位于TCP/IP协议之上。
17. 引人多道程序设计技术的目的是详细解答: :采用这种技术,使与通道连接的设备可以并行工作。
18. Internet远程登录使用的协议是详细解答: :Internet远程登录使用的协议是Telnet。
19. ATM能够支持很多的不同特性的服务,包括以下各项中的哪一项?并能根比特串服务和可变比特率服务和实时服务和非实时务务。
20. 数据传输速率是描述数据传输系统的重要技术指标之一,如果在通信信道详细解答: :21. 微型计算机的总线一般由(_______)组成。
.Net笔试题1:说说什么叫字符串不可变?string s="abc";s="123"字符串s不就变了吗?答:String 对象是不可改变的。
每次使用System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。
String是不可变的。
在这段代码中,s原先指向一个String对象,内容是 "abc",然后我们将s指向"123",那么s所指向的那个对象是否发生了改变呢?答案是没有。
这时,s不指向原来那个对象了,而指向了另一个String对象,内容为"123",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
扩展:在需要对字符串执行重复修改的情况下,与创建新的String 对象相关的系统开销可能会非常昂贵。
如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder 类。
例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。
.net笔试题2:BS与CS的联系与区别?答:C/S是Client/Server的缩写。
客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器。
在这种结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端实现。
浏览器通过Web Server 同数据库进行数据交互。
C/S 与B/S 区别:1).硬件环境不同:C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.B/S 一般建立在广域网之上的, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。
2).对安全要求不同C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
一、选择题 1、下列标记不属于HTML 文档的基本结构的是:( D ) A <html> B <body> C <head> D <form> 2、请问下面程序段执行完毕,页面上显示内容是什么:( C ) Response.Write (“<a href=''>新浪</a>”) A 新浪 B <a href=''>新浪</a> C 新浪 D 该句有错,无法正常输出 3、Session 对象的默认有效期为多少分钟:( C ) A 10 B 15 C 20 D 应用程序从启动到结束 4、下面哪一个对象用于与数据源建立连接:( B ) A Command B Connection C DataReader D DataAdapter 5、Global.asax 文件中Session_Start 事件何时激发( B ) A 在每个请求开始时激发 B 尝试对使用进行身份验证时激发 C 启动会话时激发 D 在应用程序启动时激发 6、下面哪一个文件是全局配置文件( B ) A Global.asax B Web.config C Styles.css D AssemblyInfo.vb 7、需要写入与HTML 标记相同的文本时,应利用以下何种方法进行编码:(D ) A Response.Server.(HtmlEncod e (“<B>”)) B Response.Write(“Server.HtmlEncode (“<B>”)”) C Response.Write(Server.HtmlEncode (“<B>”)) D Server.Server(Write.HtmlEncode (“<B>”)) 8、下列说法正确的是(B ) A 页面上有动态的东西就是动态网页 B 静态网页内容固定,交互性能比动态网页差 C ASP 、JSP 和 技术都是把脚本语言嵌入到HTML 文档中 D 程序和ASP 程序一样都是解释执行 9、下面关于HTML 的描述错误的是( D ) A 超文本标记语言,一种为Internet 文档设计的标记语言 B 与操作系统平台的选择无关,只要有浏览器就可以运行HTML 文档 C 所有的标记都是成对出现 D 由浏览器解释HTML 标记符号并以它们指定的格式把相应的内容显示在屏幕上 10、下列关于 的验证控件描述错误的是( A ) A 在客户端和服务器端都能进行验证 B 其客户端验证和服务器端验证对所有浏览器都适用 C 如果页面调用了多个验证控件,当有其中的一个验证未通过时,整个页面不会被通过验证 D 一个服务器控件可同时被多个验证控件验证 11、在 应用程序中访问Access 数据库时,需要导入的命名空间为(B ) A System.Data.Oracle B System.Data. SqlClient C System.Data. ODBC D System.Data.OleDB 12、如果需要确保用户输入大于30的值,应该使用( C )验证控件 A RequiredFieldValidator B CompareValidator C RangeValidator D RegularExpressionValidator 13、下面哪一个不是网页文件的后缀名 ( D ) A htm B aspx C asp D txt 14、在Visual Studio 中新增Web 页面,应该右击解决方案资源管理器,然后点击(A )。
网易笔试不难,但是给了我一个教训,所以记下来以留念。
时间:11月3日8:00(后来改到10:00)。
地点:西安交通大学教2南315教室赶到考场时,离考试开始时间只差2分钟了,找了个座位坐下后没有任何的等待笔试就开始了。
网易的笔试题目很有趣:证明题:给出n个互不相同的分数数列a1/b1,a2/b2… an/bn ,证明(a1 + a2 + … + an) / (b1+ b2 + … + bn) 的值在数列a1/b1, a2/b2…an/bn 数列的最大值和最小值之间。
证明题:在三角形中,假设等角对等边,证明大角对大边。
文学题:在以下的空白中填入相应的词(蔼、断、淡、泰)并解释其含义。
自处超然,处事然,无事澄言,处事言,得意然,失意然。
问答题:为什么现在的计算机采用二进制?而不是八进制或十六进制?你认为以后的计算机会采用几进制?阅读理解题(记不清楚是不是有这道题及具体是什么了)。
程序设计题:给出若干个单词,组成字典,要求查找速度最快。
不知为什么,那天心态特别放松,放松的结果就是思维很发散,写字不是太工整,尤其是做到后面的题目时,写字写得很快,自己看上去都有些潦草。
总共我写了三页纸(正反面),自己感觉还是做得不错的。
但是后来并没有收到网易的面试通知,总结了一下,结论就是那天的字迹太潦草了。
潦草给人的第一印象就是态度不认真,进一步就是你做事情的风格就这样马虎,或者说你对我们公司不感兴趣,所以,不给我面试机会也是很正常的。
这是一个教训。
在做这份题目的时候,就应该想到面对一份答案,阅卷人员会如何去看待,也就是说如何通过这份答案去影响阅卷人员对自己的看法。
如果他面对的是一份潦草的答卷,即使答案是完全正确的甚至是有些创意的,他也许看都不看就直接放到一边去了。
态度是最重要的事情。
要做,就要端正态度,做到最好,不然就不要去做了。
1.写出对“知之者不如好之者,好之者不如乐之者”的理解。
2.用中文写出尽可能多的中文语句,要求包含有“都”的意思(all、both之意),但不能有“都”字3.new/delete和malloc/free的区别,并说说你在什么情况下会自另行建立自己的内存分配机制。
attribute翻译成特性,用来标识类,方法。
property翻译为属性,性质用于存取类的字段。
markup翻译成标记。
tag翻译成标签。
[.NET(C#)]程序集的一个重要特性是它们包含的元数据描述了对应代码中定义的类型和方法。
[.NET(C#)]ASP页面有时显示比较慢,因为服务器端代码是解释性的不是编译的。
页面是结构化的。
每个页面都是一个继承了.NET类System.Web.UI.Page的类。
[.NET(C#)]重写override:是指子类重新定义父类的虚函数的做法。
重载overload:是指允许存在多个同名函数,而函数签名不同(参数表不同:或许参数个数不同,或许参数类型不同,或许两者都不同)。
重载的概念并不属于“面向对象编程”。
[.NET(C#)]ref 关键字使参数按引用传递。
其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。
out 关键字会导致参数通过引用来传递。
这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。
若要使用 out 参数,方法定义和调用方法都必须显式使用out 关键字。
[.NET(C#)]ADO和的区别:ADO使用OLE DB接口并基于微软的COM技术;而拥有自己的接口并且基于微软的.NET体系架构。
ADO以Recordset存储,而则以DataSet表示。
Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。
反之,DataSet可以是多个表的集合。
ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。
则使用离线方式,在访问数据的时候会利用XML制作数据的一份幅本的数据库连接也只有在这段时间需要在线。
[.NET(C#)]new 关键字用法:1)new 运算符:用于创建对象和调用构造函数。
2024年招聘.NET开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个技术不是.NET平台的一部分?A、B、CC、JavaD、2、在.NET中,以下哪个类用于处理文件输入输出?A、FileStreamB、StreamReaderC、StreamWriterD、File3、以下哪个不是.NET平台的核心框架之一?A. .NET FrameworkB. .NET CoreC. .NET 5D. Java Platform4、在C中,以下哪个属性是用于指定一个字符串变量的值是否可以改变?A. readonlyB. constC. sealedD. volatile5、在.NET框架中,以下哪个类是用来处理文件输入/输出的?A. FileInfoB. FileStreamC. DirectoryInfoD. StreamWriter6、在C中,以下哪个关键字用于声明一个异步方法?A. asyncB. awaitC. async/awaitD. task7、以下哪种编程语言是.NET平台的宿主语言?A. JavaB. CC. PythonD. Ruby8、在C中,以下哪个属性可以用来检查一个字符串是否为空或者仅包含空白字符?A. IsEmptyB. IsNullC. IsNullOrWhiteSpaceD. IsBlank9、在.NET框架中,以下哪个组件负责处理和响应应用程序的UI事件?A. B. C. Windows FormsD. WPF 10、在C中,以下哪种数据类型表示32位的带符号整数?A. byteB. shortC. intD. long二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术或框架是.NET开发工程师在开发过程中可能用到的?()A、 CoreB、Entity Framework CoreC、WPFD、DockerE、Vue.js2、以下关于.NET Core的特点,哪些是正确的?()A、跨平台B、高性能C、支持多种编程语言D、完全开源E、只适用于Web应用程序开发3、以下哪些技术或框架是.NET开发工程师在项目中可能会使用到的?(多选)A. CoreB. Entity Framework CoreC. Windows Communication Foundation (WCF)D. MVC (Model-View-Controller)E. jQuery4、以下关于 .NET 核心概念的描述,哪些是正确的?(多选)A. .NET Core 是一个开源、跨平台的框架。
数据分析测试题第一部分:计算机基础知识1、基础运算;0xA5(转换为十进制):0361(转换为二进制):255(转换为十六进制):-39(转换为二进制):7Xor5:5<<3:2、请描述内存存储机制中的Big-endian与Little-endian的区别;3、请列举你所熟知的几种文件系统类型,以及主流文件系统中常用的中文编码模式;4、常用硬盘的容量为1TB,请计算1TB所对应的字节数。
第二部分:逻辑推理5、请补填上第四行字符A B C D ED AE C BC D B E A_ _ _ _ _备选字符为:A、B、C、D、E,正确顺序是:______________。
6、有排列成一行的四户人家。
已知:A家在B家的隔壁;A家与D家并不相邻。
如果D家与C家也不相邻,那么,C家的隔壁是哪一家?7、“预杉”对于“须杼”那么8326对于________8、请选择正确的图形编号____。
9、找出下列与众不同的图形编号_____10、S先生、P先生、Q先生他们知道桌子的抽屉里有16张扑克牌:红桃A、Q、4 黑桃J、8、4、2、7、3 草花K、Q、5、4、6 方块A、5。
约翰教授从这16张牌中挑出一张牌来,并把这张牌的点数告诉 P先生,把这张牌的花色告诉Q先生。
这时,约翰教授问P先生和Q 先生:你们能从已知的点数或花色中推知这张牌是什么牌吗?于是,S先生听到如下的对话:P先生:我不知道这张牌。
Q先生:我知道你不知道这张牌。
P先生:现在我知道这张牌了。
Q先生:我也知道了。
听罢以上的对话,S先生想了一想,就正确地推出这张牌是什么牌.请问:这张牌是什么牌?技术支持工程师面试题一、列举硬盘品牌。
二、目前常见的数据存储设备有哪些?三、硬盘的接口方式有哪些?四、数制间的转换:1)十六进制0x2AF5转换成十进制_________2)十进制130 转换成十六进制_____________五、简述你对数据恢复的理解,如果知道原理请简述原理。
一.选择题:1.在关于DataSet和DataTable的以下描述中,选出正确的答案()。
(选择一项)a)同一个DataTable可以属于多个DataSetb)数据集中的数据表名称是区分大小写的,ds.Tables("Employees")和ds.Tables("employees")不是同一个表c)如果数据集中只有一个数据表,则该表的名称是大小写无关的d)即使数据集中只有一个数据表,该表的名称也要区分大小写2.XML的含义是(): (选择一项)a)客户端脚本程序语言b)文档对象模型c)级联样式表d)可扩展标记语言窗体文件的扩展名为: ( )(选择一项)a).aspxb).ascxc)Incd)Html4.要取出DropDownList控件中用户选择的值,应读取: ( ) (选择一项)a)SelectedIndexb)SelectedValuec)Valued)Text5.在中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是()。
(选择一项)a)insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行。
b)ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
c)Select操作的Sql语句只能由ExecuteReader()方法来执行。
d)ExecuteReader()方法返回一个DataReder对象。
6.如果希望控件内容变化后立即向服务器提交请求,需要在控件中添加属性()。
(选择一项)a)AutoPostBack="true"b)AutoPostBack="false"c)IsPostBack="true"d)IsPostBack="false"7.要使用SQL 数据操作组件来存取数据,必须加载的命名空间为()。
编辑删除.NET笔试题分类:C#&姓名:日期:1. 填空: (1)面向对象的语言具有________性、_________性、________性。
(2)能用foreach遍历访问的对象需要实现________________接口或声明________________方法的类型。
(3)列举中的五个主要对象_______________、_____________、_______________、_______________、_________________。
2. 不定项选择:(1) 以下叙述正确的是:A. 接口中可以有虚方法。
B. 一个类可以实现多个接口。
C. 接口不能被实例化。
D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:A. ExecuteNonQueryB. ExecuteScalarC. FillD. ExecuteReader3. 简述private、protected、public、internal 修饰符的访问权限。
4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。
)5 .列举 页面之间传递值的几种方式。
6. 写出程序的输出结果class Class1 {private string str = "Class1.str";private int i = 0;static void StringConvert(string str) {str = "string being converted.";}static void StringConvert(Class1 c) {c.str = "string being converted."; }static void Add(int i) {i++;}static void AddWithRef(ref int i) { i++;}static void Main() {int i1 = 10;int i2 = 20;string str = "str";Class1 c = new Class1();Add(i1);AddWithRef(ref i2);Add(c.i);StringConvert(str); StringConvert(c);Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str);}}7.写出程序的输出结果public abstract class A{public A(){Console.WriteLine(‟A‟);}public virtual void Fun(){Console.WriteLine("A.Fun()"); }}public class B: A{public B(){Console.WriteLine(‟B‟);}public new void Fun(){Console.WriteLine("B.Fun()"); }public static void Main(){A a = new B();a.Fun();}}8. 写出程序的输出结果:public class A{public virtual void Fun1(int i) {Console.WriteLine(i);}public void Fun2(A a){a.Fun1(1);Fun1(5);}}public class B : A{public override void Fun1(int i){base.Fun1 (i + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}}9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现。
(C#语言)10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。
(C#语言)要求: 1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
参考答案:1. (1) 继承性、封装性、多态性。
(考基本概念)(2) IEnumerable 、GetEnumerator (对foreach机制的理解,本来不想出这题的,凑分)(3) ... (送分题, 对的了解)评分标准:一空1分,满分10分。
2. (1) B、C (考对接口的理解) (2) B、C、D (考查对的熟练程度)评分标准: 一题5分,不选或者错选均不得分。
漏选得2分。
满分10分。
3. . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
评分标准:答对1题2分,2题5分,3题7分。
全对10分。
(送分题)4. 解1: select top 10 * from A where id not in (select top 30 id from A)解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 评分标准:写对即10分。
(答案不唯一,datagrid 分页可能需要用到)5. 1.使用QueryString, 如....?id=1; response. Redirect()....2.使用Session变量3.使用Server.Transfer....等等评分标准:答对1点得3分,两点7分,3点10分。
6. (考查值引用和对象引用)1021strstring being converted.评分标准:答对一点得2分,满分10分。
7. ABA.Fun()评分标准:写出A.B 得5分,写出A.Fun()得5分,满分10分。
(考查在继承类中构造函数, 以及new 方法, )8. 251评分标准:答对一点得2分,两点得5分,3点得7分。
全对得10分。
(一些人做这题,头都晕了.... ^_^ )9.public class MainClass{public static void Main(){Console.WriteLine(Foo(30));}public static int Foo(int i){if (i <= 0)return 0;else if(i > 0 && i <= 2)return 1;else return Foo(i -1) + Foo(i - 2);}}评分标准:写出return Foo(i -1) + Foo(i - 2); 得5分。
写出if(i > 0 && i <= 2) return 1; 得5分。
方法参数过多需要扣分(扣除分数= 参数个数-1)不用递归算法扣5分(递归算法在树结构建立等方面比较常用)10要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。
2. 对老鼠和主人进行抽象评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)<2>从Mouse和Master中提取抽象(5分)<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。
(3分)public interface Observervoid Response(); //观察者的响应,如是老鼠见到猫的反映}public interface Subject{void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠}public class Mouse : Observer{private string name;public Mouse(string name, Subject subj){ = name;subj.AimAt(this);}public void Response(){Console.WriteLine(name + " attempt to escape!");}}public class Master : Observer{public Master(Subject subj){subj.AimAt(this);}public void Response(){Console.WriteLine("Host waken!");}public class Cat : Subject{private ArrayList observers;public Cat(){this.observers = new ArrayList();}public void AimAt(Observer obs){this.observers.Add(obs);}public void Cry(){Console.WriteLine("Cat cryed!");foreach (Observer obs in this.observers){obs.Response();}}}class MainClass{static void Main(string[] args){Cat cat = new Cat();Mouse mouse1 = new Mouse("mouse1", cat); Mouse mouse2 = new Mouse("mouse2", cat); Master master = new Master(cat);cat.Cry();}//--------------------------------------------------------------------------------------------- 设计方法二: 使用event -- delegate设计..public delegate void SubEventHandler();public abstract class Subject{public event SubEventHandler SubEvent;protected void FireAway(){if (this.SubEvent != null)this.SubEvent();}}public class Cat : Subject{public void Cry(){Console.WriteLine("cat cryed.");this.FireAway();}}public abstract class Observer{public Observer(Subject sub){sub.SubEvent += new SubEventHandler(Response);}public abstract void Response();}public class Mouse : Observer{private string name;public Mouse(string name, Subject sub) : base(sub) { = name;}public override void Response(){Console.WriteLine(name + " attempt to escape!"); }}public class Master : Observer{public Master(Subject sub) : base(sub){}public override void Response(){Console.WriteLine("host waken");}}class Class1{static void Main(string[] args){Cat cat = new Cat();Mouse mouse1 = new Mouse("mouse1", cat); Mouse mouse2 = new Mouse("mouse2", cat); Master master = new Master(cat);cat.Cry();}}1.进程和线程的差别。