CNET框架程序设计习题与答案

上传人:夏** 文档编号:591521525 上传时间:2024-09-18 格式:PPT 页数:55 大小:274.50KB
返回 下载 相关 举报
CNET框架程序设计习题与答案_第1页
第1页 / 共55页
CNET框架程序设计习题与答案_第2页
第2页 / 共55页
CNET框架程序设计习题与答案_第3页
第3页 / 共55页
CNET框架程序设计习题与答案_第4页
第4页 / 共55页
CNET框架程序设计习题与答案_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《CNET框架程序设计习题与答案》由会员分享,可在线阅读,更多相关《CNET框架程序设计习题与答案(55页珍藏版)》请在金锄头文库上搜索。

1、C#习题与答案习题与答案答:C1.NET Framework不支持哪种类型的用户界面?A.Web窗体B.Windows窗体C.公共语言运行库D.控制台应用程序答:B2. 下面哪个不是.NET Framework 类库的主要特点和提供的高级服务:A. 跨语言继承和调试B. 很容易学习和掌握C. 是面向对象D. 是安全且易于扩充答:A3. 垃圾收集器要求程序员().A.为对象分配内存并在使用完毕后可不必释放它。B.为对象分配内存但在使用完毕后要释放它。C.不必为对象分配内存但在使用完毕后要释放它。D.不必为对象分配内存且在使用完毕后可不必释放它。答:公共语言运行库(CLR)、.NET Framew

2、ork类库(FCL) 4. 列出.NET Framework的两大主要组件。答:公共语言运行库(CLR)提供执行代码的环境、编译器、语言独立性和轻便性、以及执行垃圾回收。5. 公共语言运行库的用途是什么?答:公共语言规范(CLS)定义了一套所有与.NET兼容的语言应该支持的特性。6. 公共语言规范的用途是什么?答:托管环境提供一些服务,如垃圾回收、安全性以及其他类似的特性。7. 什么是托管环境?答:因为.NET Framework类库中包含数百个类,所以将这些类分组到命名空间中。全名的第一部分(最右边点的前面部分)是命名空间名称。全名的最后一部分(最右边点的后面部分)是类型名称。8. 如何从某

3、类的全名中识别它的命名空间名称和类型名称答:由于.NET Framework类库(FCL)包含了如此众多类型的定义,所以类库要以层次的命名空间结构来进行组织。 命名空间使用点句法命名方案将有关联的类逻辑分组,以便易于对其进行搜索和引用。9. NET Framework类库(FCL)如何组织其众多的类型?答:以CLR为目标的代码称为托管代码,它由伪机器语言编写的指令组成,这种语言也称为通用中间语言(Common Intermediate Language,CIL)。CIL指令可在运行时实时(JIT)编译为本机代码(典型的x86代码)。10. 解释什么叫托管代码。答:B11. 关于命名空间,下面正

4、确的说法是哪个?A. 命名空间不能嵌套另一个命名空间B. 在不同命名空间中,类型可以具有相同的名字C. 一个命名空间不能在多个文件中定义D. 单独一个源代码文件不能定义多个命名空间答:System命名空间是.NET Framework中类型的根命名空间。12. .NET Framework中类型的根命名空间名称是什么?答:必须使用/reference 编译开关选项。使用/reference编译选项后,编译器使指定库中的信息对当前正在编译的源程序可用。/r开关等效于/reference开关。13. 当编译引用程序集中类(除mscorlib.dll外)的代码时,你必须做什么?答:Microsoft

5、 中间语言(MSIL),有时也叫托管代码。14. .NET编译器产生的代码叫什么?答:实时(JIT)编译器。 15. 哪一个.NET组件将MSIL编译成特定于CPU的本机代码?答:垃圾回收过程。16. .NET的哪个特性确保对象占用的内存被回收?答:所有托管代码都通过使用公共语言运行库运行,公共语言运行库提供了跨语言集成、自动内存管理、跨语言异常处理、增强安全性以及一致性和简化的编程模型。17. 公共语言运行库有什么优点?答:B18.版本号为2.1.2.3的程序集可能和下面哪个版本号的程序集兼容?A.1.1.2.3B.2.2.2.3C.2.1.5.2D.2.0.2.3答:由一个或多个PE格式文

