文档详情

C#第三套试题及答案

wuy****ng
实名认证
店铺
DOC
46.01KB
约5页
文档ID:157900938
C#第三套试题及答案_第1页
1/5

C#试题(3)一. 填空题1. 类的三大特性是(继承)(封装)(多态)2. SQL语言中,用于事务回滚的语句是(rollback tran)3. 声明静态变量的关键字是(static),声明常量的关键字是(const) 4. 软件工程的三大文档(需要分析说明书)(概要设计说明书)(详细设计说明书) 5. 为数据表创建索引的目的是(提高查询速度) 6. B/S通常使用的结构设计模型分为(模型)(视图)(控制器)MVC经典的Web/Business/DataAccess)7. SQL SERVER中索引类型包括的三种类型分别是(唯一索引)(主键索引)(聚集索引) 8. 在SQL SERVER2000中的四中约束(主键)(唯一)(外键)(检查) 9. Codebehind主要是通过把(aspx代码)和(cs代码)放在不同的文件中来实现代码分离的 10.计算字段的平均值和最大值的函数是:(avg)(max)11.XML的全称是(Extensible Markup Language),提供了快速和有效地读写XML的方式的类分别是(XMLReader)(XMLWriter)。

12. SQL SERVER 中的存储过程是(预编译集合)13.C#中所有的类型实质上都是从(object)类派生而来的 14..NET运行库支持被称为(委托)的引用类型,其作用类似于C++中函数指针的用途 15. 在流程控制中CONTINUE的作用(跳出当前循环继续) 二. 简答题1. 描述下C#中的程序集?程序集是有哪两部分组成?答:程序集是自我描述的安装单元,由一个或多个文件组成,一个程序集可以是一个包含元数据的DLL或EXE,也可以由多个文件组成,例如资源文件、元数据、DLL和EXE程序集的安装仅是复制所有的文件而已,使用xcopy命令即可完成安装,有两种类型:私有的和共有的2. 什么是元数据?答: 元数据是以二进制形式存在于PE文件中的信息集合,它包含了每个类型的声明及其所有成员(方法、字段、属性和事件)的声明,包括名字和类型,而对于每个实现的方法,元数据包含调用者用于定位方法体的信息与旧的技术如类型库等相比较而言,元数据更加完整,并总是嵌入到托管模块中3. 请写出 BOOL flag 与“零值”比较的 if 语句?请写出 char p 与“零值”比较的 if 语句?答:if(flag){};if(!flag)。

4. 说出下面几个函数的区别: private void test(string str){…} :通过值传送变量private void test(ref string str){…} :值参数通过引用传递给方法,必须先初始化strprivate void test(out string str){…}:str通过引用被传送,从test中返回时,保留该方法对其的改变5. 什么是强类型系统?答:C# 是强类型语言;因此每个变量和对象都必须具有声明类型6. 值类型和引用类型的区别?答:值类型直接存储其值,引用类型存储对值的引用值类型存储在堆栈中,而引用类型存储在托管堆上值类型包括:简单类型、结构类型、枚举类型;引用类型包括:类、数组、接口、委托、字符串、数组7. 如何理解委托?答:有点类似于指针,但他是类型安全的,通过对于方法特征和返回类型的声明,封装了具有相同特征和返回类型的方法不关心该方法是什么类型的对象,甚至是静态的还是实例的委托可以连接在一起,可以对一个事件调用多个方法8. 事务是什么?答:在许多大型、关键的应用程序中,计算机每秒钟都在执行大量的任务更为经常的不是这些任务本身,而是将这些任务结合在一起完成一个业务要求,称为事务。

