C#开发基础(习题卷10)_第1页
C#开发基础(习题卷10)_第2页
C#开发基础(习题卷10)_第3页
C#开发基础(习题卷10)_第4页
C#开发基础(习题卷10)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

试卷科目:C#开发基础C#开发基础(习题卷10)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC#开发基础第1部分:单项选择题,共52题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.在以下C#代码的下划线处填入(),该C#语句表示打开一个文件,如果该文件存在则发生异常。FileSteamfs=newFileStream(?D:\\music.txt?,__________);A)FileMode.CreateB)FileMode.OpenC)FileMode.CloseD)FileMode.CreateNew答案:D解析:[单选题]2.在Windows应用程序中,在界面上绘制矩形、弧、椭圆等图像对象,可以使用System.Drawing命名空间的类来实现。A)BrushB)PenC)ColorD)Image答案:B解析:[单选题]3.以下关于抽象类的说明,错误的是()A)用abstract做类的修饰符B)用virtual做类的修饰符C)抽象类中的方法都要生命为抽象方法D)非抽象类可继承自抽象类答案:B解析:[单选题]4.用鼠标右击一个控件时出现的菜单一般称为:()A)主菜单B)菜单项C)快捷菜单D)子菜单答案:C解析:快捷菜单,基本概念[单选题]5.下列关于do-while语句的描述中,正确的是()。A)do-while语句和while语句功能相同B)do-while语句将循环条件放在了循环体的前面C)do-while循环语句中可以省略do语句D)do-while循环中无论循环条件是否成立,循环体都会被执行一次答案:D解析:[单选题]6.如下数组声明中正确的是A)Int[,]a=newint[4,2];B)Int[4,2]a=newint[,];C)Int[,]a=newint[,];D)Int[4,2]=newint[4,2];答案:A解析:[单选题]7.变量num1的值为45,变量num2的值为45,下列哪个运算符可以通过if…else语句比较num1和num2的值是否相等。()A)>=B)<=C)==D)=答案:C解析:[单选题]8.C#语言与JAvA语言一样,也是一种面向对象的语言,C#语言中声明类的关键字是()。A)usingB)ClAssC)nAmespACeD)MAin答案:B解析:[单选题]9.在C#语言中,下面的运算符中优先级最高的是()A)%B)!C)/=D)>=答案:B解析:[单选题]10.下列描述的对象中,能够作为抽象类的是()A)小狗B)动物C)小猪D)小猫答案:B解析:概念理解[单选题]11.在C#中,以下哪个不是合法的变量名?()A)gameLevelB)_high_scoreC)vatiable2D)public答案:D解析:[单选题]12.在以下C#类中,()是控制台类,利用它我们可以方便的进行控制台的输入输出。A)ControlB)ConsoleC)CancelD)Write答案:B解析:输出到控制台输出到控制台就是把数据输出到控制台并显示出来。.Net框架提供了console类实现这个任务,输出方式如下:Console.Write(输出内容);表示向控制台直接写入指定内容,不进行换行。针对不同的数据类型,该方法有N多重载实现。Console.WriteLine(输出内容);表示向控制台写入字符串后换行。该方法同样也有多个重载实现,用于输出不同类型的数据。Console.WriteLine("输出的格式字符串",变量列表);该方法包含两个参数:?格式字符串?和变量列表,当有多个变量需要输出时可以使用该方法。示例:Console.WriteLine("《B小调雨后》由{0}作词,由{1}演唱。","高晓松","叶蓓");其中{0}、{1}叫做占位符,代表后面依次排列的变量表,0对应变量列表的第一个变量,1对应变量列表的第2个变量,以此类推,完成输出。从控制台输入Console类提供的输入方法:Console.ReadLine();该方法从控制台读取一行数据,可以把它直接赋值给字符串变量,如:stringstrname=Console.ReadLine();有时需要从控制台输入数字,则需要进行数据转换,如:intnum=int.Pares(Console.ReadLine());intnum=Convert.ToInt32(Console.ReadLine());上面两句代码效果相同,可以根据自己的习惯选择任意一种。Console.Read()返回值为首字符的ASCII码Console.ReadLine()返回值为字符串也就是说read方法只能读取第一个字符,而ReadLine能读多个字符也可以换行读取。注意:Console.ReadLine()和Console.Read()的输入结果完全不同,不能混用。[单选题]13.C#中,下列代码的运行结果是()usingSystem;classTest{PublicstaticvoidMain(string[]args){inta=21,b=22,c=23;if(a<b)Console.WriteLine(b);elseConsole.WriteLine(a+b+C);}}A)21B)22C)23D)66答案:B解析:if(a<b)是真。所以直接输出b[单选题]14.以下关于for循环的说法不正确的是。A)for循环只能用于循环次数已经确定的情况(循环次数可以在for循环的3个表达式中进行限定,但也可能在执行语块中修改循环变量的值而让循环次数不能明确)B)for循环是先判定表达式,后执行循环体语句C)for循环中,可以用break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来答案:A解析:[单选题]15.在C#中,有一段代码块如下,请问执行该代码块后,数组pins的值为()string[]pins=newstring[4]{"a","b","c","d"};string[]myArr=pins;myArr[3]="e";A)"a","b","e","d"B)"a","b","c","e"C)"a","b","c","d"D)"e","e","e","d"答案:B解析:[单选题]16.在C#中,定义命名空间的关键字是()A)namespaceB)classC)stringD)int答案:A解析:[单选题]17.在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字表示该类只能被这个类的成员或派生类成员访问?( )。A)publicB)privateC)internalD)protected答案:D解析:1.在namespace中的类、接口默认是internal类型的,也可以显示的定义为public类型,不允许是其他访问类型。2.在一个类里面,属性和方法默认是private的,可以显示的定义为public、private、protected、internal或protectedinternal等访问类型。3.接口中不能定义成员变量,接口中的方法默认为public的访问权限,但是不能显示的定义任何访问类型。4.抽象类中必须有一个以上的抽象方法,抽象方法可以是public、internal、protected,不能是private的访问类型。类中所有的成员,默认均为private。C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符:public可以被任意存取;protected只可以被本类和其继承子类存取;internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是?.DLL?或?.EXE?。protectedinternal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。private只可以被本类所存取。如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。override只能用于嵌套的类,表示对继承父类同名类型的覆盖。[单选题]18.在HTML5中,表格中某一行跨2行,正确的写法的是()A)<trrowspan="2">...</tr>B)<trlinespan="2">...</tr>C)<trcolspan="2">...</tr>D)<tdrowspan="2">...</td>答案:A解析:[单选题]19.在C#中,默认情况下,省略的类成员访问修饰符是()。A)privateB)publicC)protectedD)internal答案:A解析:[单选题]20.下列运算符优先级最高的是()A)&B)^C)|D)&&答案:A解析:[单选题]21.以下C#注释代码,不正确的是()A)//C#注释代码B)//C#注释代码1//C#注释代码2C)///C#注释代码D)C#注释代码答案:D解析:[单选题]22.C#程序设计语言属于什么类型的编程语言()A)机器语言B)高级语言C)汇编语言D)自然语言答案:B解析:[单选题]23.下列对ArrayList的常用方法描述错误的是()A)Clear()清除所有元素B)Insert()将元素添加到指定位置C)Add()将元素添加到ArrayList开头处D)Reverse()将ArrayList中的元素顺序反转答案:C解析:[单选题]24.下列关于泛型集合描述错误的是()。A)泛型集合位于System.Collections.Generic命名空间B)泛型集合只能存储同一种类型的对象C)最常用的泛型集合是List<T>泛型集合和Dictionary<TKey,TValue>泛型集合D)泛型集合位于System.IO命名空间答案:D解析:[单选题]25.for(inti=1;i<=3;i++){switch(i){case1:Console.write(i.ToString());case2:Console.write((i*2).ToString());case3:Console.write((i*3).ToString());}}上述关于C#代码的描述正确的是()。A)程序将报告编译错误,提示Case标签不能贯穿到一个标签,不能运行B)运行时输出149C)运行时输出123246369D)运行时在屏幕上没有输出答案:A解析:报错。switch必须至少有一个break.[单选题]26.在HTML5页面中看不见的表单元素是那种()A)<inputtype="password"></input>B)<inputtype="text"></input>C)<inputtype="hidden"></input>D)<inputtype="reset"></input>答案:C解析:[单选题]27.下面()代码可以显示一个消息框。A)Dialog.Show();B)MessageBox.Show();C)Form.Show();D)Form.ShowDialog();答案:B解析:[单选题]28.在C#开发的Windows应用程序中,下列能够把Form窗体显示为模式窗体对话框的是()A)Formf=newForm();f.Show();f.Modal=true;B)Formf=newForm(Dialog);C)Formf=newForm();D)Formf=newForm();f.ShowDialog();答案:D解析:[单选题]29.在C#中,在执行时从键盘上输入9,分析下列代码片段的执行结果是()intn=int.Parse(Console.ReadLine());if(n++<10){Console.WriteLine("{0}",n);}else{Console.WriteLine("{0}",n--);}A)11B)10C)9D)8答案:B解析:[单选题]30.若要改变文本框中所显示文本的颜色,应设置文本框的()属性。A)ForeColorB)BackColorC)BackgroundImageD)FillColor答案:A解析:[单选题]31.在CSS3中,有时我们为了让背景图片适应标签内容的大小,修改()属性。A)background-colorB)background-imageC)background-repeatD)background-size答案:D解析:[单选题]32.在Sqlserver中,关于AND和OR运算符描述错误的是()A)AND和OR可在WHERE子语句中把两个或多个条件结合起来。B)如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。C)如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录。D)两者无区别,可以替换使用。答案:D解析:[单选题]33.在CSS3.0样式中,设置文本水平对齐的属性是以下哪个选项()A)text-alignB)letter-spacingC)fontD)text-decoration答案:A解析:[单选题]34.ADO.NET中数据库连接是利用哪个对象的是()。A)SQLCommandB)SQLDataAdapterC)QLDataReaderD)SQLConnection答案:D解析:[单选题]35.在程序中设置断点,是为了()A)定位程序入口点B)定位程序结束点C)发布程序D)调试程序答案:D解析:[单选题]36.在C#中,C#源程序文件的扩展名为()A)docB)txtC)pptD)cs答案:D解析:[单选题]37.列关于多态的说法中,哪个选项是正确的()A)重写虚方法时可以为虚方法指定别称B)抽象类中不可以包含虚方法C)虚方法是实现多态的唯一手段D)多态性是指以相似的手段来处理各不相同的派生类。答案:D解析:态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。静态多态性在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C#提供了两种技术来实现静态多态性。分别为:函数重载运算符重载运算符重载将在下一章节讨论,接下来我们将讨论函数重载。函数重载您可以在同一个范围内对相同的函数名有多个定义。函数的定义必须彼此不同,可以是参数列表中的参数类型不同,也可以是参数个数不同。不能重载只有返回类型不同的函数声明。下面的实例演示了几个相同的函数print(),用于打印不同的数据类型:usingSystem;namespacePolymorphismApplication{classPrintdata{voidprint(inti){Console.WriteLine("Printingint:{0}",i);}voidprint(doublef){Console.WriteLine("Printingfloat:{0}",f);}voidprint(strings){Console.WriteLine("Printingstring:{0}",s);}staticvoidMain(string[]args){Printdatap=newPrintdata();//调用print来打印整数p.print(5);//调用print来打印浮点数p.print(500.263);//调用print来打印字符串p.print("HelloC++");Console.ReadKey();}}}当上面的代码被编译和执行时,它会产生下列结果:Printingint:5Printingfloat:500.263Printingstring:HelloC++动态多态性C#允许您使用关键字abstract创建抽象类,用于提供接口的部分类的实现。当一个派生类继承自该抽象类时,实现即完成。抽象类包含抽象方法,抽象方法可被派生类实现。派生类具有更专业的功能。请注意,下面是有关抽象类的一些规则:您不能创建一个抽象类的实例。您不能在一个抽象类外部声明一个抽象方法。通过在类定义前面放置关键字sealed,可以将类声明为密封类。当一个类被声明为sealed时,它不能被继承。抽象类不能被声明为sealed。下面的程序演示了一个抽象类:usingSystem;namespacePolymorphismApplication{abstractclassShape{publicabstractintarea();}classRectangle:Shape{privateintlength;privateintwidth;publicRectangle(inta=0,intb=0){length=a;width=b;}publicoverrideintarea(){Console.WriteLine("Rectangle类的面积:");return(width*length);}}classRectangleTester{staticvoidMain(string[]args){Rectangler=newRectangle(10,7);doublea=r.area();Console.WriteLine("面积:{0}",a);Console.ReadKey();}}}当上面的代码被编译和执行时,它会产生下列结果:Rectangle类的面积:面积:70当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法。虚方法是使用关键字virtual声明的。虚方法可以在不同的继承类中有不同的实现。对虚方法的调用是在运行时发生的。动态多态性是通过抽象类和虚方法实现的。下面的程序演示了这点:usingSystem;namespacePolymorphismApplication{classShape{protectedintwidth,height;publicShape(inta=0,intb=0){width=a;height=b;}publicvirtualintarea(){Console.WriteLine("父类的面积:");return0;}}classRectangle:Shape{publicRectangle(inta=0,intb=0):base(a,b){}publicoverrideintarea(){Console.WriteLine("Rectangle类的面积:");return(width*height);}}classTriangle:Shape{publicTriangle(inta=0,intb=0):base(a,b){}publicoverrideintarea(){Console.WriteLine("Triangle类的面积:");return(width*height/2);}}classCaller{publicvoidCallArea(Shapesh){inta;a=sh.area();Console.WriteLine("面积:{0}",a);}}classTester{staticvoidMain(string[]args){Callerc=newCaller();Rectangler=newRectangle(10,7);Trianglet=newTriangle(10,5);c.CallArea(r);c.CallArea(t);Console.ReadKey();}}}当上面的代码被编译和执行时,它会产生下列结果:Rectangle类的面积:面积:70Triangle类的面积:面积:25[单选题]38.在CSS3中,linear-gradient的参数不包括()A)angleB)directionC)color-stopD)url答案:D解析:[单选题]39.在C#中,下列关于属性的描述正确的是()A)属性就是以public关键字修饰的字段B)属性是访问字段值的一种简单的形式,属性更好的实现了数据的封装和隐藏C)要定义只读属性只需在属性名前加上readonly关键字D)属性不可以使用virtual)override和public限定符答案:B解析:A:错误。还可以是其它关键字修饰。B:正确C:常量也是只读。D:属性可以用public[单选题]40.在C#中,下列常量定义正确的是()。(选择一项)A)ConstdoublePI3)1415926;B)Constdoublee=2)7C)definedoublePI3)1415926D)definedoublee=2)7答案:B解析:A,C没有=号。常量用const[单选题]41.执行语句MessageB.x.Show("是/否");弹出的消息框中,()。A)消息框的标题上显示?是/否?B)消息框中只有一个?确定?按钮C)消息框的图标上显示一个问号D)消息框中包含?是?、?否?两个按钮答案:B解析:[单选题]42.在C#中,用来表示字符串的数据类型是()。A)字符串的类型B)整数的类型C)数组的类型D)小数的类型答案:A解析:[单选题]43.C#语言主要是面向______开发环境进行编程的语言。A)DOSB)NETC)WindowsD)Linux答案:B解析:[单选题]44.在窗体设计界面中放置一个计时器,名称为timer1,要使该计时器每秒钟触发20次Tick事件,应将它的Interval属性值设置为()。A)2B)5C)20D)50答案:D解析:[单选题]45.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是().A)Exists()B)GetFiles()C)GetDirectories()D)CreateDirectory()答案:B解析:[单选题]46.已知接口IHello和类Base、Derived的声明如下:InterfaceIHello{voidHello();}ClassBase:IHello{publicvoidHello(){System.Console.WriteLine("HelloinBase!");}}ClassDerived:Base{publicvoidHello()//隐藏父类方法,系统会自动添加New关键字,注意不是重写{System.Console.WriteLine("HelloinDerived!");}}则下列语句在控制台中的输出结果为。IHellox=newDerived();//父类引用变量指向子类对象,如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法,否则仍然调用父类的方法X.Hello();//调用父类的方法A)HelloinBase!B)HelloinDerived!C)HelloinBase!HelloinDerived!D)HelloinDerived!HelloinBase!答案:A解析:[单选题]47.在DataSet中,若修改某一DataRow对象的任何一列的值,该行的DataRowState属性的值将变为()A)DataRowState.AddedB)DataRowState.UpdatedC)DataRowState.DetachedD)DataRowState.Modified答案:D解析:[单选题]48.下列选项中,定义数组正确的是()。A)intarr=newint(3);B)int[]arr=newint[];C)int[3]arr=newint[];D)int[]arr=newint[3];答案:D解析:[单选题]49.继承具有(),即当基类本身也是某一类的派生类时,派生类会自动继承间接类的成员。A)规律性B)传递性C)重复性D)多样性答案:B解析:继承会将方法与属性传递。[单选题]50.以下语句将事件与事件处理程序联系起来,正确的是______。A)MyTimet=newMyTime();t.Timer=newTimerEvent(Generate);B)MyTimet=newMyTime();t.Timer=newTimerEvent(Generate());C)MyTimet=newMyTime();t.Timer+=newTimerEvent(Generate());D)MyTimet=newMyTime();t.Timer+=newTimerEvent(Generate);答案:D解析:[单选题]51.以下()是判断用户是否点击对话框的确认按钮。A)DialogResult.OKB)DialogResult.AbortC)DialogResult.CancelD)DialogResult.None答案:A解析:概念理解[单选题]52.在C#中,以下运算优先级最高的是()A)+B)++C)==D)&&答案:B解析:第2部分:多项选择题,共6题,每题至少两个正确答案,多选或少选均不得分。[多选题]53.关于类与对象的关系,下列说法正确的有()A)类是抽象的B)对象是具体的C)对象是类的实例D)类是对象的抽象答案:ABCD解析:[多选题]54.在HTML5中,以下是表单验证规则中用于类型匹配验证的属性值是()【选三项】A)emailB)urlC)numberD)max答案:ABC解析:[多选题]55.在CSS3中,解决浮动塌陷的方法有哪些()【选三项】A)对父级元素设置合适的高度B)clear:both清除浮动C)父级样式中定义overflow:hidden;D)浮动元素样式中定义overflow:hidden答案:ABC解析:[多选题]56.在C#中,关于循环语句,下列说法错误的是?【选两项】A)for语句与while语句与do-while语句可以相互替换B)while(5){Console.Write("Hello!");}C)for(inti=5;i<13;i++){}这个语句将运行8次D)while语句中的条件必须是bool类型的结果答案:AB解析:[多选题]57.在C#中,ListView具有多种显示视图,包括()【选三项】A)ListB)DetailsC)SmallIconD)MaxLargeIcon答案:ABC解析:第3部分:填空题,共3题,请在空白处填写正确答案。[填空题]58.如果一个类包含一个或多个抽象方法,它是一个()类。答案:抽象解析:包含抽象方法的类一定是抽象类。抽象类也可以包含非抽象方法[填空题]59.传入某个属性的SET方法的隐含参数的名称是()答案:value解析:[填空题]60.使用关键字()声明抽象类。答案:abstract解析:abstract可以用来修饰类,方法,属性,索引器和时间,这里不包括字段.使用abstrac修饰的类,该类只能作为其他类的基类,不能实例化,而且abstract修饰的成员在派生类中必须全部实现,不允许部分实现,否则编译异常.如:usingSystem;namespaceConsoleApplication8{classProgram{staticvoidMain(string[]args){BClassb=newBClass();b.m1();}}abstractclassAClass{publicabstractvoidm1();publicabstractvoidm2();}classBClass:AClass{publicoverridevoidm1(){thrownewNotImplementedException();}//publicoverridevoidm2()//{//thrownewNotImplementedException();//}}}Abstractclasseshavethefollowingfeatures:抽象类拥有如下特征:1,抽象类不能被实例化,但可以有实例构造函数,类是否可以实例化取决于是否拥有实例化的权限(对于抽象类的权限是abstract,禁止实例化),即使不提供构造函数,编译器也会提供默认构造函数;2,抽象类可以包含抽象方法和访问器;3,抽象类不能使用sealed修饰,sealed意为不能被继承;4,所有继承自抽象类的非抽象类必须实现所有的抽象成员,包括方法,属性,索引器,事件;abstract修饰的方法有如下特征:1,抽象方法即是虚拟方法(隐含);2,抽象方法只能在抽象类中声明;3,因为抽象方法只是声明,不提供实现,所以方法只以分号结束,没有方法体,即没有花括号部分;如publicabstractvoidMyMethod();4,override修饰的覆盖方法提供实现,且只能作为非抽象类的成员;5,在抽象方法的声明上不能使用virtual或者是static修饰.即不能是静态的,又因为abstract已经是虚拟的,无需再用virtual强调.抽象属性尽管在行为上与抽象方法相似,但仍有有如下不同:1,不能在静态属性上应用abstract修饰符;2,抽象属性在非抽象的派生类中覆盖重写,使用override修饰符;第4部分:判断题,共14题,请判断题目是否正确。[判断题]61.运算符||的优先级高于运算符&&的优先级。A)正确B)错误答案:错解析:[判断题]62.for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用?,?分隔,{}中的执行语句为循环体。A)正确B)错误答案:错解析:[判断题]63.在C#中,装箱操作是将值类型转化成引用类型()A)正确B)错误答案:对解析:[判断题]64.一个类可以实现多个接口,被实现的多个接口之间要用冒号隔开。A)正确B)错误答案:错解析:[判断题]65.continue和break是一样的作用,都是跳出当前循环。A)正确B)错误答案:错解析:[判断题]66.当一个子类在创建对象时,调用自身构造方法的同时也会调用其父类的构造方法。A)正确B)错误答案:对解析:[判断题]67.ComboBox列表框中的选项可以选中多个。A)正确B)错误答案:错解析:[判断题]68.在创建类的对象后,可以通过对象的引用来访问对象所有的成员。A)正确B)错误答案:对解析:[判断题]69.异常类对象均为System.Exception类或其子类的对象答案:对解析:[判断题]70.一个类中,只能有一个构造函数()A)正确B)错误答案:错解析:[判断题]71.在C#中,命名空间是可以嵌套的。()A)正确B)错误答案:对解析:[判断题]72.枚举型是值类型,它是一组称为枚举数列表的命名常量组成的独特类型()A)正确B)错误答案:对解析:[判断题]73.当方法的修饰符设为proteced时,表示该方法可以被处于同一个工程的文件访问。()A)正确B)错误答案:错解析:[判断题]74.参数数组必须是函数的最后一个参数。()A)正确B)错误答案:对解析:第5部分:问答题,共25题,请在空白处填写正确答案。[问答题]75.重载方法的基本要求是什么?C#中的静态方法应该怎样调用?答案:(1)重载的方法名称必须相同;(2)重载方法的形参个数或类型必须不同,否则将出现?已经定义了一个具有相同类型参数的方法成员?的编译错误。静态方法属于类本身,只能使用类调用,不能使用对象调用。解析:[问答题]76.对于do-while循环结构,当while语句中的条件表达式的值为()时结束循环。答案:false解析:[问答题]77.计算:1/2-2/3+3/4-4/5⋯⋯前100项。答案:Console.WriteLine("1/2-2/3+3/4-4/5⋯⋯前100项");doublesum=0;intb=0;for(doublei=1;i<=100;i++){b=b+1;if(b%2!=0)sum=sum+i/(i+1);elsesum=sum-i/(i+1);}Console.WriteLine("其和为:{0}",sum);Console.ReadLine();解析:[问答题]78.写一个方法,对于给定一个日期,返回该日为星期几。例如2002-3-28返回星期四答案:{stringweekday=Ca(2007,10,1);Console.WriteLine(weekday);Console.ReadLine();}staticstringCa(inty,intm,intd){if(m==1||m==2){m+=12;y--;}intweek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;stringweekstring="";switch(week){case0:weekstring="星期日";break;case1:weekstring="星期一";break;case2:weekstring="星期二";break;case3:weekstring="星期三";break;case4:weekstring="星期四";break;case5:weekstring="星期五";break;case6:weekstring="星期六";break;default:break;}returnweekstring;解析:[问答题]79.怎样实现多态?请简要描述一下。答案:1.通过对象直接调用成员函数时,始终默认使用该对象的类的成员函数(除非用::显示指定类名)。2.通过指向对象的指针或引用调用成员函数时:如果该函数是实函数,则调用该指针或引用的类的成员函数;如果该函3.数是虚函数,则调用该指针或引用指向的对象的类的成员函数。解析:[问答题]80.4个CheckBox控件,文本中分别显示C#程序设计、SQLServer、.NETFramework和ADO.NET,对4个CheckBox任意选定,单击按钮后弹出消息框,显示被选中信息。答案:privatevoidbutton1_Click(objectsender,EventArgse){stringmsg="";if(checkBox1.Checked)msg+="C#";if(checkBox2.Checked)msg+="SQLServer";if(checkBox3.Checked)msg+=".NETFramework";if(checkBox4.Checked)msg+="ADO.NET";if(msg=="")MessageBox.Show("请选择所学科目!");elseMessageBox.Show(msg+"科目被选中!");}解析:[问答题]81.编程求100以内能够被7整除的最大自然数。答案:staticvoidMain(string[]args){for(inti=100;i>0;i--)if(i%7==0){Console.WriteLine(i);break;}Console.ReadLine();}解析:[问答题]82.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别答案:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对像equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值解析:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对像equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值[问答题]83.C#中,stringstr=null与stringstr="",请尽量用文字说明区别。答案:stringstr=""初始化对象分配空间,而stringstr=null初始化对象解析:[问答题]84.在下面的例子里usingSystem;classA{publicA(){PrintFields();}publicvirtualvoidPrintFields(){}}classB:A{intx=1;inty;publicB(){y=-1;}publicoverridevoidPrintFields(){Console.WriteLine("x={0},y={1}",x,y);}当使用newB()创建B的实例时,产生什么输出?答案:X=1,Y=0;x=1y=-1解析:X=1,Y=0;x=1y=-1[问答题]85.个位数为8且能被4整除但不能被7整除的二位自然数共有多少个,统计个数,并输出这些数答案:intn=0,i;Console.WriteLine("输出个位数为8且能被4整除但不能被7整除的二位自然数:");for(i=10;i<100;i++){if(i%10==8&&i%4==0&&i%7!=0){Console.Write("{0}",i);n++;}}Console.WriteLine("共有{0}个?",n);Console.ReadKey();}}解析:[问答题]86.简述C#中的窗体类型。答案:普通窗体:即单文档窗体。普通窗体又分为模式窗体和无模式窗体,其中模式窗体在屏幕上显示后用户必须响应,只有在它关闭后才能操作其他窗体或程序,通过ShowDialog方法显示;无模式窗体在屏幕上显示后用户可以不必响应,可以随意切换到其他窗体或程序进行操作,通过Show方法显示。通常情况下,当建立新的窗体时,都默认设置为无模式窗体。MDI父窗体:即多文档窗体,其中可以放置普通子窗体。解析:[问答题]87.在下面的例子里usingSystem;classA{publicA(){PrintFields();}publicvirtualvoidPrintFields(){}}classB:A{intx=1;inty;publicB(){y=-1;}publicoverridevoidPrintFields(){Console.WriteLine("x={0},y={1}",x,y);}当使用newB()创建B的实例时,产生什么输出?答案:X=1,Y=0;x=1y=-1解析:[问答题]88.虚函数的用法?请简要描述一下。答案:1)virtual指明一成员函数为虚函数,而virtual仅用于类的定义里,在类外可不加此关键字2)一个类的成员函数被定义为虚函数时,子类该函数仍保持虚函数特征.3)子类覆盖此函数时,定义里可不加virtual关键字,但函数声明要和基类的完全一致!且此声明是必须的.4)不是纯虚函数时,父类的虚函数必须要实现;而若将父类的虚函数设定为纯虚函数时,子类必需要覆盖之而且必须要实现之!解析:[问答题]89.在C#程序中,要设置Label控件的大小不随着内容而改变,应修改()属性的值为False

温馨提示

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

评论

0/150

提交评论