NET练习试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、C#的数据类型有(B)
A值类型和调用类型;
B值类型和引用类型;
C引用类型和关系类型;
D关系类型和调用类型;
2、下列描述错误的是(D)
A类不可以多重继承而接口可以;
B抽象类自身可以定义成员而接口不可以;
C抽象类和接口都不能被实例化;
D一个类可以有多个基类和多个基接口;
3、在DOM中,装载一个XML文档的方法(B)
A save方法
B load方法
C loadXML方法
D send方法
4、下列关于构造函数的描述正确的是(C)
A 构造函数可以声明返回类型。
B构造函数不可以用private修饰
C 构造函数必须与类名相同
D 构造函数不能带参数
5、以下是一些C#中的枚举型的定义,其中错误的用法有(C)
A public enum var1{ Mike = 100, Nike = 102, Jike }
B public enum var1{ Mike = 100, Nike, Jike }
C public enum var1{ Mike=-1 , Nike, Jike }
D public enum var1{ Mike , Nike , Jike }
6、int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}};
myArray3[2][2]的值是(D)。
A 9
B 2
C 6
D越界
7、接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量。
A 方法、属性、索引器和事件;
B 方法、属性信息、属性;
C 索引器和字段;
D 事件和字段;
8、框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,
它们是( A)
A HTML控件和Web控件
B HTML控件和XML控件
C XML控件和Web控件
D HTML控件和IIS控件
9、中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册
指令为(A)
A <%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
B <%@Register TagPrefix = “Space2” TagName= “Mike” Src = “myX.ascx”%>
C <%@Register TagPrefix = “SpaceX” TagName = “Space2”Src = “Mike”%>
D 以上皆非
10、在中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C)。
A insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
B ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
C Select操作的Sql语句只能由ExecuteReader()方法来执行;
D ExecuteReader()方法返回一个DataReder对象;
二、填空题(25分)(25空,每空1分)
1.类的三大特性是___继承___,___封装___,__多态____
2.创建存储过程的命令是_CREATE __PRODURE 过程名_________删除表的命令是___DROP 表名________。
3.声明抽象类的关键字是__abstract_____,抽象类不能__直接实例化_____。
4..NET运行库支持被称为___类____的引用类型,其作用类似于C++中函数指针的用途。5.声明静态变量的关键字是___static____,声明常量的关键字是__const_____。
6.C#中处理内存管理功能的是_System. GC.Collect() ______。
7.在C#中用于显式地将一个值或引用转换为另一种不同的类型称为__类型转换_____。
8.在ADO。NET中,command对象是用_EXECUTENONQUERY______,_EXECUTEREADER______,___EXECUTESCALAR____方法执行命令。
9.B/S通常使用的结构设计模型分为__网页_____,___服务器____,___网页____。
10. System.IO命名空中读文件的方法主要有:___READ()____,___READLINE()____,_______。
写文件的方法主要有:___WRITE()____,___WRTIELINE()____,_______。
三、简答题(35分)(7小题,每小题5分)
1、GC是什么? 为什么要有GC?。
首先JAVA和都有GC
垃圾回收(garbage collection, GC)
一个跟踪过程,它传递性地跟踪指向当前使用的对象的所有指针,以便找到可以引用的所有对象,然后重新使用在此跟踪过程中未找到的任何堆内存。公共语言运行库垃圾回收器还压缩使用中的内存,以缩小堆所需要的工作空间
因为你没有足够多内存,并且,你挺懒,不去自己清理内存,所以就有了GC
什么是GC
GC的全称是garbage collection,中文名称垃圾回收,是.net中对内存管理的一种功能。垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。
在进行垃圾回收时,垃圾回收器回首先搜索内存中的托管对象,然后从托管代码中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起。这就是GC的四个步骤。
由上可见,GC是很影响性能的,所以一般说来这种事情况还是尽量少发生为好。
为了减少一些性能影响,.net的GC支持对象老化,或者说分代的概念,代是对象在内存中相对存现时期的度量单位,对象的代数或存现时期说明对象所属的代。目前.net的垃圾回收器支持三代。每进行一次GC,没有被回收的对象就自动提升一代。较近创建的对象属于较新的代,比在应用程序生命周期中较早创建的对象的代数低。最近代中的对象位于零代中。每一次GC的时候,都首先回收零代中的对象,只有在较低代数的对象回收完成后仍不能满足需求的情况下才回收较高代数的对象。
2、String s = new String("xyz");创建了几个String Object?
两个。一个是你作为参数的"xyz", 一个是你自己创建的new String("xyz")
3、启动一个线程是用run()还是start()?二者有何区别?
启动一个线程是调用start()方法,这并不意味着线程就会立即运行,只是进入了可运行状态。直接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可