《C#程序设计》试题(附答案)_第1页
《C#程序设计》试题(附答案)_第2页
《C#程序设计》试题(附答案)_第3页
《C#程序设计》试题(附答案)_第4页
《C#程序设计》试题(附答案)_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

《C#程序设计》试题第一章C#概述一、单项选择题1、在VisualStudio.NET窗口中,()窗口显示了当前VisualStudio解决方案的树型结构。A.类视图 B.解决方案资源管理器C.资源视图 D.属性答案:B2、在VisualStudio2005中,假设你正在单步调试某个应用程序。程序从入口开始,调用某个私有方法将产生异常。现在代码运行到如图所示位置,应该使用下面()方式进一步调试?A.使用逐语句调试 B.使用逐过程调试C.跳出调试 D.停止调试答案:A3、C#是一种面向()的语言。A.机器B.过程 C.对象 D.事物答案:C4、C#中导入某一命名空间的关键字是()。A.usingB.useC.importD.include答案:A二、判断题1、C#源程序的后缀名为.cs。答案:正确2、.Net包含两个部分,即公共语言运行时和框架类库。答案:正确3、CLR的全称是公共语言运行时。答案:正确4、C#是一种安全的、稳定的、简单的、优雅的,面向对象的编程语言。答案:正确5、C#不是由C和C++衍生出来的面向对象的编程语言。答案:错误6、C、C++、C#这三个语言都是面向对象的程序设计语言。答案:错误第二章 C#程序设计基础一、单项选择题1、下列属于C#语言的关键字是()oA.abstractB.camel C.SaIray D.Employ答案:A2、可用作C#程序用户标识符的一组标识符是()oA.voiddefine+WORDB.a3_b3_123YNC.for-abcCase D.2aDOsizeof答案:B3、以下标识符中不全是关键字的是()oA.caseforint B.defaultthenwhileC.boolclasslong D.gotounitchar答案:D4、设“inta=12;”,则执行完语句"a+=a*a"后,a的值是()。A.12 B.144C.156D.288答案:C5、C#中执行下列语句整型变量x和y的值是多少?()ointx=100;inty=++x;A.x=100y=100 B.x=101y=100C.x=100y=101 D.x=101y=101答案:D6、C#中每个bool类型占用()个字节的内容。A.4 B.2 C.8 D.1答案:D7、在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?()»A.decimaltheMoney;B.inttheMoney;C.stringtheMoney;D.dimtheMoneyasdouble;答案:A8、C#中的类型float对应.NET类库中的()。A.System.Single B.System.Double C.System.lnt32 D.System.Int64答案:A9、C#的数据类型有()oA.值类型和调用类型 B.值类型和引用类型C.引用类型和关系类型 D.关系类型和调用类型答案:B10、下列选项中,()是引用类型。A.enum B.struct C.stringD.int答案:C11、()字符被用来放在其他字符串末尾使这些字符串连成一串?A,加号(+)B.减号(一)C.问号(?)D.星号(*)答案:A12、在C#中,表示一个字符串的变量应使用以下哪条语句定义?()oA.CStringstr;B.stringstr;C.DimstrasstringD.char*str;答案:B13、在C#中无需编写任何代码就能将int型数值转换为double,称为()。A.显式转换 B.隐式转换 C.数据类型变换 D.变换答案:B14、关于C#语言的基本语法,下列哪些说法是正确的?A.C#语言使用using关键字来引用.NET预定义的名字空间;B.用C#编写的程序中,Main函数是唯一允许的全局函数;C#语言中使用的名称不区分大小写;C#中一条语句必须写在一行内;答案:A15、下列变量初始化时不能完成转换的是:A.inta=5;floatb=a; B.inta=65;charc=(int)a;C.strings="X";charc=s; D.LongL=123;inta=L;答案:C16、对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。如圆周率PI始终为3.14。现在要声明一个名为PI的圆周率常量,下面()代码是正确的?A.constfloatPI;PI=3.14f; B.constfloatPI=3.14f;C.floatconstPI;PI=3.14f; D.floatconstPI=3.14f;答案:B17、在C#中无需编写任何代码就能将int型数值转换为double,称为()A.显式转换 B.隐式转换 C.数据类型变换 D.变换答案:B18、将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。A.Str()B.CcharC.CStr()D.int.Parse();答案:D19、数据类型转换的类是()oA.ModB.ConvertC.ConstD.Single答案:B20、小数类型和浮点类型都可以表示小数,正确说法:()。A.两者没有任何区别B.小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D.小数类型比浮点类型精度低答案:C二、判断题1、C#中每个int类型的变量占用4个字节的内存。答案:正确2、在同一行上可以书写多条语句,每条语句间用分号分隔。答案:正确3、关键字class表示一个类的定义。答案:正确4、布尔型的变量可以赋值为0和1。答案:错误5、在数据类型转化时,只能通过类型转换关键字或Convert类实现。答案:错误6、在使用变量之前必须先声明类型。答案:正确7、常量通过关键字const进行声明。答案:正确8、z=x>y?x:y的含义是获取x和y中的较大值并且赋给z。答案:正确9、在带有操作符的语句中,如果其中一个或两个条件都为真,则语句为真。答案:正确10、C#中的数据类型分为简单类型和引用类型。答案:正确11>camel命名法是首字符大写,后续的每个词首字符大写,而其他字符则小写。答案:错误12、不同的命名空间中不能有同名的方法。答案:错误13、C#中标识符内的大小写字母是没有区别的。答案:错误14、"+, *,/,%"均属于三元运算符。答案:错误15、在C#中可以使用String作为变量名,但不能使用string作为变量名。答案:正确16、“*=”运算符是计算右操作数的平方值,然后将结果存储在左操作数中。答案:正确17、C#中,在进行隐式转换时,可以将一个整数类型隐式转换为char类型的变量。答案;错误第三章 C#控制语句一、单项选择题1、下面的循环语句不管在什么条件下至少执行一次循环体的语句是()oA.for循环B.foreach循环C.while循环D.do循环答案:D2、如果希望实现从1到10的累加,并得出结果。intcount=0;count+=i;}应该在空白处添加下面()代码?A.for(inti=0;i<10;i++) B.for(inti=0;i<=9;i++)C.for(inti=1;i<=10;i++) D.for(inti=1;i<10;i++)答案:c3、通常计算机程序总是由若干条语句组成的,以下()不是组成程序的常用结构?

