C高级复习下(含答案).docx
C#高级复习下(含答案)本文档内字体为阿里巴巴普惠体R,CTR1+A全选可调整字体属性及字体大小-CA1-FENGHA1NetworkInformationTechno1ogyCompany.2023YEARC#高级复习(下)D在C#中,关于抽象类的说法错误的是()。(选择一项)A.使用abstract关键字定义抽象类B.抽象类中可以包含抽象方法C.抽象方法可以有实现D.包含抽象方法就一定是抽象类2)在C#中,使用()访问修饰的方法被称为抽象方法。(选择一项)A. thisB. abstractC. newD. virtur13)分析如下C#代码,如果输出结果是“DogEation”,下划线需要填写的代码是()。(选择一项)abstractc1assAnima1pub1icvoidEat();)C1assDogiAnima1pub1icvoidEat()("DogEating");)staticvoidMain(stringargs)Anima1anima1=newDogO;0;)A. abstract,不填B. abstract,overrideC. virtua1,不填D. virtua1,override4)在C#的语言特性中,关于抽象类,以下描述正确的是()(选择一项)A.在抽象类包含全部已经实现的方法的时候,抽象类可以实例化B.子类可以同时实现多个抽象类C.抽象类中的所有方法必须都不能有实现D.抽象类中的抽象方法不能有实现5)分析以下使用抽象类的C#代码,取最终的运行结果是()(选择一项)pub1icabstractc1assC1ass1(pub1icvoidF()(“1”);)abstractpub1icvoidABS()pub1icc1assC1ass2:C1ass1pub1icoverridevoidABS()(“3”);)pub1icC1ass2()(“2”);)staticvoidMain()(C1ass1objB=newC1ass1();0;)A. 12B. 21C. 13D.代码存在错误E. 236)判断下列类MyCIaSS的定义中是合法的抽象类的是()。(选择一项)(2分)A. abstractc1assMyC1asspub1icabstractintgetCount();B. abstractc1assMyC1assabstractintgetCount();C. privateabstractc1assMyC1assabstractintgetCount();D. sea1edabstractc1assMyC1assabstractintgetCount();7)在使用C#开发的程序中,一个类可以继承()类,实现()接口(选择一项)A.1个,1个B.多个,多个C.1个,多个D.多个,1个8)在C#程序中,一个类()。(选择一项)(2分)A.可以继承多个类B.可以实现多个接口C.只能被一个子类继承D.只能实现一个接口9)在C#中,假设Person是一个类,而ITe11er是一个接口。一个Emp1oyee类继承PerSon且实现ITe1Ier接口的正确声明是()。(选择一项)(2分)A. c1assEmp1oyeeextendsPerson,ITe11ei'B. c1assEmp1oyee:Person;!Te11erC. c1assEmp1oyee:Person,ITe11ei'D. c1assEmp1oyee:Personextends!te11er10) 在C#程序中,下面关于抽象类和接口的描述错误的是()0(选择二项)A.接口不能被实例化,抽象类可以B.实现抽象类和接口的类必须实现抽象类和接口中定义的所有未实现的方法C.有抽象方法的类不一定是抽象类D.在子类中重写抽象类的抽象方法需要关键字。Verride11) 在C#中,下列关于抽象类和接口的说法,正确的是()(选择一项).在抽象类中,所有的方法都是抽象方法B.继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法C.在接口中,可以有方法实现,在抽象类中不能有方法实现D.一个类可以从多个接口继承,也可以从多个抽象类继承12) 在C#中,关于继承和接口,以下说法正确的是()。(选择一项)A. C#允许多接口实现,也允许多重继承B. C#允许多接口实现,但不允许多重继承C. C#不允许多接口实现,但允许多重继承D. C#不允许多接口实现,也不允许多重继承13) 在C#中,某程序员定义了一个IDataBaSe接口,以及实现该接口的一个类CDataBaSC,下列关于该段代码说法正确的是()(选择一项)pub1icinterface!DataBasevoidOpenTab1e(stringtabIeName);voidUpdateTab1e(stringtabIeName);)pub1icc1assCDataBase:!DataBasepub1icvoidOpenTab1e(stringtabIeName)conso1e.Write1ine(“打开数据表”);pub1icvoidUpdateTab1e(stringtabIeName)conso1e.Write1ine("更新数据表”);staticvoidMain()CDataBasedb=newCDataBase();(“Customers");).该段代码错误,因为在定义接口时,接口中的方法没有提供实现B.该段代码错误,因为接口中声明的方法不是公有的,因此在CDataBaSe类中不能访问接口中的方法C.该段代码正确,同时由于客户没有调用UPdateTab1e方法,可以把CDataBaSe类中UPdateTab1e方法去掉,代码仍旧正确D.该段代码正确,但如果在IDataBaSe接口中声明一个方法“VoidExecute(stringsq1)则必须在CDataBaSe类中实现该方法14) 在C#中,下面关于接口的定义正确的是()(选择一项)15) 在C#程序中,定义类StUdent、P1ayer以及接口IPIay、!Student,下面类定义中错误的是()(选择一项)A.pub1icc1assA:Student,P1ayerB. pub1icC1assAiIStudent,IP1ayerC. pub1icC1assAiStudent,IP1ayerD. pub1icC1assAiStudent,!Student,IP1ayer16) 多态是指两个或多个属于不同类的对象,对于同一个消息作出不同响应的方式。C#中的多态不能通过()实现(选择一项)A.接口B.抽象类C.虚方法D.密封类17) 下面关于抽象类的说法正确的是:O(选择一项)A.抽象类可以被实例化B.含有抽象方法的类一定是抽象类C.抽象类可以是静态类和密封类D.抽象类中的抽象方法可以在其它类中重写18) 以下哪个是可以变长的数组()(选择一项)A. intNB. stringC. stringND. Array1ist19)在C#语言中,某学员用C#写了如下一段代码,该代码的输出结果是()o(选择一项)staticvoidMain(stringargs)(Array1ist1ist=newArray1ist();("CHINA");("GOOD");(1ist1);0;)A. CHINAB. GOODC.下标溢出错误D.120)在C#中,下列代码的运行结果是()(选择一项)Array1istarrayTeacher=newArray1istO;for(inti=1;i<3;i+)arrayTeacher.Add(i);)(arrayTeacher0);A. 0B. 1C. 2D. 321)在C#中,下列代码的运行结果是()(选择一项)intnum=newint1,2,3,4,5;Array1istarr二newArray1ist();for(inti=0;i<i+)(numi);(arr2);(arr2);A. 1B. 2C. 3D. 422)在C#中,下列代码的运行结果是()(选择一项)Array1istarrNumber=newArray1istO;for(inti=0;i<5;i+)(i);*A. 2B. 4C. 5D. 823)在C#中,我们可以通过()类将数据作为一组键值对来存储,这些数据是根据键值对进行组织的。(选择一项)A. Array1istB. 1ist1istindexC. ArrayD. Hashtab1e24)C#提供了一种集合类型哈希表(HaSSTab1e),哈希表的数据是通过键(Key)和()。来组织的。(选择一项).项(item)B.记录(Record)C.表(Tab1e)D.值(Va1Ue)25) C#提供一种集合类型HaShTab1e(哈希表),哈希表的数据是通过键(Key)和值(VaIUe)来组成的。哈希表中元素的对应关系是()0(选择一项)A.每一个键对应一个值B.每一个键对应多个值C.每一个值对应多个键D.多个键对应多个值26)在C#中,关于1iSt<T>和DiCtiOnary<K,V>的说法正确的是()(选择二项)A. 1iSt<T>和DiCtiOnary<K,V>都有RemOVeAt方法B. 1iSt<T>和DiCtiOnary<K,V>都有COUnt属性C.获取元素时,1iSt<T>需要类型转换,DiCtionary<K,V>不需要D.1iSt<T>通过索引访问集合元素,Dictionary<K,V>通过key访问集合元素27)在C#中,关于1ist<T>的用法正确的是()(选择二项)A.B.C.D.1ist<string>1istEstring1ist<string>1ist<string>s1ist=news1ist-news1ist;s1ist=new1ist<string>();1istEstring();1ist<string>(4);28)在C#语言中,某学员用C#写了如下一段代码,该代码的错误的是()0(选择一项)staticvoidMain(stringargs)1ist<student>s1ist=new1ist<student>();Sq1Commandcmd=newSq1CommandO;DataBase=pubs;0;uid=sa;pwd=123456;database=schoo1,);Uid=Sa;PWd=PWd"/(3)/(4).B.C.D.1,2,3,41,3,2,41,3,4,24,3,2,174)在中,下列()组件用来获得只读只进数据(选择一项)75)在中,已知reader是一个DateReader对象,下列代码行1的输出结果是"True”,则代码行2的输出结果是(项)0);/1;/2A. TrueB.