6、件组成的; 包含用来识别程序集及其文件的清单; 指明导出文件和导入的类 (Clsss)和类型(Type); 是部署、重用和版本控制的单元。19. 解释程序集(assembly)的组成结构和作用。答:程序集清单20. 程序集的哪一部分能够识别出它的输入类型、输出类型和它的版本信息?答:.NET Framework公共语言运行库21. 一台计算机要在本地运行一个.NET 应用程序时,需要什么软件?答:把可执行文件复制到本地并引用本地计算机的程序集,或从文件服务器上访问它们。22. 指出运行.NET Framework应用程序的两种简单方法。答:在应用程序目录创建配置文件,指定它的privatePa

7、th属性如下: 23. 描述一个应用程序如何使用位于应用程序子目录中的程序集。答:强名称程序集24. 哪一种程序集能被放到全局程序集缓存中并能被版本化?答:强名称工具(Sn.exe)可以用来生成一个公钥/私钥对,并把它们放置在一个sn k orgKey.snk文件中25. 用于产生公钥/私钥对的是什么命令?答: gacutil -i 26. 用来把一个强名称程序集安装到全局程序集缓存中的是什么命令?答:真正区别是:强名称程序集是用发布者的公/私密钥对来签署的,此公/私密钥对能够惟一识别程序集的发布者。这密钥对允许程序集被唯一识别、保护以及版本控制,它也允许程序集被部署到用户硬盘的任何地方,甚至

8、在Internet上。27. 弱名称与强名称程序集之间的区别是什么?当应用程序试图绑定强名称程序集时,这种惟一地识别一个程序集的能力允许CLR加强确定“知道是安全的”的策略。全局地部署程序集是把程序集放到一些众所周知的单元,当需要查找某程序集时,CLR知道去查找它。强名称程序集可以按私有方式或全局方式部署。一个弱名称程序集只能以私有方式部署。答:答:B28. 关于C#中类的构造函数,下面描述正确的是:A.为了增强类的封装性,构造函数一般被声明成Private型B.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数C.与方法不同的是,构造函数只有void这一种返回类型D.构造

9、函数如同方法一样,需要人为调用才能执行其功能答:答:值类型被分配在型被分配在栈中,使用中,使用拷拷贝赋值(assigned as copies),按,按值传递。引用型被分配在堆中,作引用型被分配在堆中,作为引用引用赋值(assigned as references),按引用,按引用传递。29. 值类型和引用类型的区别是什么?答:属性是类中的值,它通过get 和 set访问器方法被访问。实际的属性数据值可以存储在类实例中,或者在访问的时候计算出来。30. 字段和属性之间有什么不同?答:封装是通过使用访问修饰符实现的,如public,protected, internal, 和 private。3

10、1. .NET Framework是如何支持封装的?答:ToString方法的默认行为是返回类名。32. ToString方法的默认行为是什么?答:使用隐式转换可以提高可读性和可使用性。当转换可能引起数据丢失或者抛出异常时使用显式转换。33.什么时候使用隐式转换,什么时候使用显式转换?答:当一个值类型被转换成Object类型时发生装箱操作。当从Object类型中重新得到值类型时发生取消装箱操作。34.装箱操作什么时候发生? 答:如果值类型被当作引用类型处理,必须将该值类型从栈中拷贝到堆中。装箱操作为值类型在堆中分配内存,并创建一个对新内存单元的引用,然后拷贝该值类型到新的内存单元。35.装箱(

11、box)和取消装箱(unbox)如何工作?如果引用类型被当作值类型处理,这个引用类型必须先被取消装箱。取消装箱操作是把一个类型从堆中拷贝到栈中的变量内。答答:C36 有关类的静态成员与实例成员,下面描述错误的是A.类的静态成员是属于类本身的,而实例成员则是属于类的实例的B.无论创建了多少个类的实例,类的静态成员都只有一个副本C.在C#中,类的静态成员可以通过类或类的实例来访问,而类的实例成员只能通过类的实例来访问D.类的静态成员能在类范围中共享,不管类生成多少个实例,所有实例都可以共享同一个静态成员答:答: D37 .程序集是部署的基本单位,下面哪个选项不是程序集的组成部分?A.元数据B.清单