A.跳转结构 B.循环结构 C.分支结构 D.顺序结构答案:A4、在编写C#程序时,若需要对一个数组中的所有元素进行处理,则使用()循环体最好。A.for循环B.foreach循环C.while循环D.do循环答案:B5、一年中的12个月,每个月的中文对应一个数字,如''一月”对应1,“二月”对应2,现在输入一个整数,希望能输出数字对应的中文,例如输入1,输出“一月二使用下面的()代码结构最适合?A.单一的if结构 B.嵌套的if结构C.switch结构 D.嵌套的if…else结构变量答案:C6、先判断条件的当循环语句是()(,A.do...while B.whileC.while...do D.do...loop答案:B7、关于如下程序结构的描述中,哪一项是正确的?( )for(;;)(循环体;}A.不执行循环体 B.一直执行循环体,即死循环C.执行循环体一次 D.程序不符合语法要求答案:B8、下列结构图对应于哪种结构(A是程序段,P是条件)?()oD.switchD.switch…case…选择结构A.while循环结构C.if…else…选择结构B.do…while循环结构答案:c9、当month等于6时,下面代码的输出结果是()。intdays=0;switch(month){case2:days=28;break;case4:case6:case9:case11:days=30;break;default:days=31;break;)A.OB.28 C.30 D.31答案:C10、如果x=35,y=80,下面代码的输出结果是()。if(x<-1011x>30){if(y>=100)(Console.WriteLine("危险");elseConsole.WriteLine(''报警");)else(Console.WriteLine("安全");}A.危险B.报警 C.报警安全 D.危险安全答案:B11、下面代码运行后,s的值是()。ints=0;for(inti=1;i<100;i++){if(s>10){break;}if(i%2==0)(s+=i;))A.20 B.12 C.10 D.6答案:B12、在下面循环语句中循环体执行的次数为()ofor(inti=0;i<n;i++)if(i>n/2)break;A.n/2B.n/2+1C.n/2-1D.n-1答案:B13、以下关于C#代码的说法正确的是()0forfinti=l;i<=3;i++){switch(i)(case1:Console.Write{i.ToString());case2:Console.Write((i*2).ToStringO);case3:Console.Write((i*3).ToStringO);})A.有编译错误,提示case标签不能贯穿到另一个标签,不能运行B.输出149C.输山123246369D.正确运行,但没有输出答案:A14、关于C#中的switchcase语句,以下说法正确的是()。A.switch判断的表达式可以是整型或者字符型,但不能是字符串型B.在该语句中最多不能超过5个case子句C.在该语句中只能有一个default子句D.在该句中只能有一个break语句答案:C15、以下的C#程序代码,程序运行时在控制台打印输出值为()ointcount=3;while(count>l)Console.Write(--count);A.32 B.321 C.21 D.2答案:C二、判断题1、if语句后面的表达式可以是任意表达式。答案:错误2、switch语句中必须有default标签。答案:错误3、else语句总是与离他最近的一个if语句相匹配。答案:正确4、C#关于switch小括号中表达式可以是字符串类型。答案:错误5、当程序中只需要进行两个选择,一般采用if…else…语句。答案:正确6、当程序中有两个以上的选择要选时,可以采用switch…case…语句。答案:正确7、在程序中switch…case…语句可以代替if…else…语句。答案:错误8、下列语句是否正确:for(inti=0,i<10,i++)Console.WriteLine(i);答案:错误9、switch语句的控制表达式可以是任何数据类型。答案:错误10、switch语句中case标签结束可以有跳转语句,也可以没有。答案:错误11、switch中可以有两个或两个以上的case标签的常量与控制表达式的值相同答案:错误12、for循环是先判定表达式,后执行循环体语句答案:正确13、for循环中,可以用break语句跳出循环体。答案:正确14、for循环体语句中,可以包含多条语句,但要用花括号括起来。答案:错误第四章数组和集合一、单项选择题1、假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。A.int[]arr=newint[10,20]B.int[]arr=intnew[10,20]C.int[,]arr=newint[10,20]D.int[,]arr=newint[10;,20]答案:C2、在Array类中,可以对一维数组中的元素进行排序的方法是()。A.Sort()B.CIear()C.Copy()D.Reverse()答案:A3>int[][]myArray=newint[3][]{newint[3]{5,6,2),newint[5]{6,9,7,8,3)/newint⑵{3,2});myArray⑵⑵的值是()。A.9 B.2 C.6D.越界答案:D4、数组pins的定义如下:卜t口pins=newint⑷{9,2,3,l};则pins⑴=()«A.lB.2 C.3 D.9答案:B5、有一个整型数组int[]array=newint{l,2,3,4}。通过索引访问该数组,当索引为2时,得到的结果是多少?()A.l B.2 C.3 D.4答案:C6、在Array类中,可以对一维数组中的元素进行排序的方法是( )。A.Sort()B.CIear()C.Copy()D.Reverse()答案:A7、字符串连接运算符包括&和()。A.+B.C.* D./答案A8、C#数组主要有三种形式,它们是()。A.一维数组、二维数组、三维数组B.整型数组、浮点型数组、字符型数组C.一维数组、多维数组、不规则数组D.一维数组、二维数组、多维数组答案:C9、在数组中对于for和foreach语句,下列那些选项中的说法不正确?( )。A.foreach语句能使你不用索引就可以遍历整个数组B.foreach语句总是从索引1遍历到索引LengthC.foreach总是遍历整个数组D.如果需要修改数组元素就必须使用for语句答案:B10、下列关于数组的描述中,()是不正确的。A.String类中的许多方法都能用在数组中B.System.Array类是所有数组的基类C.String类本身可以被看做是一个System.Char对象的数组D.数组可以用来处理数据类型不同的批量数据答案:D11、下列()能正确的创建数组?A.int[,]array=int[4,5];B.intsize=int.Parse(Console.ReadLine());int[]pins=newint[size];string[]str=newstring[];intpins[]=newint[2];答案:B二、判断题1、一个数组如果有两个索引值,那么它是二维数组。答案:正确2、在定义数组时不允许为数组中的元素赋值。答案:错误3、在C#中,Array类中的Length属性成员,可以获得数组的长度。答案:正确4、foreach语句既可以用来遍历数组中的元素,又可以改变数据元素的值。答案:错误5、有定义:int口a=newint[5]{2,3,5,7,8};则a⑸的值为8。答案:错误6、一旦进入一个foreach代码块,就不能试图修改foreach引用变量的值。答案:正确7、如果需要修改数组元素就必须使用for语句。答案:正确8、参数数组所对应的实参的个数是不固定的。答案:正确9、参数数组必须是函数的最后一个参数。答案:正确10、在C#中,int□□是定义一个int型的二维数组。答案:正确11、数组在访问之前必须初始化。答案:正确12、数组元素的访问是从1开始,到Length结束。答案:错误第五章面向对象程序设计一、单项选择题1、类的以下特性中,可以用于方便地重用已有的代码和数据的是()oA.多态 B.封装 C.继承 D.抽象答案:C2、C#中,MyClass为一自定义类,其中有以下方法定义:PublicvoidHello(){)使用以下语句创建了该类的对象,并使变量。bj引用该对象:MyClassobj=newMyClass();那么,可如何访问类MyClass的Hello方法?()。obj.Hello();B.obj::Hello();C.MyClass.Hello();D.MyClass:Hello();答案:A3、分析下列语句C#语句,注意类MyClass没有访问修饰符:NamespaceClassLibrary{classMyClass{publicclasssubclass{inti;}))若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择()。A.private访问只限于包含该成员的类,私有的protected访问限于包含该成员的类及类的派生类,保护的internal访问只限于所在的程序集,只有在同一个程序集中才能访问public访问不受限制,公共的还有一种是protectedinternal答窠:C4、分析下列程序:PublicclassUser{privatestring_sData=〃”;publicstringsData{_sData=value;))在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?()oA.obj.sData=z/ltisfunny!”;B.Console.WriteLine(obj.sData);C.obj.sData=100; D.obj.set(obj.sData);答案:A5、分析下列程序中类MyClass的定义:classBaseClass{publicinti;)classMyClass:BaseClass{publicnewinti;)则下列语句在Console上的输出为()。,MyClassy=newMyClass();BaseClassx=y;x.i=100;Console.WriteLine(〃{0},{l}〃,x.i,y.i);A.0z0 B.100,100 C.0z100 D.100,0答案:D6、在定义类时,如果希望类的某个方法能够在派生类中进一步改进,以处理不同的派生类的需要,则应将该方法声明成()oA.sealed方法封闭类 B.public方法公共类C.visual方法虚方法 D.override方法重载基类答案:c7、C#程序中,可使用try……catch机制来处理程序出的()错误。A.语法B.运行C.逻辑D.拼写答案:B8、下列哪一个不是面向对象编程的特征()。A.继承B.多态 C.封装 D.统一接口答案:D9、面向对象程序设计中的数据隐藏指的是()oA.输入数据必须输入保密口令 B.数据经过加密处理C.对象内部数据机构上建有防火墙 D.对象内部数据结构的不可访问性答案:D10下列语句是类myclass的一部分,obj是myclass类的一个对象()。voidchange(inti){i++;}publicvoidtest(){inta=100;change(a);Console.Writeline(a);}则调用。bj.test后,控制台输出()oA.0; B.100; C.101;D.不输出;答案:B11、关于成员函数特征的下列描述中,()是错误的。A.成员函数一定是实例函数 B.成员函数可以重载C.成员函数可以有不同的访问修饰符D.成员函数可以是静态的答案:A12、在下面的类定义中,缺省构造函数的作用是()opublicclassMyClass{privateMyClass(){}publicstaticintcounter;publicstaticintincrementCounter(){return++counter;return++counter;))A.在创建类的实例时初始化类的域 B.因为是private的,因此不起任何作用C.防止创建类的实例 D.无意义答案:C13、下列程序的输出是()opublicclassBase{privatereadonlystringmsg="Base!";privatebase(){console.write(msg);)protectedBase(stringstr):this(){this.msg=str;)publicclassmyclass:Base{publicmyclass():base(//ABC,/){console.write("myclass");)))staticvoidmain(){MyClassx=newmyclass();)A.Base! B.myclassC.BaseiMyclass!D.Myclass!Base!答案:c14、()不是构造函数的特征。A.构造函数的函数名与类名相同 B.构造函数可以重载C.构造函数可以设置缺省参数D.构造函数必须指定类型说明答案:D15、C#中MyClass为一自定义类,其中有以下方法定义:publicvoidHello(){ }使用以下语句创建了该类的对象,并使变量。可引用该对象:MyClassobj=newMyClass();那么,如何访问类MyClass的Hello方法()。A.obj.Hello();B.obj::Hello();C.MyClass.Hello();D.MyClass::Hello();答案:A16、类MyClass定义如下:namespaceClassLibrary{publicclassMyClass{internalclasssubclass{inti;))}则类MyClass.subclass的可访问域为:()。A.在所有引用ClassLibrary的程序集中可用B.定义MyClass时所在的程序集C.在所有引用ClassLibrary的程序集中可用,但限于MyClass的派生类中D.访问不受限制答案:B17、namespaceclassLibrary{publicclassMyClass{internalclasssubclass{inti;}}若必须为类subclass添加访问修饰符,并使subclass的可访问修饰符保持不变,则应选择()oA.protectedB.internalC.privateD.public答案:C18、在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性()oA.将Name的set块删除B.将Name的set块置空C.将Name的set块前加修饰符privateD,将Name添加readonly修饰符答案:A19、在类作用域中能够通过直接使用该类的()成员名进行访问。A.私有B.公用C.保护 D.任何答案:D20、在类的成员中,用于存储属性值的是( )。A.属性B.方法C.事件 D.成员变量答案:成员变量21、在C#中,可以标识不同的对象的属性是()。A.TextB.NameC.TitleD.Index答案:B22、一般情况下,异常类存放在什么命名空间中?(B)。A.生成异常类所在的命名空间 B.System.Exception命名空间C.System.Diagnostics命名空间D.System命名空间答案:B23、在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字表示该类只能被这个类的成员或派生类成员访问?()。A.public B.private C.internal D.protected答案:D24、在下列C#代码中,()是类Teacher的属性。PublicclassTeacher{intage=13;privatestringName{get{returnname;}set{name=value;})publicvoidSaySomething(){//...})A.:NameB.name C.ageD.SaySomething答案:A25、在C#中创造一个对象是,系统最先执行的是()中的语句。A.main方法 B.构造函数 C.初始化函数 D.字符串函数答案:B26、C#代码如下,代码的输出结果是()oclassProgram{staticvoidMain(string[]args){Students=newStudent();s.sayHi();Console.ReadLine();)}classPerson{publicvirtualvoidsayHi(){Console.WriteLine(“你好”);))ClassStudent:Person{PublicoverridevoidsayHi(){Console.WriteLine(“你好,我是一名学生”);))A.学生B.你好,我是一名学生C.你好!你好,我是一名学生D.空答案:B27、下列关于多态的说法中,()是正确的。A.重写虚方法时可以为虚方法指定别称B.抽象类中不可以包含虚方法C.虚方法是实现多态的唯一手段D.多态性是指以相似的手段来处理各不相同的派生类。答案:D28、在C#中,下列关于属性的使用正确的是()oA.privateintnum;publicstringNum(get{retuennum;}set{num=value;})B.privateintnum;publicintNum(get{retuennum;}set{num=value;}}privateintnum;publicintNumget{num=value;}set{retuennum;})privateintnum;privateintNum(get{retuennum;}set{num=value;})答案:B二、判断题1、try块运行后,总是会执行finally块中的代码。答案:正确2、在C#类中,this代表了当前类本身。答案:错误3、在C#中,所有类都是直接或间接地继承System.Object类而得来的。答案:正确4、静态类和实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进行实例化,生成对象才可使用。答案:正确5、不可以作用于结构类型中数据成员的访问限制修饰符有privateo答案:错误6、可选参数可以是引用型(ref)或输出型(out)参数。答案:错误7、虚方法可以关键字virtual与override一起使用实现多态。答案:错误8、由static修饰的成员必须由类来访问而不能通过对象访问。答案:正确9、对象是人们要进行研究的任何事物在面向对象程序设计中的抽象。答案:错误10、当方法的修饰符设为proteced时,表示该方法可以被处于同一个工程的文件访问。答案:错误11、定义类成员时,访问修饰符在默认情况下为public。答案:错误12、属性必须同时定义get块和set块。答案:错误13、类是对象的抽象,对象是类的实例。答案:正确14、类的static成员可以通过该类的实例来引用。答案:错误15、抽象类中所有的方法必须被声明为abstract。答案:错误第六章 继承和接口设计一、单项选择题1、下列描述中,()中是不正确的。A.面向对象程序设计可重用性较好 B.对象之间通过消息进行消息传递C.多态性体现了行为共享 D.面向对象方法的核心是继承2、下列类的定义中哪些是合法的抽象类()oA.sealedabstractclasscl{abstractpublicvoidtest(){}}abstractsealedpublicvoidtest();abstractclasscl{abstractvoidtest();}abstractclasscl{abstractpublicvoidtest();)答案:D3、接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。A.方法、属性、索引器和事件 B.方法、属性信息、属性C.索引器和字段 D.事件和字段答案:A4、在C#中定义接口时,使用的关键字是( )0A.interfaceB.: C.class D.overrides答案:A5、类的以下特性中,可以用于方便地重用已有的代码和数据的是()oA.多态 B.封装 C.继承D.抽象答案:C6、以下说法正确的是()oA.接口可以实例化 B.类只能实现一个接口C.接口的成员都必须是未实现的D.接口的成员前面可以加访问修饰符答案:C7、下列关于抽象类的说法错误的是( )。A.抽象类可以实例化 B.抽象类可以包含抽象方法C.抽象类可以包含抽象属性 D.抽象类可以引用派生类的实例答案:A8、下列关于重载的说法,错误的是()oA.方法可以通过指定不同的参数个数重载B.方法可以通过指定不同的参数类型重载C.方法可以通过指定不同的参数传递方式重载D.方法可以通过指定不同的返回值类型重载答案:D9、关于虚方法实现多态,下列说法错误的是()oA.定义虚方法使用关键字virtualB.关键字virtual可以与override一起使用C.虚方法是实现多态的一种应用形式D.派生类是实现多态的一种应用形式答案:B10、以下关于继承的说法错误的是()oA..NET框架类库中,object类是所有类的基类B.派生类不能直接访问基类的私有成员C.protected修饰符既有公有成员的特点,又有私有成员的特点D.基类对象不能引用派生类对象答案:D11、继承具有( ),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。A.规律性B.传递性C.重复性D.多样性答案:B12、下列说法中,正确的是( )。A.派生类对象可以强制转换为基类对象B.在任何情况下,基类对象都不能转换为派生类对象C.接口不可以实例化,也不可以引用实现该接口的类的对象D.基类对象可以访问派生类的成员答案:A13、在C#中创造一个对象是,系统最先执行的是()中的语句。main方法B.构造函数C.初始化函数 D.字符串函数答案:B14、下列关于C#面向对象应用的描述中,()是正确的。A.派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员B.abstract方法的声明必须同时实现C.声明为sealed的类不能被继承D.接口像类一样,可以定义并实现方法答案:C

