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

下载本文档

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

文档简介

试卷科目:C#开发基础C#开发基础(习题卷4)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC#开发基础第1部分:单项选择题,共138题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.下面关于抽象类的说法正确的是?()A)抽象类只能做子类B)抽象类可以被实例化C)抽象类不能被实例化D)一个抽象类只能有一个子类答案:C解析:抽象类不能被实例化,抽象类只能被继承实现。[单选题]2.下列选项中,哪两个部分构成了Form1.cs文件()。A)Form1.cs[设计]与Form2.cs逻辑代码B)Form2.cs[设计]与Form1.cs逻辑代码C)Form1.cs[设计]与Form1.cs逻辑代码D)Form1.resx答案:C解析:[单选题]3.在C#语言中,下列异常处理结构中有错误的是()A)catch{}finally{}B)try{}finally{}C)try{}catch{}finally{}D)try{}catch{}答案:A解析:try,catch,finallytry是必须的。[单选题]4.在C#中,用于关闭SqlConnection对象的方法是()A)Select方法B)Find方法C)Open方法D)Close方法答案:D解析:[单选题]5.以下哪项用来表示横制表符?()A)\bB)\nC)\vD)\t答案:D解析:[单选题]6.使用______类把文件放到内存中,极大地提高了文件读写速度。A)MemoryStreamB)BuffereStreamC)NetworkstreamD)FileStream答案:A解析:[单选题]7.以下类MyClass的定义中是合法的抽象类。A)abstractclassMyClass{publicabstractintgetCount();}B)abstractclassMyClass{abstractintgetCount();}(类的成员没有加修饰符默认为pravite,而私有方法不能被子类继承,也就不能被实现)C)privateabstractclassMyClass{abstractintgetCount();}(pravite只能用于嵌套类,而且抽象类也不能用pravite)D)sealedabstractclassMyClass{abstractintgetCount();}(抽象类不能被密封)答案:A解析:[单选题]8.下面关于命名空间的说法错误的是()。A)命名空间用于组织相关的类和其他类型B)命名空间可以嵌套C)在同一个应用程序中,不同的命名空间中不允许有相同名称的类D)using关键字用于引用命名空间答案:C解析:C:错。不同的命名空间类名可以相同。同一个命名空间,类名不能相同。[单选题]9.在C#中,执行完代码int[]x=newint[10];后,下列说明正确的是()A)x[9]为0B)x[9]未定义C)x[10]为0D)x[0]为空答案:A解析:[单选题]10.在C#WinForm中,用于创建主菜单的控件是()A)FormB)ContextMenuStripC)LabelD)MenuStrip答案:D解析:[单选题]11.在设计菜单时,若希望某个菜单项前面有一个?√?号,应把该菜单项的______属性设置为true。A)CheCkeDB)RADioCheCkC)ShowShortCutD)EnABleD答案:A解析:[单选题]12.在C#中,控制窗体是否可见,可以使用WindowsState属性,以下是WindowsState属性值的是()A)NormalB)MinC)MaxD)以上都不是答案:A解析:[单选题]13.下列关于变量的数据类型说法错误的是()。A)int关键字表示整型类型B)double关键字表示浮点类型,存储64位浮点值的简单类型C)string关键字表示字符串,可以用来存储空D)decimal关键字表示128位数据类型,同浮点型相比decimal具有更大取值范围答案:D解析:decimal关键字指示128位数据类型。与浮点型相比,decimal类型具有更高的精度和更小的范围[单选题]14.在CSS3中,下列哪个选项是超链接伪类点击未释放状态()A)a:linkB)a:visitedC)a:hoverD)a:active答案:D解析:[单选题]15.和C#中的所有对象一样,窗体也是对象,是()类的实例A)LabelB)ControlsC)FormD)System答案:C解析:[单选题]16.在C#中,可以避免使用枚举变量来避免不合理的赋值,一下枚举定义中正确的是()A)publicenumSex{male,femal}B)publicenumSex{male,femal;}C)publicSexenum{male,femal;}D)publicSexenum{male,femal}答案:A解析:枚举枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于?多项选择?场合,就是程序运行时从编译时已经设定的固定数目的?选择?中做出决定。枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储七个有意义的值。若要定义这些值,可以使用枚举类型。枚举类型是使用enum关键字声明的。enumDays{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};默认情况下,枚举中每个元素的基础类型是int。可以使用冒号指定另一种整数值类型。如果不为枚举数列表中的元素指定值,则它们的值将以1为增量自动递增。在前面的示例中,Days.Sunday的值为0,Days.Monday的值为1,依此类推。创建新的Days对象时,如果不显式为其赋值,则它将具有默认值Days.Sunday(0)。创建枚举时,应选择最合理的默认值并赋给它一个零值。这便使得只要在创建枚举时未为其显式赋值,则所创建的全部枚举都将具有该默认值。枚举中大小写敏感,但是建议不要这样。[单选题]17.下列选项中,关于FileStream类的说法错误的是()。A)FileStream类表示在磁盘或网络路径上指向文件的数据B)FileStream类的ReadByte()方法用于从文件中读取一个字节,并将读取位置提升一个字节。C)FileStream类的WriteByte()方法用于将一个字节写入文件流的当前位置。D)FileStream类的Read()方法用于从流中读取字节块并将该数据写入给定缓冲区中。答案:A解析:[单选题]18.在C#中定义一个数组,正确的代码为()。(选择一项)A)intarraya=newint[5];B)int[]arraya=newint[5];C)intarraya=newint[];D)int[5]arraya=newint;答案:B解析:int[]arraya=newint[5];一维数组的定义。[单选题]19.以下文件操作方法,()可以用来删除文件。A)Move()B)Delete()C)Copy()D)Exists()答案:B解析:概念理解[单选题]20.对于ListBox的常用方法,说法正确的是()。A)SetSelected(n,s)方法用来选中某一项或取消对某一项的选择B)Insert(n,s)方法用来在列表框中指定位置插入一个列表项,索引从1开始C)Items.Remove(n)从列表框中删除列表项nD)Items.Clear()用于清空列表中的所有项答案:B解析:[单选题]21.ArrayList中存储的元素超出容量时,会出现下列哪种状态()A)其容量变为之前的一半B)程序会报错C)其容量不变D)其容量自动增长一倍答案:D解析:[单选题]22.对于方法重载的作用描述错误的是()A)可以减轻命名负担B)方便自适应调用C)代码更灵活D)提高了运行效率答案:D解析:概念理解[单选题]23.在ADO.NET中,为访问DataTable对象从数据源提取的数据行。可使用DataTable对象的()属性.A)RowsB)ColumnsC)ConstraintsD)DataSet答案:A解析:[单选题]24.下列选项中,关于匿名类的描述错误的是()。A)匿名类没有类名B)匿名类有类名C)编译器会根据匿名类中属性的值来确定属性的类型并生成一个类D)所有的匿名类均继承自System.Object类答案:B解析:[单选题]25.以下关于try…catch…finaly语句的叙述中不正确的是。A)catch块可以有多个B)finaly块最多只有一个C)catch块也是可选的D)可以只有try块,没有catch块和finaly块答案:D解析:[单选题]26.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对静态成员进行初始化。A)静态成员B)静态成员和非静态成员C)非静态成员D)动态成员答案:B解析:[单选题]27.下列选项中关于对象初始化器,描述错误的是()。A)可以同时为多个属性赋值B)可以大大减少对象初始化的代码C)可以在创建对象的同时给数据成员赋值D)可以代替类中的属性答案:D解析:[单选题]28.执行下面的代码,表述正确的是()。Randomrd=newRandom();inta=rd.Next(0,5);Console.WriteLine(a);A)a的值始终介于0到5之间,但不能是5B)a的值始终介于0到5之间,但不能是5和0C)a的值始终介于0到5之间,但不能是0D)a的值始终介于0到5之间,包含0和5答案:A解析:[单选题]29.在C#语言中,下列能够作为变量名的是。A)if(与关键词相同)B)3ab(数字不能打头)C)a_3bD)a-bc(不能用短横线)答案:C解析:[单选题]30.以下的C#代码:StaticvoidMain(string[]args){Console.WriteLine("运行结果:{0}",Console.ReadLine());Console.ReadLine();}代码运行结果为。A)在控制台窗口显示?运行结果:?B)在控制台窗口显示?运行结果:{0}?C)在控制台窗口显示?运行结果:,Console.ReadLine?D)如果用户在控制台输入?A?,那么程序将在控制台显示?运行结果:A?答案:D解析:[单选题]31.在C#中,在方法MyFunc内部的try…catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则。A)系统运行时忽略该异常B)系统运行时马上强制退出该程序,指出未处理的异常。C)系统运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程D)系统抛出一个新的?异常处理未找到?的异常答案:B解析:[单选题]32.下面代码实现数组array的冒泡排序,画线处应填入()。int[]array={20,56,38,45};inttemp;for(inti=0;i<3;i++){for(intj=0;j<_____;j++){if(a[j]<a[j+1]){temp=a[j];array[j]=a[j+1];array[j+1]=temp;}}}A)4-iB)iC)i+1D)3-i答案:D解析:冒泡排序从字面意思理解为每次一次循环的最大数放到最后面。比如531三个数排序。第一次先取第一个:5,5依次和后面的两个数比,大的值向后换一位。比完后应值为315。第二次又取31,5不用取了,因为最后一个已经是最大的。比完的值为13所以就排好序了135.下面来写算法:for(inti=0;i<3;i++)这句代表总共要循环多少次。题目中为4个数。所以一共要循环3次。第一次i=0;j从0到2.将最大值56取出来。array=20,38,45,56第二次i=1;j从0到1.将最大值45取出来。第三次i=2;j从0到0将最大38取出来。所以这里答案为D。标准程序[单选题]33.在HTML5中,HTML5文档结构由<head>和()两部分组成?A)<body>B)<meta>C)<h>D)<title>答案:A解析:[单选题]34.设x和y均为bool量,则x&&y为真的条件是()A)它们均为真B)其中一个为真C)它们均为假D)其中一个为假答案:A解析:[单选题]35.以下语句不可以在屏幕上输出Hello,World语句是()A)Console.WriteLine(?Hello?+?,World?);B)Console.Write(?Hello{0}?,?,World?);C)Console.WriteLine(?{0},{1}?,?Hello,World?);D)Console.Write(?Hello,World?);答案:C解析:Console.WriteLine(?{0},{1}?,?Hello,World?);需要两个参数,这里只有一个,报错。[单选题]36.以下C#注释代码,不正确的是()A)//C#注释代码B)//C#注释代码1//C#注释代码2C)///C#注释代码D)C#注释代码答案:D解析:[单选题]37.隐藏与对象基本特征没有很大关系的信息的过程称为:()A)抽象B)封装C)调用方法D)传递参数答案:B解析:[单选题]38.在HTML5中,下面标记中()表示在标记的位置添加一个换行A)<h1>B)<enter>C)D)<hr>答案:C解析:[单选题]39.List<int>list=newList<int>(),向list集合中添加元素下列代码错误的是()。A)list.Add(1)B)list.AddRange(newint[]{2,3,6,4})C)list.AddRange(newchar[]{'2','3','6','4'})D)list.AddRange(list)答案:C解析:[单选题]40.有以下部分C#代码:ClassApp{publicstaticvoidMain(){mydelegatep=newmydelegate(CheckStatus);p("string...");…}staticvoidCheckSatus(stringstate){Console.WriteLine(state);}}其中mydelegate是一个。A)委托类型B)结构类型C)函数D)类名答案:A解析:[单选题]41.下列事件中,()是按钮的默认事件。A)ClickB)LoadC)CheckedChangedD)TextChanged答案:C解析:[单选题]42.引用ListBox(列表框)当前被选中的数据项应使用()语句A)ListBox1.Items[ListBox1.Items.Count]B)ListBox1.Items[ListBox1.SelectedIndex]C)ListBox1.Items[ListBox1.Items.Count-1]D)ListBox1.Items[ListBox1.SelectedIndex-1]答案:B解析:[单选题]43.在C#中,intnum1=10,num2=22,num3=44;Console.WriteLine("{1},{2},{0}",num1,num2,num3);程序的运行结果是()A)程序运行出错B)="10C)22D)44"答案:C解析:[单选题]44.以下代码,输出结果为:()classHero{privatestringname;privateintattack;publicstringName{get;set;}publicintAttack{get;set;}publicHero(stringname){this.Name=name;this.Attack=180;}}staticvoidMain(string[]args){Herohero=newHero("亚瑟");Console.WriteLine("姓名:{0},攻击:{1}",hero.Name,hero.Attack);}A)姓名:"",攻击:0B)姓名:"亚瑟",攻击:0C)姓名:"",攻击:180D)姓名:亚瑟,攻击:180答案:D解析:概念理解[单选题]45.下面选项中,循环嵌套语可以实现的功能是()。A)九九乘法表B)判断年份是否是闰年C)奇偶数的判断D)判断密码是否正确答案:A解析:[单选题]46.以下不是构造函数的特征。A)构造函数的函数名和类名相同B)构造函数可以重载C)构造函数可以带有参数D)可以指定构造函数的返回值答案:D解析:[单选题]47.abstract修饰的方法为抽象方法,抽象方法只有声明而无主体,且______。A)只能存在于抽象类中B)可以在任何类中C)只能在接口中D)只能在密封类中答案:A解析:[单选题]48.下列关于继承说法中,哪个选项是正确的()A)派生类可以继承多个基类的方法和属性)B)派生类必须通过base关键字调用基类的构造函数C)继承最主要的优点是提高代码性能D)继承是指派生类可以获取其基类特征的能力)答案:D解析:A:类不能多继承。B:不是必须,是可以。D:正确。[单选题]49.下列的数组定义语句正确的是A)Int[,]a=newint[3,4];B)Int[,]a=newinta[3][4]C)Int[,]a=newint[3][]D)Int[,]a={1,2,3,4};答案:A解析:[单选题]50.在CSS3中,引用外部样式表,用哪个标签()A)<link>B)<input>C)<head>D)<title>答案:A解析:[单选题]51.在C#的Windows应用程序中,不论任何控件,共同具有的是()属性。A)TextB)NameC)ForeColorD)Caption答案:B解析:[单选题]52.当运行程序时,系统自动执行启动窗体的()事件。A)CliCkB)DouBleCliCkC)LoADD)ACtivAteD答案:C解析:[单选题]53.已知大写字母ASCII码是65,小写字母a的ASCII码是97,则十六进制字符常量'\u0042?表示()A)字符aB)字符AC)字符bD)字符B答案:D解析:[单选题]54.以下关于字符串str1的用法,错误的是()A)str1.ToUpper();可将str1转化成大写B)str1.ToLower();可将str1转化成小写C)str1.split(?,?);返回字符串数组D)str1.split(?,?);返回一个字符串答案:D解析:[单选题]55.使用VisualStudio.NET的?新建C#项目?创建一个名为?SimpleForm?的Windows表单应用程序,则在生成()文件中可设置该程序集的Copyright、Trademark等属性信息.A)Form1.resxB)SimpleForm.slnC)SimpleForm.csprojD)AssemblyInfo.cs答案:D解析:[单选题]56.在HTML5中,如果要设置一个表单元素内容为必填项则要设置()属性来完成。A)requiredB)fixC)typeD)must答案:A解析:[单选题]57.在窗体上有一个名称为label1的标签,语句()的功能是使该标签暂时不可见。A)label1.Enabled=true;B)label1.Visible=true;C)label1.Enabled=false;D)label1.Visible=false;答案:D解析:[单选题]58.观察下列代码给出最后的结果:Customerjun=newCustomer("李军",32,"广州");//创建客户1Customeryun=newCustomer("王云",28,"杭州");//创建客户2Customersi=newCustomer("雷斯",43,"美国");//创建客户3ArrayListlist=newArrayList(2);list.Add(jun);Console.WriteLine("集合可存储元素数:{0}",list.Capacity);Console.WriteLine("集合实际元素数:{0}",list.Count);A)集合可存储元素数:2集合实际元素数:1B)集合可存储元素数:1集合实际元素数:1C)集合可存储元素数:2集合实际元素数:2D)集合可存储元素数:1集合实际元素数:2答案:A解析:[单选题]59.以下关于Math类的各方法说明,错误的是()A)Math.Abs(-1);返回值为1B)Math.Ceiling(1.3);返回值为2C)Math.Floor(1.3);返回值为1D)Math.Round(1.3);返回值为2答案:D解析:[单选题]60.Randomrd=newRandom();intnum=rd.Next(3,5);num可能的值为()。A)0B)4C)3D)5答案:C解析:[单选题]61.以下叙述正确的是()A)接口中可以有虚方法。B)一个类可以实现多个接口。C)接口可以被实例化。D)接口中可以包含已实现的方法。答案:B解析:[单选题]62.以下程序的运行结果是()staticvoidMain(string[]args){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);Console.ReadKey();}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2答案:C解析:[单选题]63.插入、删除数据可用SqlCommand对象的()方法A)ExecuteReaderB)ExecuteScalarC)ExecuteNonQueryD)EndExecuteNonQuery答案:C解析:[单选题]64.不想让窗体显示最大化按钮,应该设置窗体的()属性。A)MaximizeBoxB)MinimizeBoxC)acceptButtonD)CancelButton答案:A解析:[单选题]65.以下关于抽象类的叙述中错误的是。A)抽象类可以包含非抽象方法B)含有抽象方法的类一定是抽象类C)抽象类不能被实例化D)抽象类可以是密封类答案:D解析:[单选题]66.在C#中,以下代码运行的结果为()。publicclassPerson{publicPerson(stringname){Console.WriteLine("人名:"+name);}}publicclassStudent:Person{publicStudent(stringname){Console.WriteLine("学生名:"+name);}publicstaticvoidMain(){Personstu=newStudent("卡卡");}}A)人名:卡卡B)学生名:卡卡C)人名:卡卡学生名:卡卡D)编译报错默认调用父类的无参构造方法答案:D解析:报错。子类默认调用父类的无参构造方法。如果父类是有参的,则需要显式调用。[单选题]67.Control类的常用事件中,()事件在单击控件时会触发。A)ClickB)FontChangedC)MouseLeaveD)BackColorChanged答案:A解析:[单选题]68.在C#中,求一维数组a中的元素个数使用的是()。A)CountB)a.LengthC)a.SizeD)a.Items答案:B解析:[单选题]69.若要改变文本框中所显示文本的颜色,应设置文本框的()属性。A)ForeColorB)BackColorC)BackgroundImageD)FillColor答案:A解析:[单选题]70.在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用()关键字A)overrideB)newC)staticD)virtual答案:A解析:override重写。基本概念。[单选题]71.以下说法正确的是()A)构造函数名不必和类名相同B)一个类可以声明多个构造函数C)构造函数可以有返回值D)编译器可以提供一个默认的带一个参数的构造函数答案:B解析:[单选题]72.以下有关派生类的描述中,不正确的是______。A)派生类可以继承基类的构造函数B)派生类可以隐藏和重载基类的成员C)派生类不能访问基类的私有成员D)派生类只能有一个直接基类答案:A解析:[单选题]73.以下哪个是引用类型?()A)charB)intC)boolD)string答案:D解析:[单选题]74.C#语言主要是面向______开发环境进行编程的语言。A)DOSB)NETC)WindowsD)Linux答案:B解析:[单选题]75.在C#中,当month等于9时,分析下列代码片段的执行结果()intdays=0;switch(month){case2:days=28;break;case4:case6:case9:case11:days=30;break;default:days=31;break;}Console.WriteLine(days);A)0B)30C)29D)31答案:B解析:[单选题]76.枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为()。A)uintB)sbyteC)ulongD)int答案:D解析:[单选题]77.下面对于事件中的两个参数描述说法正确的是()。A)Object类型的sender:表示触发事件的对象B)EventArgs类型的e:表示触发事件的对象C)Object类型的sender:执行此事件需要的一些资源D)EventArgs类型的e:表示触发事件的对象和执行此事件需要的一些资源答案:A解析:[单选题]78.在CSS3中,若要设置背景图片垂直方向上平铺,则需要将background-repeat属性值设置为()A)repeatB)repeat-xC)no-repeatD)repeat-y答案:D解析:[单选题]79.当你需要使用一种数据类型表达同一类事物的不同状态,比如:男人、女人、小孩、老人或者春夏秋冬时,C#中最可靠和直观的解决方案是什么?()A)使用struct结构B)使用enum枚举C)使用int类型,用不同的数值{0,1,2……}表示D)C#中无法通过一种数据类型实现同一事务的不同状态。答案:B解析:enum可以设置不同值,是一种有限值的合集。[单选题]80.TCP最主要的特点是()。A)是一种基于连接的协议(类似于打电话)B)保证数据准确到达C)保证各数据到达的顺序与数据发出的顺序相同D)传输的数据无消息边界答案:A解析:[单选题]81.在C#中,按钮指的是()控件A)ButtonB)RadioButtonC)CheckBoxD)ComboBox答案:B解析:[单选题]82.在C.中定义一个数组,以下正确的是()。A)intarraya=newint[5];B)int[]arrayb=newint[5];C)intarrayc=newint[];D)int[5]arrayd=newint;答案:B解析:[单选题]83.下列关于for循环的语法格式,正确的是()。A)for(inti=1,i<=3,i++){}B)for(inti;i<=3;i++){}C)for(i=1;i<=3;i++){}D)for(inti=1;i<=3;i++){}答案:D解析:[单选题]84.用if语句表示如下分段函数f(x),下面不正确的程序是A)if(x>=1)f=2*x+1;F=3*x/(x-1);B)if(x>=1)f=2*x+1;If(x<1)f=3*x/(x-1);C)f=3*x/(x-1);If(x>=1)f=2*x+1;D)if(x<1)f=3*x/(x-1);Elsef=2*x+1;答案:A解析:[单选题]85.调用BinaryWriter对象的(),不能将写缓冲区中的数据写入目标文件。A)Close()B)FlushC)Seek()D)Write()答案:C解析:[单选题]86.在C#中,从属性的读写特性上来进行分类,可以划分为以下三种,除了。A)只读属性B)只写属性C)读写属性D)不可读不可写的属性答案:D解析:[单选题]87.当程序中出现异常时,不仅可以通过try…catch代码块捕获异常,还可以使用()关键字抛出异常对象。A)throwB)ExceptionC)argsD)Exceptions答案:A解析:[单选题]88.在C#的语言特性中,关于抽象类,以下描述正确的是()。A)在抽象类包含全部已经实现的方法的时候,抽象类可以实例化B)子类可以同时实现多个抽象类C)使用void关键字标注一个抽象类D)抽象基类可以包含己经实现的方法答案:D解析:抽象类可以包括抽象方法,也可以是非抽象方法。[单选题]89.下列哪个转换时属于隐式转换的()A)inti=?f?B)intj=20FC)inta=100LD)charc=?H?答案:A解析:[单选题]90.下列关于?方法重载?的描述中,哪些选项是不正确的?()。A)方法重载可以扩充现有类的功能B)构造函数不可以重载C)方法ConsoleW(int_value)是方法ConsoleW(string_value)的重载D)方法重载即?同样的方法名但传递的参数不同?答案:B解析:构造函数可以重载,参数不同即可。[单选题]91.Control类的常用属性中,()属性用于设置控件中文本的字体。A)NameB)TextC)FontD)TextAlign答案:C解析:[单选题]92.在C#中,将路径名?C:\DoCuments\?存入字符串变量pAth中的正确语句是()A)pAth=?C:\\DoCuments\\??;B)pAth=?C://DoCuments//?;C)pAth=?C:\DoCuments\?;D)pAth=?C:\/DoCuments\/?;答案:A解析:[单选题]93.分析下列代码段,运行结果是什么?()。StaticvoidMain(string[]args){string[]words=newstring[]{?a?,?b?,?c?};foreach(intwordinwords){word=?abc?;Console.WriteLine(word);}Console.ReadKey();}A)abcB)abcabcabcC)bcacabD)不能正确编译答案:D解析:intwordinwords这个有错。words是string类型。[单选题]94.在.NET中,一些数据类型为引用类型,当引用类型的值为()时,表明没有引用任何对象A)NullB)NothingC)EmptyD)0答案:A解析:[单选题]95.在C#中,表示一个字符串变量应使用下面哪条语句定义()A)CStringstr;B)Stringstr;C)Dimstrasstring;D)char*str;答案:B解析:字符串定义基本概念。[单选题]96.以下关键字用于定义事件。A)delegateB)eventC)thisD)value答案:B解析:[单选题]97.在C#中执行以下代码结果是()。ArrayListlist=newArrayList();list.Add(1); 1list.Add(?2?);list.Add(?3?);list.RemoveAt(0); 2list.RemoveAt(1);list.RemoveAt(2); 3A)正确执行B)代码行1运行出错C)代码行2运行出错D)代码行3运行出错答案:D解析:第3行出错。因为前面已经移出两个,list.RemoveAt(2);超出范围。[单选题]98.在HTML5中,将表单中input元素的type属性值设置为()时,用于创建图片按钮。A)resetB)setC)buttonD)image答案:D解析:[单选题]99.下面有关C#中方法的参数描述正确的是()。A)利用值类型参数调用方法时,对形参的修改会反映到实参上去B)输出型参数的实参在传递给形参前,不需要明确赋值C)引用型参数不另外开辟新的内存区域,这一点是它与输出型参数的不同之处D)数组型参数可以是任何类型的数组答案:B解析:输出参数:out关键字,指定所给定的参数是一个输出参数。Out关键字的使用方式与ref关键字相同,实际上,他的执行方式与引用参数完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。[单选题]100.已知有一个名为myMenu的菜单项,如果想使该菜单项变灰(失效),则正确的语句是()。A)myMenu.Enabled=false;B)myMenu.Visible=false;C)myMenu.Checked=false;D)myMenu.Radio=false;答案:A解析:[单选题]101.已定义接口interfaceIeatable,接口中只有一个方法inteat(intnum);,关于接口的实现类CatEat的说法错误的是()A)实现接口的语法为classCatEat:Ieatable{…省略类内容…}B)类CatEat中除构造函数外,只有一个方法eatC)类CatEat中除构造函数外,可以有多个方法D)类CatEat中的eat方法,只能有一个整形参数答案:C解析:[单选题]102.对于方法重载的特点,描述错误的是()A)方法名称必须相同B)方法的参数必须不相同C)返回值类型必须相同D)可以减轻命名负担答案:C解析:概念理解[单选题]103.在C#中,下列哪些语句可以创建一个具有3个初始值为??的元素的字符串数组()A)StringStrList[3](??);B)string[3]StrList={??,??,??};C)string[]StrList={??,??,??};D)string[]StrList=newstring[3];答案:C解析:变量类型[]数组名=new变量类型[元素个数]{元素0,元素1,元素2...}//元素个数必须是整数或者整数常量,而且必须与后面的元素列值个数相同,否则出错。元素个数的new声明和后面的元素列值可以只选一个,就能声明并初始化数组。遍历方法EG:string[]paras=newstring[]={"hello","hi","howareyou"};[单选题]104.在C#中,表达式(int)10/5*2.0的运行结果是()类型的数据A)intB)doubleC)floatD)编译错误答案:B解析:[单选题]105.当month等于6时,下面代码的输出结果是()。intdays=0;switch(month){case2:days=28;break;case4:case6:case9:case11:days=30;break;default:days=31;break;}A)0B)28C)30D)31答案:C解析:选C。case6:这里没有break;就会执行到后面case9:case11:days=30;break;这里的break结束。[单选题]106.下列选项中,()具有强大的、灵活的、基于Web的应用程序管理功能,而且界面友好、易于操作。A)SQLiteB)SQLServerC)OracelD)MySQL答案:C解析:[单选题]107.C#语言中,值类型包括:基本值类型、结构类型和()。A)小数类型B)整数类型C)类类型D)枚举类型答案:D解析:[单选题]108.下列关于构造函数DateTime(intyear,intmonth,intday)的作用,描述正确的是()。A)将DateTime结构的新实例初始化为指定的年、月和日B)将DateTime结构的新实例初始化为指定的年、月、日、小时、分钟和秒C)DateTime结构的新实例初始化为指定的年、月、日、小时D)将DateTime结构的新实例初始化为指定的年、月答案:A解析:[单选题]109.关于类成员访问控制权限正确的是A)public能被所有类访问B)protected能被所有类访问C)private能被同一文件中的其它类访问D)internal能被所有类访问答案:A解析:类中所有的成员,默认均为private。C#用多种修饰符来表达类的不同性质。根据其保护级C#的类有五种不同的限制修饰符:public可以被任意存取;protected只可以被本类和其继承子类存取;internal只可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是?.DLL?或?.EXE?。protectedinternal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。private只可以被本类所存取。如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。new修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。override只能用于嵌套的类,表示对继承父类同名类型的覆盖。abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。抽象类可以包含抽象的成员,但这并非必须。abstract不能和new同时用。下面是抽象类用法的伪码:abstractclassA{publicabstractvoidF();}abstractclassB:A{publicvoidG(){}}classC:B{publicoverridevoidF(){//方法F的实现}}抽象类A内含一个抽象方法F(),它不能被实例化。类B继承自类A,其内包含了一个实例方法G(),但并没有实现抽象方法F(),所以仍然必须声明为抽象类。类C继承自类B,实现类抽象方法F(),于是可以进行对象实例化。sealed用来修饰类为密封类,阻止该类被继承。同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的。[单选题]110.用来定义事件的关键字是()A)eventB)delegateC)interfaceD)以上都不是答案:A解析:C#事件(Event)事件(Event)基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。通过事件使用委托事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为发布器(publisher)类。其他接受该事件的类被称为订阅器(subscriber)类。事件使用发布-订阅(publisher-subscriber)模型。发布器(publisher)是一个包含事件和委托定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。订阅器(subscriber)是一个接受事件并提供事件处理程序的对象。在发布器(publisher)类中的委托调用订阅器(subscriber)类中的方法(事件处理程序)。声明事件(Event)在类的内部声明事件,首先必须声明该事件的委托类型。例如:publicdelegatevoidBoilerLogHandler(stringstatus);然后,声明事件本身,使用event关键字://基于上面的委托定义事件publiceventBoilerLogHandlerBoilerEventLog;[单选题]111.以下类定义中属于只读的类成员是PublicclassStudent{publicstringStuNo{get;}publicstringName{get;set;}publicboolGender{set;}publicstringClassName{get;set;}}A)StuNoB)NameC)GenderD)ClassName答案:A解析:[单选题]112.在类作用域中能够通过直接使用该类的()成员名进行访问。A)私有B)公用C)保护D)任何答案:D解析:公用成员可以直接访问。[单选题]113.在CSS3中,如何去掉文本超级链接的下划线()A)text-decoration:nounderline;B)underline:none;C)decoration:nodecoration;D)text-decoration:none;答案:D解析:[单选题]114.下列关于CheckBox描述错误的是()。A)CheckBox控件表示一个复选框B)CheckBox控件只有选中状态C)CheckBox控件的Checked属性用于设置是否选中D)CheckBox控件同样包括选中和未选中两种状态答案:B解析:[单选题]115.Path.GetExtension()方法作用是()。A)获取指定文件的文件名B)确定路径是否包括文件扩展名C)获取指定路径的文件D)获取文件的大小答案:B解析:[单选题]116.有以下代码段:inti=0,s=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i=i+1;s=s+i;}循环完成后,s的值是()A)10B)7C)21D)程序进入死循环答案:D解析:[单选题]117.DirectoryInfo类的实例对象用于获得指定目录下所有文件的方法是()。A)GetDirectoriesB)GetFilesC)GetHashCodeD)GetObjectData答案:B解析:[单选题]118.面向对象中,实例化的对象可以通过()的方式调用类中方法。A)类名.方法()B)对象.方法()C)类名.字段D)对象.字段答案:B解析:[单选题]119.下面合法的赋值语句是哪一个()A)Inta==1;B)Inti=1;Intj=i++;C)Inta=a+1=2;D)Inti=int(j);答案:B解析:[单选题]120.在下面循环语句中循环体执行的次数为()。for(inti=0;i<n;i++)if(i>n/2)break;A)n/2B)n/2+1C)n/2-1D)n-1答案:B解析:如n=22/2=1i=0i=0,0>2/2是假,不退出,1次。i=1,1>2/2是假,不退出,1次。完成。共2次=2/2+1[单选题]121.在CSS3中,表示背景图像apple.gif只在水平方向上平铺的CSS属性定义为()A)background-repeat:repeat-xB)background-repeat:repeat-x;C)background-repeat:repeat-y;D)bg-repeat:repeat-x;答案:B解析:[单选题]122.静态构造函数只能对( )数据成员进行初始化。A)静态B)动态C)实例D)静态和实例答案:A解析:造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着。亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧。静态构造函数是在构造函数方法前面添加了static关键字之后形成的,并且没有修饰符(public,private),没有参数。静态构造函数有哪些特点呢:静态构造函数没有修饰符修饰(public,private),因为静态构造函数不是我们程序员调用的,是由.net框架在合适的时机调用的。静态构造函数没有参数,因为框架不可能知道我们需要在函数中添加什么参数,所以规定不能使用参数。静态构造函数前面必须是static关键字。如果不加这个关键字,那就是普通的构造函数了。静态构造函数中不能实例化实例变量。(变量可以分为类级别和实例级别的变量,其中类级别的有static关键字修饰)。静态函数的调用时机,是在类被实例化或者静态成员被调用的时候进行调用,并且是由.net框架来调用静态构造函数来初始化静态成员变量。一个类中只能有一个静态构造函数。无参数的静态构造函数和无参数的构造函数是可以并存的。因为他们一个属于类级别,一个属于实例级别,并不冲突。静态构造函数只会被执行一次。并且是在特点5中的调用时机中进行调用。就像如果没有在类中写构造函数,那么框架会为我们生成一个构造函数,那么如果我们在类中定义了静态变量,但是又没有定义静态构造函数,那么框架也会帮助我们来生成一个静态构造函数来让框架自身来调用。[单选题]123.在C#中,TreeView控件()属性是用于设置控件名称的?A)NameB)TextC)NodeD)以上都不对答案:A解析:[单选题]124.语句?Console.WriteLine(10+"10");?输出的结果是()。A)10B)20C)1010D)编译错误答案:C解析:[单选题]125.调用Color.FromArgb(0,255,255,0)方法,得到的颜色是()。A)红色B)绿色C)黄色D)无色答案:D解析:[单选题]126.在.NET框架类库中,所有与多线程机制应用相关的类都放在()命名空间中。(选择一项)A)System)SysThreadB)System)ThreadC)System)ThreadingD)NetException答案:C解析:System.Threading线程包。[单选题]127.为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为。A)ExceptionB)DivideByZeroExceptionC)FormatExceptionD)以上三个均可答案:A解析:[单选题]128.C#中的属性主要体现了面向对象编程的()特性。A)封装B)继承C)多态D)抽象答案:A解析:概念理解[单选题]129.两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。intx;x=int.Parse(Console.ReadLine());if(x++>5)Console.WriteLine(x);elseConsole.WriteLine(x--);A)7和5B)6和3C)7和4D)6和4答案:C解析:输6时,x++后x=7.输出7输3时,x++后x=4,小于5.所以输出x--,先输出x后减。所以结果是7,4[单选题]130.下列()是ADO.NET的两个主要组件()。(请选择一项)A)Command和DataAdapterB)DataSet和DataTableC)NET数据提供程序和DataSetD)NET数据提供和DataAdapter答案:C解析:[单选题]131.哪一个算术操作符被用于两个数被用于两个数相除并返回余数?()A)/B)空格C)ModD)^答案:C解析:[单选题]132.引用类型主要有4种:类类型,数组类型,接口类型和()A)对象类型B)字符串类型C)委托类型D)整数类型答案:C解析:C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。数组的元素,不管是引用类型还是值类型,都存储在托管堆上。引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储数据的载体;引用类型支持多态,适合用于定义应用程序的行为。[单选题]133.在C#中,当执行Sql语句?selectcount(id)fromtb_student?时,需要使用SqlCommand对象的()方法执行?A)ExecuteNonQuery()B)ExecutQuery()C)ExecuteReader()D)ExecuteScalar()答案:D解析:[单选题]134.下列选项中,当文本超过控件的宽度时,显示水平滚动条,此时需要设置RichTextBox控件的属性ScrollBars的值为()。A)BothB)NoneC)HorizontalD)Vertical答案:C解析:[单选题]135.()方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。A)ExecuteNonQueryB)ExecuteReaderC)ExecuteQueryD)ExecuteScalar答案:A解析:ExecuteNonQuery();方法的意思是针对已经连接的存储过程执行SQL语句并返回受影响的行数!说白了就是执行sql语句!executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们使用[单选题]136.DropDownStyle控制下拉框的样式时,不允许输入值的内容的设置是()。A)DropDownB)SimpleC)DropDownListD)SelectionMode答案:C解析:[单选题]137.能作为C#程序的基本单位是()A)字符B)语句C)函数D)源程序文件答案:B解析:基本单位为程序语句。[单选题]138.下列选项中,控制RichTextBox控件的滚动条显示样式的属性是()。A)MultilineB)ScrollBarsC)SelectionColorD)SelectionIndent答案:B解析:第2部分:多项选择题,共14题,每题至少两个正确答案,多选或少选均不得分。[多选题]139.在C#中,下列属于对象的是()【选两项】A)学号是2070的学生B)98路公交车C)iphone11D)清华大学答案:AD解析:[多选题]140.在SQLServer中,关于连接查询以下说法正确的是()【选两项】A)连接查询必须是两个表之间的连接查询。B)连接查询中左连接和内连接查询使用场景一样。C)连接查询时必须添加关联列查询条件,否则结果为笛卡尔积。D)连接查询可以在一个表中进行连接查询。答案:CD解析:[多选题]141.在定义一个构造方法时,下列说法正确的是()。A)方法名必须和类名相同B)方法名前面没有返回值类型的声明C)方法名前面可以有返回值类型的声明,也可以没有D)在方法中不能使用return语句返回一个值答案:ABD解析:[多选题]142.以下在页面里加载当前路径中外部文件jQuery.js写法正确的是()A)<scripttype="text/javascript"src="jQuery.js"></script>B)<scriptsrc="jQuery.js"></script>C)<linkhref="jQuery.js"/>D)<scriptsrc="jQuery.js">答案:AB解析:[多选题]143.对于文件操作的Move()方法说法错误的是()A)可以复制文件B)可以检测文件是否存在C)移动文件到新的位置D)不能移动文件的位置答案:ABD解析:概念理解[多选题]144.在C#中,以结构化程序设计的角度来看,程序存在3种流程控制结构,分别是?【选三项】A)顺序结构B)分支结构C)循环结构D)跳转结构答案:ABC解析:[多选题]145.下列关于RadioButton描述正确的是()。A)RadioButton按钮包括选中和未选中两种状态B)RadioButton按钮可以实现功能C)RadioButton按钮被选中时,其Checked的值为trueD)RadioButton按钮未被选中时,其Checked的值为false答案:ACD解析:[多选题]146.以下关于C#中方法重载的说法正确的是()。(选择二项)A)如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载B)如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载C)如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载D)如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载答案:CD解析:方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。这里所说的参数不同是指以下几种情况:①参数的类型不同②参数的个数不同③参数的个数相同时他们的先后顺序不同[多选题]147.下列属性中属于Timer控件的是()。A)EnableB)IntervalC)TagD)Visible答案:AB解析:[多选题]148.在HTML中,通过<script>标签的src属性载入外部*.js文件。以下关于src属性方式的使用特点描述正确的有:()A)可以把大块JavaScript代码从HTML文件中删除,这有助于保持内容和行为的分离,从而简化HTML文件。B)src属性的值不可以使用由另一个Web服务器输出的代码。C)如果多个Web页面公用相同的JavaScript代码,用src属性可以让你只管理一份代码,而不用在代码改变时编辑每个HTML文件。D)一个JavaScript代码文件不能由多个页面共享。答案:AC解析:[多选题]149.在以下C#代码中,表达式结果为0.5的是()【选两项】A)1212122022年1月2日B)1.0/2C)(double)(1/2)D)(double)1/2答案:BD解析:[多选题]150.以下对序列化说法正确的是()A)将文件中的数据转化为对象B)指将对象实例的状态存储到存储媒体中的过程C)需要引入命名空间D)不能保存文字答案:BC解析:概念理解[多选题]151.在C#中,.NetFramework数据提供程序包含的对象有()【选三项】A)ConnectionB)CommandC)DataReaderD)Data答案:ABC解析:[多选题]152.在C#中,关于C#类和对象的说法,下列正确的有()【选两项】A)类是现实事物的客观存在B)类是现实事物的抽象存在C)类就是对象,对象就是类D)类是对象的高度概括,对象是类的具体实现答案:BD解析:第3部分:填空题,共8题,请在空白处填写正确答案。[填空题]153.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成()。答案:死循环解析:while根据条件执行,如条件一直为真,就会死循环如:while(true)[填空题]154.C#虽然不支持多重继承,但提供了另一种类似的机制是()。答案:接口解析:接口可以多继承,类不行。[填空题]155.有时不能确定一个方法的方法参数到底有几个,可以使用()关键字解决这个问题。答案:params解析:c#params应用params是C#开发语言中关键字,params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。在方法声明中的params关键字之后不允许任何其他参数,并且在方法声明中只允许一个params关键字。关于参数数组,需掌握以下几点。(1)若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后;(2)参数数组必须是一维数组;(3)不允许将params修饰符与ref和out修饰符组合起来使用;(4)与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量;(5)若实参是数组则按引用传递,若实参是变量或表达式则按值传递。(6)用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组,形式为:方法修饰符返回类型方法名(params类型[]变量名)如带有参数的SQL语句,不同的表的字段数量也不同,当你更新修改的时候就可以用。例如:paramsusingSystem;publicclassMyClass{publicstaticvoidUseParams(paramsint[]list){for(inti=0;i<list.Length;i++){Console.WriteLine(list[i]);}Console.WriteLine();}publicstaticvoidUseParams2(paramsobject[]list){for(inti=0;i<list.Length;i++){Console.WriteLine(list[i]);}Console.WriteLine();}staticvoidMain(){UseParams(1,2,3);UseParams2(1,'a',"test");//Anarrayofobjectscanalsobepassed,aslongas//thearraytypematchesthemethodbeing[]myarray=newint[3]{10,11,12};UseParams(myarray);}}输出:1231atest101112[填空题]156.接口只能定义方法,实现要由()完成答案:类解析:接口的实现是类。[填空题]157.类是存储在()上的引用类型,而结构是存储在()上的值类型。答案:堆,堆栈解析:栈vs堆:有什么不同?栈负责保存我们的代码执行(或调用)路径,而堆则负责保存对象(或者说数据,接下来将谈到很多关于堆的问题)的路径。可以将栈想象成一堆从顶向下堆叠的盒子。当每调用一次方法时,我们将应用程序中所要发生的事情记录在栈顶的一个盒子中,而我们每次只能够使用栈顶的那个盒子。当我们栈顶的盒子被使用完之后,或者说方法执行完毕之后,我们将抛开这个盒子然后继续使用栈顶上的新盒子。堆的工作原理比较相似,但大多数时候堆用作保存信息而非保存执行路径,因此堆能够在任意时间被访问。与栈相比堆没有任何访问限制,堆就像床上的旧衣服,我们并没有花时间去整理,那是因为可以随时找到一件我们需要的衣服,而栈就像储物柜里堆叠的鞋盒,我们只能从最顶层的盒子开始取,直到发现那只合适的。栈是自行维护的,也就是说内存自动维护栈,当栈顶的盒子不再被使用,它将被抛出。相反的,堆需要考虑垃圾回收,垃圾回收用于保持堆的整洁性,没有人愿意看到周围都是赃衣服,那简直太臭了!*栈和堆里有些什么?当我们的代码执行的时候,栈和堆中主要放置了四种类型的数据:值类型(ValueType),引用类型(ReferenceType),指针(Pointer),指令(Instruction)。1.值类型:在C#中,所有被声明为以下类型的事物被称为值类型:boolbytechardecimaldoubleenumfloatintlongsbyteshortstructuintulongushort2.引用类型:所有的被声明为以下类型的事物被称为引用类型:classinterfacedelegateobjectstring[填空题]158.在类的方法前加上关键字(),则该方法被称为虚方法答案:virtual解析:一、抽象方法:只在抽象类中定义,方法修饰符不能使用private,virtual,static.抽象方法如下示:publicabstractclassPeople//声明一个抽象类{publicabstractvoidstudy();//抽象方法只能定义在抽象类中。}publicclassStudent:People//继承抽象类{publicoverridevoidstudy()//重写抽象类的抽象方法{Console.WriteLine("好好学习,天天向上!");}}publicclassProgram{staticvoidMain(string[]args){Studentt=newStudent();//实例化派生类Peoplep=t;//使用派生类对象实例化抽象类//以上两句等价于Peoplep=newStudent();//使用派生类对象实例化抽象类;p.study();//使用抽象类对象调用抽象类中的抽象方法study}}总结:(1)象方法只能声明在抽象类中,使用关键字abstract(2)抽象类中的抽象方法必须被子类重写。【抽象方法没有方法体,子类必须重写方法体!!,因此抽象方法可以看成是一个没有方法体的虚方法】二、虚方法:使用virtual修饰的方法:虚方法可以有方法体。具体示例如下:publicclassBaseClass//创建一个基类{publicvirtualstringGetName()//使用virtual关键字创建父类中的虚方法{return"父类虚方法体":}}publicclassSubClass:BaseClass//子类继承父类{publicoverridestringGetName();//子类重写父类虚方法{return"重写父类虚方法!";}}以上的示例:父类中的虚方法被派生类重写了。注意事项:virtual修饰符不能与private、static、abstract、override修饰符同时使用。ps:override修饰符不能与new、static、virtual修饰符同时使用,并且重写方法只能用于重写基类中的虚方法。虚函数的限制:*虚函数仅适用于有继承关系的类对象,所以只有类的成员函数才能说明为虚函数;*静态成员函数、内联函数、构造函数不能是虚函数;*析构函数可以是虚函数。三、两者区别:总结:抽象方法是只有方法名称,没有方法体(也就是没有方法具体实现),子类必须重写父类抽象方法;虚函数是该方法有方法体,但是子类可以覆盖,也可不覆盖。(1)虚方法有方法体,抽象方法没有方法体。抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化;(2)抽象方法只能在抽象类中声明,虚方法不是;(3)派生类必须重写抽象类中的抽象方法,虚方法则不必要。[填空题]159.System.Array有一个()属性,通过它可以获取数组的长度。答案:Length解析:[填空题]160.对于方法,参数传递分为值传递和()两种。答案:引用传递解析:引用传递第4部分:判断题,共37题,请判断题目是否正确。[判断题]161.StreamWriter类的对象可以实现对文件进行追加内容的操作。A)正确B)错误答案:对解析:[判断题]162.静态类和实例类的区别在于:静态类不需要初始化即可直

温馨提示

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

评论

0/150

提交评论