当某一个任务失败时,就恢复到指定的恢复点,这个叫回滚9. 解释重载函数、虚拟函数的概念?答:重载方法:是指使用相同的方法名,但指定不同的参数(个数,类型)虚拟方法:在基类中对要实现多态性的方法加上virtual关键字,在派生类中的同名方法前面,加上override关键字修饰,并改写该方法的代码10.请简述以下两个for循环的优缺点for (i=0; i

12. 列出ADONET中读写数据库的主要的几个类?它们的作用?答:Connection数据库连接;Command执行SQL语句或存储过程;DataAdapter用于填充DataSet和更新数据库的一组数据命令和数据库连接,断开模式;DataReader,读取数据库信息,是只读向前的;DataSet数据在内存中的缓存13. 什么是中间语言(IL)?它的作用?答:代码在执行前都要被编译为托管代码,与CPU无关的指令集 其作用:支持平台无关性,还支持语言的互操作性14. 在SQL SERVER2000中存储过程和触发器的区别?答:存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE触发器可以查询其它表,而且可以包含复杂的 SQL 语句。

它们主要用于强制复杂的业务规则或要求例如,可以控制是否允许基于顾客的当前帐户状态插入定单 触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束有关详细信息,请参见表关系 触发器的优点如下: 触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活 触发器可以通过数据库中的相关表进行层叠更改例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位 触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂与 CHECK 约束不同的是,触发器可以引用其它表中的列15.在ASP.NET中页面之间传递值的方式?(尽可能叙述)答: session(viewstate) 简单,但易丢失application 全局cookie 简单,但可能不支持,可能被伪造input ttype="hidden" 简单,可能被伪造url参数 简单,显示于地址栏,长度有限数据库 稳定,安全,但性能相对弱16.分析类和结构的异同?答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。

结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化如何选择使用结构还是类: 1.堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些 2.结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存在此情况下,结构的成本较低 3.在表现抽象和多级别的对象层次时,类是最好的选择 4.大多数情况下该类型只是一些数据时,结构是最佳的选择17.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?答:s1是short型的,s1 + 1是int型的,不能显示的转换成short型,改为s1 = (short)(s1 + 1); 后面的没有错18.叙述ASPNET中的equiredFieldValidator和RegularExpressionValitor验证控件及作用?答:equiredFieldValidator是必须字段验证,RegularExpressionValitor是正则表达式验证。

19.叙述下Using 的用法?答:1. using指令using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间2.using别名using + 别名 = 包括详细命名空间信息的具体的类型当一个cs引用多个命名空间时,而有相同的类型时可以这样做比如namespace1 和namespace2下面都有myClass类时,可以using class1 = namespace1.myClass;using class2 = namespace2.myClass3.using语句,定义一个范围,在范围结束时处理对象20.C#中接口和类有什么异同?答:接口包括属性、方法、事件,是负责功能的声明和定义的,功能的实现从继承他的类中实现类是实现具体功能的,可以继承多个接口,但是只能继承一个基类21.什么是装箱和拆箱?答:装箱就是把值类型转换成引用类型,拆箱是把引用类型转换成值类型22.什么是WEBSERVICE ?答:web服务,是利用SOAP(简单对象访问协议,Simple Object Access Protocol)在HTTP上执行远程方法调用的一种方法,也可以使用WSDL(Web Service Description Language,Web服务描述语言)来完整的描述Web服务,基于XML标准。

23.软件开发过程一般有几个阶段? 答:分析,开发,测试,维护24.在ASPNET中自定义控件是什么? 答:自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里 面,直接用鼠标拖动使用25.ASP.NET的Application、Session、Cookie、ViewState和Cache等变量的区别是什么?答:a) Application:能够包含任意大小的信息,在整个应用程序周期中有效,是面对所有应用程序用户的,保存于服务器端 b) Session:能够保存相对少量的、简单的数据,一般在用户活动时间加上一端Timeout设定时间中有效(通常是20分钟Timeout),这是面向单个用户的信息,保存于服务器端 c) Cookie:保存少量的、简单的数据,一般不允许超过4KB,使用期限可以进行灵活设定,面向单个用户,保存于浏览器中(也就是客户端) d) ViewState:保存少量的数据,在一个Web页面周期内有效,面向单个用户,保存于客户端 e) Cache:缓存,大小任意,可以灵活设定可用时间,一般针对所有用户,保存于客户端    26.解释下在ASP.NET中Response的作用?答:Response对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。

27.解释下在ASP.NET中Request的作用?答:Request对象的主要作用就是:在服务器端接受并得到从客户端浏览器提交或上传的信息包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证28. C#中能够使用指针吗?如果不能使用说明理由,如果能使用说出使用方法?答:可以使用只能在标记为unsafe关键字的地方使用,任何方法、类、结构、成员都能标记为unsafe,也可以把方法中的一个代码块标记为unsafe,但要注意,不能把局部变量本身标记为unsafe,除非在unsafe的方法或代码块中声明三.编程题:1.为管理岗位业务培训信息,建立3个表:   S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄   C (C#,CN) C#,CN 分别代表课程编号、课程名称   SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩 答:Create table S( S# varchar(10),SN varchar(20),SD varchar(50),SA int)Create table C( C# varchar(10),CN varchar(30),)Create table SC( S# varchar(10),C# varchar(10),G varchar(6))a) 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名答:select S#,SN from S where S# in (select SC.S# from SC,C where SC.C# = C.C# and C.CN = '税收基础')或:select S#,SN from S where S# in (select S# from SC where C# in (select C# from C where CN = '税收基础))b) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位答:select S.SN,S.SD from S,SC where S.S# = SC.S# and SC.C# = 'C2'或:select SN,SD from S where S# in (select S# from SC where C# = 'C2')c) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位答:select SN,SD from S where S# not in(select S# from SC where C# = 'C2')d) 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位答:select SN,SD from S where S# in (select S# from SC right join C on SC.C#=C.C# group by S# having count(*)=count(S#))e) 查询选修了课程的学员人数答:select 学员人数=count(distinct S#) from SCf) 查询选修课程超过5门的学员学号和所属单位答:select S#,SD from S where S# in (select S# from SC group by S# having count(distinct C#) > 5)2.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。

答:select ID from table1  where LastUpdateDate = (select max(LastUpdateDate) from table1)或:select top 1 ID from table1 order by LastUpdateDate desc。

下载提示
相关文档
正为您匹配相似的精品文档