15、下列关于继承说法中,()是正确的。A.派生类可以继承多个基类的方法和属性。B.派生类必须通过base关键字调用基类的构造函数C.继承最主要的优点是提高代码性能D.继承是指派生类可以获取其基类特征的能力答案:D16、在C#语言中,以下关于继承的说法错误的是()oA.一个子类不能同时继承多个父类B.任何类都是可以被继承的C.子类继承父类,也可以说父类派生了一个子类0.Object类是所有类的基类答案:B17、在C#中,如果类C继承自类B,类B继承自类A,则以下描述正确的是()A.C不仅继承了B中的成员,同样也继承了A中的成员B.C只继承了B中的成员C.C只继承了A中的成员D.C不能继承了A或B中的成员答案:A18、以下关于接口的说法,不正确的是()。A.接口不能实例化B.接口中声明的所有成员隐式地为public和abstractC.接口默认的访问修饰符是privateD.继承接口的任何非抽象类型都必须实现接口的所有成员。答案:C19、类的以下特性中,可以用于方便地重用已有的代码和数据的是()oA.多态 B.封装C.继承D.抽象答案:C20、下列关于抽象类的说法错误的是()oA.抽象类可以实例化A.抽象类可以实例化B.抽象类可以包含抽象方法C.抽象类可以包含抽象属性 D.抽象类可以引用派生类的实例答案:A21、关于base关键字,下列使用方法错误的是()oA.在子类中,base可以调用父类的构造函数B.在子类中,base关键字可以访问父类的公共属性C.在子类中,base关键字不可以调用父类的protected成员D.在子类中,base关键字不可以调用父类的private成员答案:C二、判断题1、在c#中,允许多接口实现,但不允许多重继承。答案:正确2、不能指定接口中方法的修饰符。答:正确3、接口与类同样是面向对象程序设计的核心,是创建对象的模版。答案:正确4、如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。答案:错误5、在C#中,任何方法都不能实现多继承。答案:错误6、在C#中,子类不能继承父类中用private修饰的成员变量和成员方法。答案:正确7、可以重写私有的虚方法。答案:错误8、try、catch、finally三个字句必须同时出现,才能正确处理异常。答案:错误9、try字句中所抛出的异常一定能被catch字句捕获。答案:错误10、被sealed关键字修饰的方法不能被继承。答案:正确11、可以阻止某一个类被其他类继承。答窠:正确12、C#中的方法重写使用关键字override。答案:正确13、在C#中,接口与抽象基类的区别在于抽象基类可以包含非抽象方法,而接口只能包含抽象方法。答案:正确14、在C#中,允许多接口继承,从多个接口时,使用":"后跟继承的接口的名字,多个接口名称之间使用","符号进行分隔。答案:正确15、基类的派生类中必须为基类中的抽象方法提供实现。答案:正确16、在C#中,一个类可以继承于多个类、多个接口。答案:错误17、抽象类中所有的方法必须被声明为abstract。答案:错误18、若方法的名字相同、参数相同,而方法的返回值类型不同,则可以实现方法的重载。答案:错误19、继承能够实现代码的复用。答案:正确20、接口的成员默认为公有的,不允许加上修饰符。答案:正确21、若想在派生类中重写某一方法,则应将该方法用sealed修饰。答案:错误22、派生类可以同时继承一个基类和多个接口,代码可以如下编写:publicclassEditBox:Control;IControl;IDataBound{...)答案:错误第七章泛型和反射一、单项选择题1、引用类型主要有4类:类类型、数组类型、接口类型和()oA.对象类型 B.字符串类型 C.委托类型 D.整数类型答案:C2、在C#中,定义派生时,指定其基类应使用的语句是()oA.InheritsB.:C.CIassD.Overrides答案:B3、以下哪个是可以边长的数组?()oA.ArrayB.string[]C.string[N]D.ArrayList答案:D4、引用类型主要有4种:类类型、数组类型、接口类型和()oA.对象类型 B.字符串类型 C.委托类型 D.整数类型答案:C5、调用方法时,如果想给方法传递任意个数的参数时,应选用()关键字A.ref B.outC.params D.无特殊要求答案:C二、判断题1、泛型和继承是提高程序可重用性的两大关键技术。答案:正确2、泛型类中不可以使用多个类型参数,因为可能会造成冲突。答案:错误3、C#中使用struct关键字表示泛型的值类型约束。答窠:正确第八章枚举器和迭代器一、单项选择题1、以下是一些C#中的枚举型的定义,其中错误的用法有()oA.publicenumvarl{"Mike”=100,"Nike”=102,"jike};publicenumvarl{Mike=100,Nikejike};publicenumvarl{Mike=-l,Nike,jike};publicenumvarl{Mike,Nike,jike};答案:A2、已经定义了一个Season枚举,它有4个成员Spring,Summer,Autumn,Wintero现在需要定义一个名为currentseason的Season枚举,并将其赋值为Spring,应使用下面()代码?A.Seasoncurrentseason=SpringB.currentseason=SpringC.currentSeason=Season.Spring D.Seasoncurrentseason=Season.Spring答案:D3、C#语言中,值类型包括:基本值类型、结构类型和( )。A.小数类型 B.整数类型 C.类类型 D•枚举类型答案:D4、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为()。A.intB.sbyteC.uintD.ulong答案:A5、当需要使用一种数据类型表达同一类事物的不同状态,比如:男人、女人、小孩、老人或者春夏秋冬时,C#中最可靠和直观的解决方案是()A.使用struct结构B.使用enum枚举C.使用int类型,用不同的数值{0,1,2……}表示D.C#中无法通过一种数据类型实现同一事务的不同状态。答案:B

