.NET框架高级编程试卷_第1页
.NET框架高级编程试卷_第2页
.NET框架高级编程试卷_第3页
.NET框架高级编程试卷_第4页
.NET框架高级编程试卷_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2014-2015学年 第一学期期末考试 .NET框架高级编程试卷A 姓名: 学号: 班级: 成绩:一、单项选择题(40,答案请填入以下表格)1以下除_以外都是Interlocked类中可以“原子操作”方式执行的静态方法。A. Exchange B. Increment C. Decrement D. Remove2. 在托管环境中创建线程后、调用start 之前,该线程处于 _状态。AUnstarted BRunning CWaitSleepJoin DStopped3. 已知委托类型DoSomething 定义如下:public delegate void DoSomething(); 则该类型派生自.NETFramework 提供的_抽象类。ASystem.Delegate BSystem.MulticastDelegate CSystem.Type DSystem.IntPtr4. .NET 程序集的配置文件使用 _格式书写。AVB 源程序 BC#源程序 CXML DHTML5. C#中的类型int 对应 .NET 类库中的 _。ASystem.Int64 BSystem.Int32 CSystem.Single DSystem.Int166. x,y 都是类MyClass 的变量。为了测试这两个变量是否引用同一个对象,应使用类MyClass 的下列哪个方法进行判断? _AGetHashCode BEquals CReferenceEquals DToString7. 按照ReadWriterLock类的使用规则,以下所述几种情况下除_外都会使线程B处于等待的状态。A: 当线程A正在读该资源时,线程B申请对相关的ReadWriterLock对象执行AcquireWriterLockB: 当线程A正在读该资源时,线程B申请对相关的ReadWriterLock对象执行AcquireReaderLockC: 当线程A正在写该资源时,线程B申请对相关的ReadWriterLock对象执行AcquireReaderLockD: 当线程A正在写该资源时,线程B申请对相关的ReadWriterLock对象执行AcquireWriterLock8. 对于不同的流,可以使用 _属性来查询流是否支持查找操作。ACanRead BPosition CCanSeek DCanWrite9. 当将Socket类的实例用于服务端时,假定以下各选项分别表示对其方法的一种调用顺序,其中只有_是合理的。 A. Listen、Bind、Accept、Receive BBind、Listen、Accept、ReceiveC. Accept、Bind、Listen、Receive DListen、Accept、Receive、Bind 10. 为了设置线程t1 的执行优先级,需访问t1 的 _属性。AIsBackgroud BPriority CIsAlive DThreadState11. 下列哪个Stream 类不存在于System.IO 命名空间中? _AFileStream BMemoryStream C. BufferedStream DNetWorkStream12. 已知int n=100; 以下语句中只有_执行了“装箱”。A: int k=n; B: object o=n; C: n=200; D: string s=n.ToString();13. 假定当前程序中对象myobj是被有效引用的第二代对象。此时若执行GC.Collect(),并在随后立即调用方法GC.GetGeneration(myobj),其返回值等于_。A: 0 B: 1 C: 3 D: 214. 如果要对一个集合以foreach方式执行遍历,则该集合所属的类型至少要实现_接口。A: CollectionBase B: ICloneable C: IEnumerable D: List15. 因内存不够引发的垃圾回收过程中,下列哪种情形的对象占用的内存将被回收?_A. 实现了析构方法的类的对象 B处于0 代的对象C. 处于2 代的对象 D. 无法从某个根引用抵达的对象16. .NET Framework Class Library 的作用 _。A是.NET 托管程序的执行引擎 B支持.NET 托管程序的操作系统C.NET 托管程序的编译程序 D供.NET 托管程序使用的类型集合17. 关于.NET中使用Attribute 属性,以下除_外全部错误。AAttribute是类中的成员 BAttribute只在Main方法内使用CAttribute写在中括号内 DAttribute是MSIL的一部分18. 以下编程语言中除了_外,都可以将其编写的源代码编译为MSIL。A: C+ B: C# C: VB.net D: Java19. 在命令行下使用CSC 命令编译C#源程序时,可使用_参数来说明程序中引用的其他程序集。A/target B/out C/linkresource D/reference20. 以下几种类型中除_外,都是泛型。AStack BStack CList DStack二、简答题 (20)1. 什么是线程池,使用线程池有什么优点?2. 什么是泛型?泛型有什么用? 3.为什么要自动垃圾回收?系统如何判断是否可以回收某对象?4. 什么是装箱和拆箱?它们的实质是什么?5. 什么是Web服务,它有哪些特点?三、阅读以下代码,写出该程序运行时输出的结果(8)using System;namespace TEST delegate void D(int x); class C public static void F1(int i) Console.WriteLine(F1: + i); public static void F2(int i) Console.WriteLine(F2: + i); public void F3(int i) Console.WriteLine(F3: + i); class Test static void Main() D d1 = new D(C.F1); d1(3); D d2 = new D(C.F2); d2(2); D d3 = d1 + d2; d3(1); C c = new C(); D d4 = new D(c.F3); d4(4); D d5 = d3 + d4; d5(5); d5 -= d4; d5(6); 本题程序输出为:四、对以下代码中划线处进行填空,并从整体上描述这段代码的功能或效果 (10)using System;using System. ;public class FileSystemWatchCherDemo static void Main(string args) FileSystemWatcher watcher = new FileSystemWatcher(C:); watcher. = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Created += new FileSystemEventHandler(OnChanged); watcher.Deleted += new FileSystemEventHandler(OnChanged); watcher.Renamed += new RenamedEventHandler(OnRenamed); watcher. += new ErrorEventHandler(OnError); watcher.EnableRaisingEvents = ; Console.WriteLine(Press Enter to exit); Console.ReadLine(); private static void OnRenamed(object source, RenamedEventArgs e) WatcherChangeTypes changeType = e.ChangeType; Console.WriteLine(The file 0 2 to 1, e. ,e.FullPath, e.changeType.ToString(); private static void (object source, FileSystemEventArgs e) Console.WriteLine(The file 0 1, e.FullPath, e.ChangeType.ToString(); private static void OnError(object source, ErrorEventArgs e) Console.WriteLine( ); 该程序的功能或效果为:五、对以下代码进行注释 (10)注意:凡有划线的位置都要写注释。当注释位于代码同一行时,表示对本行中代码的注释。当注释单独占有一行时,表示对上一行代码的注释。using System;using System.Collections; / public class Contractor private string name; private int rate; public Contractor(string Name, int Rate) / = Name; this.rate = Rate; public override string ToString() return string.Format(0 $1:.00, , this.rate); public class Contractors : IEnumerable private ArrayList items = new ArrayList(); public IEnumerator GetEnumerator() / for (int index = 0; index this.Count; index+) yield return thisindex; / public int Add(string Name, int Rate) return items.Add(new Contractor(Name, Rate); / public Contractor thisint Index / get return (Contractor)itemsIndex; public int Count get return items.Count; / public class contractorTest static void Main() Contractors myContractors = new Contractors(); myContractors.Add(Thomas Andersen, 12); / myContractors.Add(Carole Poland, 25); myContractors.Add(Nancy Anderson, 65); myContractors.Add(Sidney Higa, 48); foreach (Contractor c in myContractors) Console.WriteLine(c); / for (int i = 0; i myContractors.Count; i+) / Console.WriteLine(myContractorsi); Console.ReadLine(); 六、编程题 (12) 请按以下要求建立C#的控制台应用程序。(1) 该程序应完成子任务甲、乙、丙、丁、戊、己、庚、辛、壬。这些子任务之间存在的前趋关系如图1所示。(2) 为了提高运行效率,要求该程序使用多线程技术,除主线程外,另加入一至二个分线程。这些线程应尽可能提高子任务间并发性,但需要适当进行同步性控制,以满足图1中规定的关系。(3) 程序中可适当使用Thread类的Join方法或Aut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论