东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案_第1页
东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案_第2页
东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案_第3页
东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案_第4页
东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

东北大学23春“计算机科学与技术”《软件设计模式》补考试题库附答案第I卷一.综合考核(共15题)1.用例图、类图、对象图、状态图和顺序图属于静态建模机制。()A.正确B.错误2.&&是位运算符,表示按位与运算,&是逻辑运算符,表示逻辑与运算。()A.错误B.正确3.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?()A.stringstr="Tom\'sLivingRoom";B.stringstr="Tom'sLivingRoom";C.stringstr("Tom'sLivingRoom");D.stringstr("Tom"sLivingRoom");4.如有定义{intcount;stringmsg;}则该类的缺省构造函数为:()A.internalMyClass(){}B.publicMyClass(){Count=0;Msg=null;}C.publicMyClass{}D.不存在5.在C#中设计类时,应如何保证在释放对象的所有引用之时,释放对象使用的文件、网络等资源?()A.为类重载new运算符B.为类添加delete运算符C.为类添加析构函数,在析构函数中释放资源D.为类实现IDisposable接口,并实现Dispose方法,在该方法中释放资源6.下列语句创建了多少个string对象?()string[,]strArray=newstring[3][4];A.0B.3C.4D.127.在C#中,下列哪些语句可以创建一个具有3个初始值为“”的元素的字符串数组?()A.stringStrList[3](“”);B.string[3]StrList={“”,“”,“”};C.string[]StrList={“”,“”,“”};D.string[]StrList=newstring[3];8.方法中的值参数是()的参数。A.按值传递B.按引用传递C.按地址传递D.不传递任何值9.工厂方法是抽象工厂模式的扩展。()A.正确B.错误10.接口与抽象类的区别是,抽象类虽然不能被实例化,但是可以包含可实现的部分,而接口则是一个完全抽象的成员集合,它只提供相关操作的标准和规则,不提供实现。()A.正确B.错误11.类是对具有公共的方法和一般特殊性的一组基本相同对象的描述。()A.正确B.错误12.在C#2005编程环境中,常量的值可以在代码中被修改。()A.错误B.正确13.下面有关析构函数的说法中,不正确的是:()A.析构函数中不可以包含return语句B.一个类中只能有一个析构函数C.析构函数在对象被撤销时,被自动调用D.用户可以定义有参析构函数14.不同的参数类型、参数顺序、参数个数和返回值类型都是区别重载方法的根据。()A.正确B.错误15.数组作为函数的参数时默认的传递形式是按值传递。()A.错误B.正确第II卷一.综合考核(共15题)1.结构化程序设计的一般步骤是结构化需求分析、结构化概要设计和结构化详细设计。()A.错误B.正确2.人机交互子系统的设计内容就是用户如何命令系统。()A.错误B.正确3.C#程序语言也可以进行面向过程的编程。()A.错误B.正确4.以下描述错误的是()。A.在C++中支持抽象类,但在C#中不支持抽象类B.C++中可在头文件中声明类的成员,而在CPP文件中定义类的成员;在C#中没有头文件并且在同一处声明和定义类的成员C.在C#中可使用new修饰符显式隐藏从基类继承的成员D.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override5.如有定义:classclass1{Publicvirtualvoidtest(){}}Classclass2:class1{Publicoverricevoidtest(){Console.Write(“class2”);}}Classclass3:class2{Publicoverridevoidtest(){Console.Write(“class3”);}}则下列语句的输出是什么?()Class2x=newclass3();x.test();A.class3class2B.class3C.class2class3D.class26.下面是几条动态初始化二维数组的语句,指出其中正确的:()A.Intarr5[][]=newint[4,5];B.int[][]arr6=newint[4,5];C.intarr7[,]=newint[4,5];D.int[,]arr8=newint[4,5];7.对象通过封装实现信息隐藏,封装的目的就是阻止非法访问。()A.正确B.错误8.以下关于类和对象的说法中,不正确的是:()A.类包含了数据和对数据的操作B.一个对象一定属于某个类C.类是同一类对象的抽象D.可由抽象类生成对象9.判断下列类MyClass的定义中哪些是合法的抽象类?()A.abstractclassMyClass{publicabstractintgetCount();}B.abstractclassMyClass{abstractintgetCount();}C.privateabstractclassMyClass{abstractintgetCount();}D.sealedabstractclassMyClass{abstractintgetCount();}10.以下是一些C#中的枚举型的定义,其中错误的用法有()A.publicenumvar1{Mike=100,Nike=102,Jike}B.publicenumvar1{Mike=100,Nike,Jike}C.publicenumvar1{Mike=-1,Nike,Jike}D.publicenumvar1{Mike,Nike,Jike}11.C#中每个int类型的变量占用()个字节的内存。A.1B.2C.4D.812.分析下列语句:namespaceTestCS{publicdelegatevoidHello(stringtarget);}该语句的作用是()。A.在TestCS命名空间中定义了一个名为Hello的全局方法B.在TestCS命名空间中声明了函数Hello的原型C.在TestCS命名空间中定义了一个名为Hello的函数指针D.在TestCS命名空间中定义了了一个名为Hello的委托类型13.接口Animal定义如下publicinterfaceAnimal{voidMove();}则下列抽象类的定义中,哪些是不合法的?()A.abstractclassCat:Animal{abstractpublicvoidMove();}B.abstractclassCat:Animal{virtualpublicvoidMove(){Console.Write(Console.Write(“Move!”);)}}C.abstractclassCat:Animal{publicvoidMove(){Console.Write(Console.Write(“Move!”);)};}D.abstractclassCat:Animal{publicvoidEat(){Console.Write(Console.Write(“Eat!”);)};}14.分析下列C#语句,注意类MyClass没有访问修饰符:namespaceClassLibrary1{classMyClass{publicclasssubclass{inti;}}}若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择_________A.privateB.protectedC.internalD.public15.不同的建模语言大多雷同,但仍存在细微差别,不过这并不妨碍用户之间的交流。()A.错误B.正确第III卷一.综合考核(共15题)1.有如下程序:Usingsystem;ClassExample1{PublicStaticvoidmain(){Intx=1,a=0,b=0;Switch(x){Case0:b++,break;Case1:a++,break;Case2:a++,b++,break;}Console.Writeline(“a={0},b={1}”,a,b);}}的输出结果是()A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=22.面向对象程序设计的代码重用包括内部重用(即本项目内的代码重用)和外部重用(即新项目重用旧项目的代码)。()A.错误B.正确3.分析下列程序:publicclassclass4{privatestring_sData="";publicstringsData{set{_sData=value;}}}在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?()A.obj.sData="Itisfunny!";B.Console.WriteLine(obj.sData);C.obj._sData=100;D.obj.set(obj.sData);4.软件系统是用例模型的一个组成部分。()A.错误B.正确5.一个用户可能对应多个参与者,不同的用户也可以只对应于一个参与者。()A.错误B.正确6.事件是一种特殊的委托。()A.正确B.错误7.C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){..}使用以下语句创建了该类的对象,并使变量obj引用该对象MyClassbj=newMyClass();那么,可如何访问类MyClass的Hello方法:()A.obj.Hello();B.obj::Hello();C.Myclass.Hello();D.Myclass::Hello();8.软件开发是一个充满回溯的过程,而瀑布模型却将其分割为独立的几个阶段,不能从本质上反映软件开发过程本身的规律。()A.错误B.正确9.提倡设计模式的根本原因是增强代码复用,增加可维护性。()A.正确B.错误10.下列说法哪个正确?()A.允许一个子类有多个父类B.某个类是一个类的子类,它仍有可能成为另一个类的父类C.一个父类只能有一个子类D.继承关系最多不能超过4层11.声明为abstract类的方法必须同时进行声明和实例化。()A.错误B.正确12.以下关于for循环的说法不正确的是____。A.for循环只能用于循环次数已经确定的情况B.for循环是先判定表达式,后执行循环体语句C.for循环中,可以用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来13.对象模型定义了对象的静态结构,但问题的求解活动是动态的,它要求对象之间发生复杂的动态时序联系。()A.正确B.错误14.已知a、b、c的值分别是4、5、6,执行下面的程序段后,判断变量n的值为:()inta,b,c,n;if(cA.3B.-3C.9D.1515.声明委托实际上是声明了一个方法。()A.正确B.错误第I卷参考答案一.综合考核1.参考答案:B2.参考答案:A3.参考答案:B4.参考答案:C5.参考答案:C6.参考答案:D7.参考答案:C8.参考答案:A9.参考答案:B10.参考答案:A11.参考答案:A12.参考答案:A13.参考答案:D14.参考答案:B15.参考答案:A第II卷参考答案一.综合考核1.参考答案

温馨提示

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

评论

0/150

提交评论