二、判断题1、定义枚举时至少为其中的一个枚举成员赋值。答案:错误2、隐式枚举转换允许将十进制的整数转换为枚举类型的变量。答案:错误3、ArrayList能够包含任何类型的元素,但不能混合放置不同类型的对象。答案:错误4、枚举型是值类型,它是一组称为枚举数列表的命名常量组成的独特类型。答案:正确5、枚举型的默认基础类型为int,第一个枚举数的值必须为0,后面每个枚举型的值依次递增lo答案:错误第九章Windows窗体应用程序设计一、单项选择题1、如果将窗体的FormBoderStyle设置为None,贝ij()。A.窗体没有边框并不能调整大小 B.窗体没有边框但能调整大小C.窗体有边框但不能调整大小 D.窗体是透明的答案:B2、如果要将窗体设置为透明的,则()A.要将FormBoderStyle属性设置为NoneB.要将Opacity属性设置为小于100%得值C.要将locked属性设置为TrueD.要将Enabled属性设置为True答案:B3、下面描述错误的是()。A.窗体也是控件C.A.窗体也是控件C.控件是从窗体继承来的B.窗体也是类D.窗体的父类是控件类答案:c4、在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(),必要时还要设置参数尺寸。A.大小 B.上限 C.初始值 D.类型答案:D5、已知在某WindowsForm应用程序中,主窗口类为Forml,程序入口为静态方法Froml.Main,如下所示:publicclassForml:System.Windows.Forms.Form(〃其他代码staticvoidMain()(〃在此添加合适代码))则在Main方法中打开主窗口的正确代码是():Application.Run(newForml());Application.Open(newForml());(newForml()).Open();(newForml()).Run();答案:A6、在ADO.NET中,表示程序到数据库的连接的对象为:A.DataSet对象 B.Command对象C.DataAdapter对象 D.Connection对象答案:D7、加载窗体时触发的事件是()oA.ClickB.LoadC.GotFoucs D.DoubleClick答案:B8、改变窗体的标题,需修改的窗体属性是( )oA.TextB.NameC.TitleD.IndexA.TextB.NameC.TitleD.Index答案:A9、当运行程序时,系统自动执行启动窗体的()事件。A.Click B.DoubleClick C.LoadD.Activated答案:C10、若要使命令按钮不可操作,要对()属性进行设置。A.VisibleB.EnabledC.BackColorD.Text答案:B11、在设计窗口,可以通过()属性向列表框控件如ListBox的列表添加项。A.ItemsB.Items.CountC.TextD.Selectedlndex答案:A12、窗体中有一个年龄文本框txtAge,下面()代码可以获得文本框中的年龄值。A.intage=txtAge; B.intage=txtAge.Text;C.intage=Convert.Tolnt32(txtAge); D.intage=int.Parse(txtAge.Text);答案:D13、改变窗体的标题,需修改的窗体属性是(

温馨提示

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

评论

0/150

提交评论