您好,欢迎访问三七文档
.NET笔试题默认分类2008-03-1321:24:06阅读1336评论1字号:大中小编辑删除.NET笔试题分类:C#&ASP.NET姓名:日期:1.填空:(1)面向对象的语言具有___封装性_____性、____继承性_____性、_____多态___性。(2)能用foreach遍历访问的对象需要实现_IEnumerable_接口或声明_GetEnumerator__方法的类型。(3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。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.列举ASP.NET页面之间传递值的几种方式。6.写出程序的输出结果classClass1{privatestringstr=Class1.str;privateinti=0;staticvoidStringConvert(stringstr){str=stringbeingconverted.;}staticvoidStringConvert(Class1c){c.str=stringbeingconverted.;}staticvoidAdd(inti){i++;}staticvoidAddWithRef(refinti){i++;}staticvoidMain(){inti1=10;inti2=20;stringstr=str;Class1c=newClass1();Add(i1);AddWithRef(refi2);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.写出程序的输出结果publicabstractclassA{publicA(){Console.WriteLine(’A’);}publicvirtualvoidFun(){Console.WriteLine(A.Fun());}}publicclassB:A{publicB(){Console.WriteLine(’B’);}publicnewvoidFun(){Console.WriteLine(B.Fun());}publicstaticvoidMain(){Aa=newB();a.Fun();}}8.写出程序的输出结果:publicclassA{publicvirtualvoidFun1(inti){Console.WriteLine(i);}publicvoidFun2(Aa){a.Fun1(1);Fun1(5);}}publicclassB:A{publicoverridevoidFun1(inti){base.Fun1(i+1);}publicstaticvoidMain(){Bb=newB();Aa=newA();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)...(送分题,对ADO.net的了解)评分标准:一空1分,满分10分。2.(1)B、C(考对接口的理解)(2)B、C、D(考查对ADO.net的熟练程度)评分标准:一题5分,不选或者错选均不得分。漏选得2分。满分10分。3..private:私有成员,在类的内部才可以访问。protected:保护成员,该类内部和继承类中可以访问。public:公共成员,完全公开,没有访问限制。internal:在同一命名空间内可以访问。评分标准:答对1题2分,2题5分,3题7分。全对10分。(送分题)4.解1:selecttop10*fromAwhereidnotin(selecttop30idfromA)解2:selecttop10*fromAwhereid(selectmax(id)from(selecttop30idfromA)asA)评分标准:写对即10分。(答案不唯一,datagrid分页可能需要用到)5.1.使用QueryString,如....?id=1;response.Redirect()....2.使用Session变量3.使用Server.Transfer....等等评分标准:答对1点得3分,两点7分,3点10分。6.(考查值引用和对象引用)10210strstringbeingconverted.评分标准:答对一点得2分,满分10分。7.ABA.Fun()评分标准:写出A.B得5分,写出A.Fun()得5分,满分10分。(考查在继承类中构造函数,以及new方法,)8.2516评分标准:答对一点得2分,两点得5分,3点得7分。全对得10分。(一些人做这题,头都晕了....^_^)9.publicclassMainClass{publicstaticvoidMain(){Console.WriteLine(Foo(30));}publicstaticintFoo(inti){if(i=0)return0;elseif(i0&&i=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}评分标准:写出returnFoo(i-1)+Foo(i-2);得5分。写出if(i0&&i=2)return1;得5分。方法参数过多需要扣分(扣除分数=参数个数-1)不用递归算法扣5分(递归算法在树结构建立等方面比较常用)10要点:1.联动效果,运行代码只要执行Cat.Cryed()方法。2.对老鼠和主人进行抽象评分标准:1.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)2从Mouse和Master中提取抽象(5分)3联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)publicinterfaceObserver{voidResponse();//观察者的响应,如是老鼠见到猫的反映}publicinterfaceSubject{voidAimAt(Observerobs);//针对哪些观察者,这里指猫的要扑捉的对象---老鼠}publicclassMouse:Observer{privatestringname;publicMouse(stringname,Subjectsubj){this.name=name;subj.AimAt(this);}publicvoidResponse(){Console.WriteLine(name+attempttoescape!);}}publicclassMaster:Observer{publicMaster(Subjectsubj){subj.AimAt(this);}publicvoidResponse(){Console.WriteLine(Hostwaken!);}}publicclassCat:Subject{privateArrayListobservers;publicCat(){this.observers=newArrayList();}publicvoidAimAt(Observerobs){this.observers.Add(obs);}publicvoidCry(){Console.WriteLine(Catcryed!);foreach(Observerobsinthis.observers){obs.Response();}}}classMainClass{staticvoidMain(string[]args){Catcat=newCat();Mousemouse1=newMouse(mouse1,cat);Mousemouse2=newMouse(mouse2,cat);Mastermaster=newMaster(cat);cat.Cry();}}//---------------------------------------------------------------------------------------------设计方法二:使用event--delegate设计..publicdelegatevoidSubEventHandler();publicabstractclassSubject{publiceventSubEventHandlerSubEvent;protectedvoidFireAway(){if(this.SubEvent!=null)this.SubEvent();}}publicclassCat:Subject{publicvoidCry(){Console.WriteLine(catcryed.);this.FireAway();}}publicabstractclassObserver{publicObserver(Subjectsub){sub.SubEvent+=newSubEventHandler(Response);}publicabstractvoidResponse();}publicclassMouse:Observer{privatestringname;publicMouse(stringname,Subjectsub):base(sub){this.name=name;}publicoverridevoidResponse(){Console.WriteLine(name+attempttoescape!);}}publicclassMaster:Observer{publicMaster(Subjectsub):base(sub){}publicoverridevoidResponse(){Console.WriteLine(hostwaken);}}classClass1{staticvoidMain(string[]args){Catcat=newCat();Mousemouse1=newMouse(mouse1,cat);Mousemouse2=newMouse(mouse2,cat);Mastermaster=newMaster(cat);cat.Cry();}}1.进程和线程的差别。线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。2.测试方法人工测试:个人复查、抽
本文标题:.NET笔试题1
链接地址:https://www.777doc.com/doc-3116150 .html