12、C.资源文件D.本机代码答:答: B38 .使用.NET开发的程序只有在具备.NET框架的环境下才可以运行,要在目标计算机上安装.NET框架,必须运行A.Visual Studio2003B.netFramework.exeC.netfx.exeD.Dotnetfx.exes答:答: A C39 .NET 框架中附带一套.NET 框架类库(Framework Class Library, FCL)程序集,它包含几千个类型定义,每个类型都公开某种功能,而.NET 中有另一个重要概念是命名空间(Namespaces),是类型的另一种组织结构,它将父类命名为命名空间,所有的子类都是这个命名空间的成员

13、,同时可以在命名空间内使用子命名空间,这样做的主要目的是:A. 使系统类库内容层次清晰,避免类名的冲突B. 为了类库逻辑上的完备性C. 方便类名的查找和使用D. 方便向各命名空间添加自定义类型答:答: A C40. 在托管环境下:A. 系统自动提供诸如垃圾回收、安全性等通用服务B. 如果需要,开发人员都可以关闭代码安全验证功能C. 如果需要,垃圾回收可以手动进行D. 开发者不能跟踪代码的执行E. 运行时,代码与类库是独立的答:答: C41.以下关于实时(JIT,Just-In-Time)编译器JIT 的叙述不正确的是:A. 只有方法首次被调用时,才会引起性能冲突,对此方法的后继调用都将直达内存

14、块,而完全跳过JIT CompilerB. 程序终止时就会放弃已编译的代码,如果以后要重新运行该程序,则需要JIT Compiler再次编译C. 执行程序时,需要经过两次的编译,这就需要分配更多的内存,需要额外的CPU 时间来完成工作D. JIT Compiler 可以根据本机的硬件情况来优化生成的代码答:答: C42 .只用文件名来区分程序集是不行的,这就需要强命名程序集这一机制。一个强命名程序集包括4 个自定义属性,用以唯一识别程序集,以下哪个不属于其中:A. 文件名(无扩展名)B. 版本号C. 元数据D. 区域性标识E. 公钥标记答:答: A43.在.NET构架中规定了.NET 语言必须

15、具有的一组特性(最小集)的是哪一层? A.CLSB.BCLC.CLRD.CTS答:答: A B44.下面有关类和对象的关系理解正确的是 A.对象是类的实例B.一个类可以同时产生多个不同的对象C.同一个类产生的多个对象一定是完全相同的D.对象是类的抽象化表现形式答:答: D45.下列哪种关系不符合继承关系A.植物 牡丹B.汽车 小轿车C.饮料 可乐D.手 食指答:答: B C46.下列关于值类型和引用类型说法正确的是 A.对一个引用型变量的操作不会影响到其他变量B.对一个值类型变量的操作不会影响到其他变量C.引用型变量存放的是指向实际对象数据的地址D.值类型分配在托管堆中答:答: C47.对日常

16、生活中的各种事物提取相同的属性和方法以形成类的过程称为A.封装B.实例化C.抽象D.继承 答:答: C48.将基类中声明的一个方法在不同的派生类中可以用不同的方式实现,这个过程又叫A.继承B.封装C.多态D.抽象答:答: A D49.关于构造函数说法正确的是A.构造函数是在创建类的实例时被执行B.构造函数是在声明对象时执行C.一个类可以有多个相同的构造函数D.一个类可以有多个不同的构造函数答:答: A50.在过程中执行下列代码,输出的值是什么?Person为引用类型Person p1=new Person();p1.name=”Jack”;Person p2=new Person();p2=p1;p2.name=”Mary”;Console.WriteLine(p1.name)A. MaryB. JackC. Mary JackD. Jack Mary 答:答: B51.下面代码的运行结果是:Imports SystemClass app static void Main() Int32 x; x = 5; Addval(x); Console.WriteLine(x) ;static void Addval(Int32 v)v = v + 7;A.7B.5C.12D.程序异常谢谢!谢谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号