




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.填空:(1) 面向对象的语言具有 继承性、封装性、多态性。(2) 能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方 法的类型。(3) 列举ADO.net中的五个主要对象Command、Connection、DataSet、DataSetCommand、DataReader。(3) 和 有什么区别?表示绑定的数据源是服务器端代码块(4).c#中的三元运算符是 ? : (5).当整数a赋值给一个object对象时,整数a将会被 装箱(6).类成员有 3 种可访问形式?(7).public static const int A=1;这段代码有错误么?是什么?答案:const成员都是static所以应该去掉static(8).float f=-123.567F; int i=(int)f; i的值现在是 -123(9).利用operator声明且仅声明了=,有什么错误么?(10).委托声明的关键字是_delegate _(11).用sealed修饰的类有什么特点?答案:不可以被继承,只能被实例化(12).在A中所有的自定义用户控件都必须继承自System.Web.UI.UserControl(13).在.Net中所有可序列化的类都被标记为_serializable_(14).在.Net托管代码中我们不用担心内存漏洞,这是因为有了_gC_2. 不定项选择:(1)以下叙述正确的是:A.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。答案:BC(2)从数据库读取记录,你可能用到的方法有:A.ExecuteNonQueryB.ExecuteScalarC.FillD.ExecuteReader 答案:B、C、D(考查对ADO.net的熟练程度)评分标准:一题5分,不选或者错选均不得分。漏选得2分。满分10分。3.简述private、protected、public、internal修饰符的访问权限。private:私有成员,在类的内部才可以访问。 protected:保护成员,该类内部和继承类中可以访问。 public:公共成员,完全公开,没有访问限制。 internal:在同一命名空间内可以访问。4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。)解1:selecttop10*fromAwhereidnotin(selecttop30idfromA)解2:selecttop10*fromAwhereid(selectmax(id)from(selecttop30idfromA)asA)评分标准:写对即10分。(答案不唯一,datagrid分页可能需要用到)5. 列举ASP.NET页面之间传递值的几种方式。 1.使用QueryString,如.?id=1;response.Redirect().2.使用Session变量3.使用Server.Transfer6. 写出程序的输出结果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);/i1=11 AddWithRef(ref i2); /i2=20 Add(c.i); /i=1 StringConvert(str); StringConvert(c); Console.WriteLine(i1);/11 Error Console.WriteLine(i2);/20 Error Console.WriteLine(c.i); /1 Error Console.WriteLine(str); /string being converted Error Console.WriteLine(c.str);/string being converted. Error 答案:(考查值引用和对象引用)10210strstringbeingconverted.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();/B Error a.Fun();/A.Fun() Error 答案:A B A .Fun()评分标准:写出A.B得5分,写出A.Fun()得5分,满分10分。(考查在继承类中构造函数,以及new方法,) 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);/1,2,5 Error b.Fun2(a);/1,5 Error 答案:2 5 1 6评分标准:答对一点得2分,两点得5分,3点得7分。全对得10分。(一些人做这题,头都晕了._)9.一列数的规则如下:1、1、2、3、5、8、13、21、34.求第30位数是多少,用递归算法实现。(C#语言)public class B public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i 0 & i 0&i=2)return1;得5分。方法参数过多需要扣分(扣除分数=参数个数1)不用递归算法扣5分(递归算法在树结构建立等方面比较常用)10. 程序设计:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)要求:1.要有联动性,老鼠和主人的行为是被动的。2.考虑可扩展性,猫的叫声可能引起其他联动效应。答案:public interface Observer void 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() Cat cat = new Cat(); Mouse mouse1 = new Mouse(mouse1, cat); Mouse mouse2 = new Mouse(mouse2, cat); Master master = new Master(cat); cat.Cry(); 11以下代码能否通过编译?如果不能,请改成正确代码,并说明原因。答案:不能通过编译;把第1个中的方法放到.CS文件中作为一个独立的方法,在Page_load事件中放入第2个中的代码.C#程序只能在.CS文件中执行,用户请求某个页面时,先实例化.CS文件执行里面的C#代码响应客户端,把生成的HTML代码Response到客户端浏览器 0) Response.Write(Value: + number + ); number = subtract(number, 1); % 12解释一下带 “original_” 前缀的Data Parameter和不带前缀的Data Parameter有什么异同。(可用简单的代码说明)答案:GridView中在配置SqlDataSource中的OldValuesParameterFormatString时用到的,用来配置DeleteCommand, InsertCommand, UpdateCommand 时用到的参数,带 “original_” 前缀指的是在GridView中的数据,根据在GridView中的数据去修改数据库中的数据 asp:SqlDataSource ID=SqlDataSource1 runat=server ConflictDetection=CompareAllValuesConnectionString= OldValuesParameterFormatString=original_0 SelectCommand=SELECT * FROM STUDENTSDeleteCommand=DELETE FROM STUDENTS WHERE SNO = original_SNOInsertCommand=INSERT INTO STUDENTS (SNO, SNAME, SSEX, SAGE) VALUES (SNO, SNAME, SSEX, SAGE)UpdateCommand=UPDATE STUDENTS SET SNAME = SNAME, SSEX = SSEX, SAGE = SAGE WHERE SNO = original_SNO 13GridView没有内置Insert 数据的功能,如果想在GridView内Insert数据,你有什么想法?答案:在页面中填加一个Table和一些TextBox, Button用来填写要添加的数据和提交,写一个insert方法,用Foreach把 inser into 语句的字符串连接好,然后执行这个SQL语句。14ASP.NET 2.0 哪个(些)特性是你觉得最激动人心的?为什么?(也可以谈C2.0) 答案:ASP.NET 2.0相对于1.1突出了3大理念, 1,提高生产力 A 一致性(masterpage) B 会员管理 C 资料存取 D 个性化 2 管理能力的提高(例如WEB.CONFIG) 3 提升效能,满足更多人的访问1 ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码. 2 同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有 在分离的代码文件,无法在页面嵌入服务器端代码获得帮助提示,3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢 4 在绑定数据,做表的分页.UPDATE,DELETE,等操作都可以可视化操作,方便了初学者 5, 在ASP.NET中增加了40多个新的控件,减少了工作量15、override与重载的区别 答案:Override用来重写父类的方法,重载使用相同名的方法或拥有不同类型的参数16、.net的错误处理机制是什么答案:.net错误处理机制采用try-catch-finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。17、C中接口和类的异同答案:接口和类都是类,不同的是,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。18、DataReader和DataSet的异同答案:DataReader用于读取一行数据,需要一直和数据库保持连接;DataSet用于读取数据集合并在内存中保存数据,读取结束后就自动关闭和数据库的连接。DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库.任何对SqlConnection的操作都会引发DataReader的异常.因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的.因为DataReader的特殊性和高性能.所以DataReader是只进的.你读了第一条后就不能再去读取第一条了.DataSet则是将数据一次性加载在内存中.抛弃数据库连接.读取完毕即放弃数据库连接.因为DataSet将数据全部加载在内存中.所以比较消耗内存.但是确比DataReader要灵活.可以动态的添加行,列,数据.对数据库进行回传更新操作.19下面的代码中有什么错误吗?_ 答案:可以运行使用;abstract 类中抽象成员不需要在用override来修饰,因为抽象成员本身就是override的 using System; class A public virtual void F() Console.WriteLine(A.F); abstract class B:A public abstract override void F(); 20当类T只声明了私有实例构造函数时,则在T的程序文本外部, 不可以 从T派生出新的类, 不可以 直接创建T的任何实例。21在.Net中,类System.Web.UI.Page 可以被继承么?答案:可以二.简答题1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?答案:Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法,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的实例时,产生什么输出?答案:X=1,Y=03产生的输出结果是什么?答案:x=1,y=2 答案:类载入时,最先执行static 的构造函数static A(),这时B类中没有构造函数给Y初始化所以B.Y的值=0 class A public static int X; static A() X = B.Y + 1;Console.WriteLine(B.Y=0,B.Y); /B.Y=0 class B public static int Y = A.X + 1; static B() static void Main() Console.WriteLine(X=0,Y=1, A.X, B.Y);/2,1 4.谈谈类和结构的区别答案:类是存储在堆上的引用类型,结构是存储在堆栈上的值 结构不支持继承结构的构造函数的工作方式和类的不同,为结构定义构造函数的方式与为类定义构造函数的方式相同,但不允许为结构定义无参数的构造函数5一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c语言编写主要程序来实现。 class Test5 public static void Main() int i = 0; string Allstr=; int begin =(int)(char)A); int end =(int)(char)Z); Random rand = new Random(); while( i 10000) int strnum = rand.Next(begin,end); char str = (char)strnum; Allstr = Allstr + str + t; i+; Console.WriteLine(Allstr ); 6.对于这样的一个枚举类型:试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。 enum Color:byte Red, Green, Blue, Orange Color.Red; byte i = 0; while (i =3) Console.Write(c+i); Console.Write( ); Console.WriteLine(int)(c+i); i+; 7.什么叫做SQL注入,如何防止?请举例说明。许多网站程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,(一般是在浏览器地址栏进行,通过正常的www端口访问)根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。举例:1) 整型参数的判断/news.asp?id=xx and 1=1, news.asp运行正常,而且与/news.asp?id=xx运行结果相同;/news.asp?id=xx and 1=2, news.asp运行异常;(这就是经典的 1=1 ;1=2 判断方法)如果以上面满足,news.asp中就会存在SQL注入漏洞,反之则可能不能注入。2) 字符串型参数的判断方法与数值型参数判断方法基本相同当输入的参数xx为字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发流程面临的挑战试题及答案
- 企业文化与风险管理考题及答案
- 制定职业晋升的长期规划计划
- 2024年甘肃陇南事业单位招聘笔试真题
- VB最佳编程习惯与技巧试题及答案
- 2024年东莞市市场监督管理局招聘笔试真题
- 移动设备安全性测试试题及答案
- 软件工程项目管理中的挑战试题及答案
- 未来市场竞争中的风险识别试题及答案
- 自然语言处理技术试题及答案
- 137案例黑色三分钟生死一瞬间事故案例文字版
- 高中英语外研版 单词表 必修1
- 临床流行病学与循证医学-临床实践指南的制定与评价
- 【魔镜洞察】2024药食同源保健品滋补品行业分析报告
- 2023届高考地理一轮复习跟踪训练-石油资源与国家安全
- 14.有趣的光影(课件)-美术六年级下册
- 中央2024年商务部中国国际电子商务中心招聘笔试历年典型考题及考点附答案解析
- 2024年四川省南充市名校中考物理模拟试卷
- JBT 14682-2024 多关节机器人用伺服电动机技术规范(正式版)
- 改进工作作风自查报告(11篇)
- 24春国家开放大学《机械CADCAM》形考任务1-3参考答案
评论
0/150
提交评论