CSharp模拟测试题与解答

合集下载

Csharp编程题

Csharp编程题

《C#程序设计》——编程题(上机操作题)1、从键盘输入一个正整数,按数字的相反顺序输出。

2、从键盘上输入两个整数,由用户回答它们的和,差,积,商和取余运算结果,并统计出正确答案的个数。

3、写一条for语句,计数条件为n从100~200,步长为2;然后再用while语句实现同样的循环。

4、编写一段程序,运行时向用户提问“你考了多少分?(0~100)”,接受输入后判断其等级并显示出来。

判断依据如下:等级={优(90~100分);良(80~89分);中(60~69分);差(0~59分);}5、输入一个整数,将各位数字反转输出。

6、使用穷举法并分别用for、while、do…while循环语句求出1~100之间的质数。

7、求出1~1000之间的所有能被7整除的数,并计算和输出每5个的和。

8、编写一个控制台程序,分别输出1~100之间的平方、平方根、自然对数、e指数的数学用表。

9、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。

10、编写一个矩形类,私有数据成员为举行的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置和的值,另外,类还包括矩形的周长、求面积、取举行的长度、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。

11、编写一个类,要求带有一个索引器可以存储100个整型变量。

12、编写一个类Cal1,实现加、减两种运算,然后,编写另一个派生类Cal2,实现乘、除两种运算。

13、建立三个类:居民、成人、官员。

居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。

要求每个类中都提供数据输入输出的功能。

14、编写一个类,其中包含一个排序的方法Sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。

15、设计一个类,要求用事件每10秒报告机器的当前时间。

CSharp模拟题全

CSharp模拟题全

1. ___ MSIL _______是独立于CPU 的指令集,它可以被高效地转换为特定于某种CPU 的代码.A. CLRB. CLSC. MSIL Microsoft 中间语言D. XML Web Service正确答案:C2. 在Visual 窗口中,在____类视图______窗口中可以察看当前项目的类和类型的层次信息.A. 解决方案资源管理器B. 类视图C. 资源视图D. 属性正确答案:B3. 关于C#语言的基本语法,下列哪些说法是正确的?A. C#语言使用using 关键字来引用.NET 预定义的名字空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行内;正确答案:A、C4. C#中每个int 类型的变量占用_______个字节的内存.A. 1 btye(0---255) sbtye(-128---127) bool(ture,false)B. 2 short(-32768---32767) unshort(0---32767) charC. 4 int uint floatD. 8 long ulong double 12 decimal精确的十进制值object不定(其他所有类型的基类型) string不定(任意长度的Unicode字符序列)正确答案:C5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?A. CString str;B. string str;C. Dim str as stringD. char * str;正确答案:B6. 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?A. decimal theMoney;B. int theMoney;C. string theMoney;D. Dim theMoney as double正确答案:A7. C#中,新建一字符串变量str,并将字符串”Tom's Living Room”保存到串中,则应该使用下列哪条语句?A. string str = “Tom\'s Living Room”;B. string str = “Tom's Living Room”;C. string str(“Tom's Living Room”);D. string str(“Tom”s Living Room”);正确答案:A8. 在类的定义中,类的__________描述了该类的对象的行为特征.A. 类名B. 方法正确答案:B9. 下列哪些语句中定义的变量属于引用类型变量?A. IInformation info; // IInformation 为一接口类型名引用类型:类,接口B. MyStruct x; //MyStruct 为一结构类型名C. int[] arr;D. MyEnum y; //MyEnum 为已定义的枚举类型名枚举、结构体类型为值类型正确答案:A、C10. 在下列函数结束后,马上从内存中清除的是_________.void Test(){int i = 100;int[] arr = new int[10];string str = “this is a test”;object r = new System.DateTime(1999,9,9);}A. 变量iB. 数组变量arrC. 变量str 所引用的字符串对象D. 变量r 所引用的DataTime 对象正确答案:A、B11. C#中MyClass 为一自定义类,其中有以下方法定义public void Hello(){..}使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类MyClass 的Hello 方法?A. obj.Hello();B. obj::Hello();C. MyClass.Hello();D. MyClass::Hello();正确答案:A12. 分析下列C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1{class MyClass{public class subClass{int i;}}}若必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择_________.A. private 访问只限于包含该成员的类,私有的B. protected 访问限于包含该成员的类及类的派生灯,保护的C. internal 访问只限于所在的程序集,只有在同一个程序集中才能访问D. public 访问不受限制,公共的还有一种是protected internal13. C#可以采用下列哪些技术来进行对象内部数据的隐藏?A. 静态成员B. 类成员的访问控制说明C. 属性D. 装箱(boxing)和拆箱(Unboxing)技术正确答案:B、C14. 分析下列程序:public class class4{private string _sData = ““;public string sData{set{_sData = value;}}}在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?A. obj.sData = “It is funny!”;B. Console.WriteLine(obj.sData);C. obj._sData = 100;D. obj.set(obj.sData);正确答案:A15. 分析下列程序中类MyClass 的定义class BaseClass{public int i;}class MyClass:BaseClass{public new int i;}则下列语句在Console 上的输出为_______.MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(“{0}, {1}”,x.i,y.i);(提示:注意类MyClass 中的new 关键字)A. 0, 0B. 100, 100C. 0, 100D. 100, 0正确答案:D16. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_________.A. sealed 方法封闭类B. public 方法公共类C. visual 方法虚方法D. override 方法重载基类正确答案:C17. 类MyClass 中有下列方法定义:public void testParams(params int[] arr){Console.Write (“使用Params参数!”);public void testParams(int x,int y){Console.Write (“使用两个整型参数!”);}请问上述方法重载有无二义性?若没有,则下列语句的输出为_________.MyClass x = new MyClass();x.testParams(0);x.testParams(0,1);x.testParams(0,1,2);A. 有语义二义性;B. 使用Params 参数!使用两个整型参数!使用Params 参数!C. 使用Params 参数!使用Params 参数!使用Params 参数!D. 使用Params 参数!使用两个整型参数!使用两个整型参数!正确答案:B18. 使用下列哪种方法可以减小一个ArrayList 对象的容量?A. 调用Remove 方法B. 调用Clear 方法C. 调用Trim(调整,修剪)ToSize 方法D. 设置Capacity 属性正确答案:C、D19. C#程序中,可使用try..catch 机制来处理程序出现的______错误.A. 语法B. 运行C. 逻辑D. 拼写正确答案:B20. C#中,在方法MyFunc 内部的try..catch 语句中,如果在try 代码块中发生异常,并且在当前的所有catch 块中都没有找到合适的catch 块,则A. .NET 运行时忽略该异常B. .NET 运行时马上强制退出该程序C. .NET 运行时继续在MyFunc 的调用堆栈中查找提供该异常处理的过程D. .NET 抛出一个新的”异常处理未找到”的异常正确答案:C21. 在C#中,下列哪些语句可以创建一个具有3 个初始值为”“的元素的字符串数组?A. string StrList[3](““);B. string[3] StrList = {““,”“,”“};C. string[] StrList = {““,”“,”“};D. string[] StrList = new string[3];正确答案:C22. 下列语句创建了多少个string 对象?string[,] strArray = new string[3,4];A. 0B. 3C. 4D. 1223. 接口Animal 定义如下:public interface Animal{void Move();则下列抽象类的定义中,哪些是不合法的?A. abstract class Cat: Animal{abstract public void Move();}B. abstract class Cat: Animal{vi rtual public void Move(){Console.Write(Console.Write(“Move!”);)}}C. abstract class Cat: Animal{public void Move(){Console.Write(Console.Write(“Move!”);)};}D. abstract class Cat: Animal{public void Eat(){Console.Write(Console.Write(“Eat!”);)};}正确答案:D24. _________命名空间中的类和接口用于创建Web 应用程序的页面?A. System.Drawing开发者可以在程序中实现任何有关绘图,图形或图像的操作B. System.IO该命名空间包含了用开读写文件的类型C. System.Web.UID. System.Web.Service该命名用生成使用xml System.Web.Service正确答案:C25. 在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的_________成员, 来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部.A. Append附加B. CreateC. CreateNewD. Truncate正确答案:A26. 下列语句的输出是________.191double MyDouble = 123456789;Console.WriteLine(“{0:E}”,MyDouble);A. $123,456,789.00B. 1.234568E+008C. 123,456,789.00D. 123456789.00正确答案:B27. 当创建一个新类时,该类将从System.Object 基类继承下列哪些方法?System.object包括To string ,Gethashcode,Equals,GettypeA. ToStringB. ToObjectC. EqualsD. GetClassInfomation正确答案:A、C28. 访问数据库时,使用连接模式同使用非连接模式相比有何优点?A. 更易于控制和维护,更安全B. 更容易进行并发控制D. 数据实时性更好,及时刷新正确答案:A、B、D29. 下列哪个类型的对象是 在非连接模式下处理数据内容的主要对象?A. CommandB. ConnectionC. DataAdapterD. DataSet正确答案:D30. 应用 访问数据时,Connection 对象的连接字符串中Initial Catalog 子串的含义是:A. Connection 对象连接到的数据库的名称 210B. Connection 对象的身份验证信息C. Connection 对象的最大连接时间D. Connection 对象使用的缓存大小正确答案:A31. 在Visual Studio .NET 中,新建DataAdapter 对象后,可使用___________来配置其属性.A. 数据适配器配置向导B. 数据窗体向导C. 服务器资源管理器D. 对象浏览器正确答案:A32. 使用Visual Studio .NET 的”新建C# 项目”创建一个名为”SimpleForm”的Windows表单应用程序,则在生成_______文件中可设置该程序集的Copyright、Trademark 等属性信息.A. Form1.resxB. SimpleForm.slnC. SimpleForm.csprojD. AssemblyInfo.cs正确答案:D33. 已知在某Windows Form 应用程序中,主窗口类为Form1, 程序入口为静态方法From1.Main.如下所示:public class Form1 : System.Windows.Forms.Form{//其他代码static void Main(){//在此添加合适代码}}则在Main 方法中打开主窗口的正确代码是:A. Application.Run(new Form1());B. Application.Open(new Form1());C. (new Form1()).Open();D. (new Form1()).Run();正确答案:A34. 在C#中,预处理器指令#region(地区,范围)和#endregion 的作用是:A. 注释#region 和#endregion 之间的代码B. 为Code Editor 定义一段可折叠代码区D. #region 和#endregion 之间的代码在Release 版本中不参加编译正确答案:B35. 用鼠标右击一个控件时出现的菜单一般称为:A. 主菜单B. 菜单项C. 快捷菜单D. 子菜单正确答案:C36. 变量openFileDialog1 引用一个OpenFileDialog 对象.为检查用户在退出对话框时是否单击了”打开”按钮,应检查openFileDialog1.ShowDialog()的返回值是否等于_______;A. DialogResult.OKB. DialogResult.YesC. DialogResult.NoD. DialogResult.Cancel正确答案:A37. C#程序中,为使变量myForm 引用的窗体对象显示为对话框,必须:A. 使用myForm.ShowDailog 方法显示对话框B. 将myForm 对象的isDialog 属性设为trueC. 将myForm 对象的FormBorderStyle 枚举属性设置为FixedDialogD. 将变量myForm 改为引用System.Windows.Dialog 类的对象正确答案:C38. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高.那么,在程序中,属性Button1.FlatStyle 的值应设定为:A. System.Windows.Forms.FlatStyle.FlatB. System.Windows.Forms.FlatStyle.PopupC. System.Windows.Forms.FlatStyle.StandardD. System.Windows.Forms.FlatStyle.System正确答案:B39. 为保护Web Service 不受恶意访问的攻击,应使用_______保护Web Service.A. IIS 目录安全性B. NTFS 安全性C. 共享目录安全性D. TCP/IP 安全性正确答案:A40. 下列哪些语言可以用来开发XML Web Service?A. CB. C++C. JavaD. C#正确答案:A、B、C、D41. Web 表单中,按钮的默认事件是A. Click 事件B. Load 事件C. Init 事件D. Command 事件正确答案:A42. Web 窗体文件的扩展名为B. ASPXC. ASCXD. HTML正确答案:B43. 使用”新建项目→ Visual C# Projects 项目→ Web 应用程序”成功创建URL 为”http://localhost/MyWeb”的Web 表单应用程序后,项目文件将保存在:A. 本地计算机Web 站点的MyWeb 虚拟目录下B. 本地文件共享MyWeb 中C. 另一台名为localhost 的计算机的Web 站点的MyWeb 虚拟目录下D. 本地目录c:\My Documents\MyWeb 下正确答案:A44. 关于 窗体应用程序,下列说法哪些是正确的?A. Web 窗体是在浏览器中进行解释执行的B. Web 窗体程序中脚本和代码必须严格分开C. Web 窗体程序产生的HTML 页面只能运行于IE 浏览器D. Web 窗体程序的代码可以使用任何一种.NET 兼容的编程语言编写正确答案:D45. 在使用C#.NET 部署Web 项目时,使用”复制项目”与建立部署项目相比看到这里A. 二者功能完全一样B. 后者功能更强大C. 前者操作更简便D. 前者只能在本地计算机内部使用正确答案:B、C46. 作为程序员,你需要为公司开发一套供员工使用的个人信息管理软件.软件需求之一是: 令每个员工可以在公司的任意一台安装有该程序的工作站上,以自己喜爱的自定义界面运行该程序.为满足该需求,程序应优先采取下列何种策略保存每位用户的自定义设置?A. 将个人设置保存到本地计算机硬盘的XML 文件中;B. 将个人设置保存到公司的SQL Server 数据库服务器中;C. 将个人设置保存到本地计算机的注册表中;D. 将个人设置保存到软盘中;正确答案:B47. C#程序中,下列哪些预处理指令用于条件编译?A. #ifB. #ifdefC. #RegionD. #error正确答案:A48. 关于结构类型,下列说法哪些是正确的?A. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针E. 不能使用new 关键字创建结构类型的实例正确答案:A49. 关于线程和进程,下列说法哪些是正确的?A. 线程是操作系统分配处理器时间的基本单位;B. 进程是操作系统分配处理器时间的基本单位;C. 一个线程可以属于多个进程;正确答案:A、D50. .NET 安全框架中,应用程序所属的”角色”是指:A. 启动该程序的用户必须处于的Windows 本地组B. 该程序运行时使用哪个Windows 用户账号访问系统资源C. .NET 框架定义的一组Principal 对象的集合,符合这些Principal 的程序就属于该角色D. .NET 框架定义的一组资源对象的集合,处于该组的程序可以访问该组的资源正确答案:C开发ASP.NETWeb应用程序最好的开发工具是: (D ).A NotepadB microsoft Frontpage 2000C microsoft word 2000D microsoft Visual 下列哪些运算符是属于”右结合”的? ( ).A 赋值运算符B 元运算符C 一元运算符++D 移位运算符<<和>>下列语句在控制台上的输出是什么? ( )if(ture)System.Console.WriteLine(“FirstMessage”);System.Console.WriteLine(“SecondMessage”);A FirstMessageSecondMessageB SecondmessageC 无输出D FirstMessage正确答案:A在缩写C#程序时,叵需要对一个数组中的所有元素进行处理,则使用( )循环体最好.A while循环B for each循环C do 循环D for循环在C#程序中.入中函数的正确声明为: (A B C ).A static int main( ){……}B static void main( ){……}C static void main( ){……}D static main( ){……}6.已知名字空间CompanyName尚未定义.请问下列名字空间的定义是否合法? ( ). namespace CompanyName.Salespublic class Cusomernamespace CompanyName.Sales{public class Customer// 类的内容A 合法B 不合法正确答案:A8.已知名字空间CompanyName尚未定义.请问下列名字空间的定义是否合法?( ) namespace CompanyName.Sales{public class CustomerA.合法B.不合法9. 在Queue类中,Enqueue方法的作用是: ( ).A 将队列末端元素出队列B 将队列前端元素出队列C 在队列前端压入新的元素D 在队列末端加入新的元素正确答案:d10. 在Queue类中,移除并返回队列前端对象的方法是:()ADepueueB EnpueueC PeekD Pop正确答案:a11. 在stack类中,移除并返回栈顶元素的方法是:().ADepueueB PeekC PushD Pop正确答案:d13. 某数字队列中,入列顺序为1.2.3则可能的出队列顺序是:().A3.1.2B3.2.1C1.3.2D1.2.3正确答案:d14. 在哈希表中,对象所属的哈希桶的地址是由( )决定的.A 为该对象设置的键值B 该对象所属的类C 该对象的物理存放地址D 该对象插入哈希表之前, 哈希表内的对象个数正确答案:a15. 为从标准文本文件(如: readme,txt)中读取信息行,应使用( )操作文件.A XmltextReaderB XmlReaderD StreamReader正确答案:c16, 为从某个网站访问xml信息,应使用( _)类的对象分析下载回的xml文档A StreamReaderB TextReaderC XmlReaderD XmlTextReader正确答案:d,c17. 为快速声称包含xml数据的文件,可使用( )类创建对象.ATextWriterB StreamWriterC XmlWriterD XmlTexWriter正确答案:d18读取图形文件时,应使用()类的对象.ATextReaderB XmlTextReaderC StreamReaderD BinaryReader正确答案:d19dataTable是数据集myDataSet中的数据表对象.有10条记录,调用下列代码后.DataTable中还有哪几条记录?()(假设dataTable打开后,未进行其他操作)dataTable.Row[9].Delete();myDataSet.AcceptChanges();A 1B 9C 0D 10正确答案:b20在中,表示程序到数据的连接的对象为().AConnection对象BConmand对象CDataSet对象DDataAdapter正确答案:a21. 在中,执行数据库的某个存储过程,则少需要创建()并设置它们的属性,调用合适的方法.A一个Comman对象和一个DataAdapter对象B一个Command对象和一个Datase对象C一个Connection对象和一个DataSet对象D一个Connetction对象和一个Command对象正确答案:d22.在Visual 窗口中处理HTML文档时,可以使用( )窗口来编辑某HTML元素的Text、Title、Style等信息. A资源视图B类视图C属性D解决方案资源管理器正确答案:C23.C#中执行下列语句后.n的值为多少?( 42)int n =21;n <<=1;n=42n =1n=21n=2024.下列那些运算符是属于”右结合”的?( )A.元运算符newB.一元运算符++C.赋值运算符D.移位运算符《和》25.在C#中设计类时,应如何保证在释放对象的所有引用之前,释放对象使用的文件、网络等资源?(析构函数)为类添加析构函数,在析构函数中释放资源为类重载new运算符为类实现IDisposable接口.并实现Dispose方法,在该方法中释放资源为类添加delete运算符26.在C#中,下列类的定义是否合法?( )public class Tom:Jerry { } public class Jerry:Tom { }A.不合法B.合法正确答案:a27.在System.Collection的名字空间中,下列哪个类实现了一种数据结构,这种数据结构支持使用键值来索引结构中存放的对象?( )A.ArrayList类B.Stack类C.Hashtable类D.Queue类正确答案:C28.在Stack类中,移除并返回1,2,3,则可能的出队列顺序为: ( )A.3,2,1B.3,1,2C.1,2,3D.1,3,2正确答案:C29.接口ImyInterface的定义如下:public interface ImyInterface { string Name {get;set;} }(后还有未完)A.不合法B.合法正确答案:B30.分析下列语句:System.DateTime dt = new System.DateTime(2004,6,6,10,20,0);若按照”长日期格式”在控制台上输出dt 的值,应选用语句( ).A.Console.WriteLine(dt.ToString(“d”);B.Console.WriteLine(dt.ToString(“D”);C.Console.WriteLine(dt.ToString(“t”);D.Console.WriteLine(dt.ToString(“T”);正确答案:B31.在Visual Studio. NET窗口,( )窗口显示了当前Visual Studio.解决方案的树型结构.A.类视图B.解决方案资源管理器C.资源视图D.属性正确答案:B32.class Class1{srting n_Name = “MyProgram”;[STAThead]static void Main(string[] args){System.Console.Write(str);}}现在打开调试窗口中的”This窗口”,Visual 调试窗口如下;(图片)则在This窗口中,会提示什么信息?( )A.成员变量n_Name及其值B.局部变量str及其值C.局部变量str及其值、成员n_Name及其值D.无内容33 {string n_Info = “This is a test”;void printInfo(){string tnp = n_Info;System.Console.WriteLine(tnp);}[STA Thread]static void Main(string[] args)(class1 x = new Class1();x.printInfo();}}A变量tnp的值B变量n_Info的值C函数printInfo的地址D数组args的值33.某程序的代码编辑器状态如下;[STA Thread]string void Main(string[] args){class1 x = new Class1();x.printInfo();System.Console.WriteLine(“Program Exit!”);}已知Main函数内设置了一个断点,以便进行调试.根据上图判断,该断点在哪一行处?( )A.x.printInfo();B.System.Console.WriteLine(“Program Exit!”);C.Class1 x = new Class1();static void Main(string[] args)正确答案:B34. 下列语句在控制台上的输出是多少?( )string msg = @”Hello\nWorld!”;System.Console.WriteLine(“msg”);A.Hello\nWorld!B.@”Hello\nWorld!”C.Hello World!D.HelloWorld!正确答案:A35.在为自定义类取名时,Micosoft推荐使用的命名规范是: ( ).AHungarian notationB随便起名字CcanelDPascal正确答案:D36.下列函数执行结束后,函数体中由变量s引用的对象将在何时被.NET垃圾回收系统从内存中删除(MyClass为类名)?V oid Test(){object s = new MyClass();}A.函数结束后的某个无法确定的时刻B.函数结束后1分钟C.永远不会被删除D.函数结束后立刻删除正确答案:D37. {internal class MyClass{public class subClass{int I;}}}则类MyClass.SubClass的可访问域为: ( ).A.定义时MyClass所在的程序集B.在所有引用ClassLibrary1的程序中可用,但限于MyClass的内部C.访问不受限制D.在所有引用ClassLibrary1的程序集中可用,但限于MyClass的派生类中正确答案:A38.下列类MyClass的Name属性是否正确?( )(提示:从抽象类派生类的规则)public abstract class Base{public abstract string Name{get,set;}}public class MyClass{string _nsg;public override string Name {get{return this._nsg;}}}A不正确B正确正确答案:A39.下列类的定义是否合法?( ) (提示:注意两个类的访问修饰符的不同)internal class Base{}public class MyClass:Base{}A.合法B.不合法正确答案:B40.在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?( )A.将Name的set块删除B.将Name的set块置空C.将Name的set块前加修饰符privateD.将Name添加readonly修饰符正确答案:A41.(上空)}则下列语句的输出是什么?()BaseInterface x =new MyClass2();x.ShowClassName();A.无输出B.in MyClass1;C.in MyClass2;D.in MyClass1; MyClass2;42.通过继承()类,用户可以创建自己的异常类.A System.ExceptionB System.SystemExceptionC System.ApplicationExceptionD erException正确答案:A43.代理类型MyDelete定义如下:public delete void MyDelete();d1、d2、d3是代理MyDelete的3个变量,并且分别以下表进行了方法绑定:44在窗口中. ()窗口提供了连接到本地或远程计算机上数据库并进行管理的功能.A工具箱B资源视图C解决主需资源管理器D服务器资源管理器正确答案:D45. 在下面的类定义中,缺省构造函数的作用是( ).Public class MyClass{private MyClass( ){}public static int counter;public static int increnentCounter(){return ++counter;return ++counter;}}A 在创建类的实例时初始化类的域B 因为是private的,因此不起任何作用C 防止创建类的实例正确答案:C46. 在下列语句中,变量arr本身()中创建的.Int[] arr = new int(10);A 堆B 栈正确答案:B47. 下列函数定义中,哪条语句是非法的? ( ) (语句编号在语句后的//处)void Test ( ){int I =100 //1object s= I ; //2int k=s; //非法int k=(int)s; //合法}A 2B 3C 1D 没有48. 在visual 窗口中,( )窗口提供了连接本地计算机或远程计算机上数据库并进行管理的功能.A 工具箱B 资源视图C 解决方需要资源管理器D 服务器资源管理器49C#中执行下列语句后.N的值为多少?(B)int n=0x00f0;n &=0x0f00;A.0x00f0B.0C.falseD.true50在编写C#程序时,若需要一个数组中的所有元素进行处理,则使用(B)循环体最好. A.for循环B.f or each循环C.w hile循环D.do循环题号7/50下列函数定义中,第3条语句是否合法?(A)void Test(){int i=100;object s=is+=200;}A.不合法B.合法51分析以下程序.注意静态构造函数内使用的赋值语句为counter=0.public class staticClass{static private int _counter;//私有构造函数防止对象生成private staticClass(){Console.Write(“init”);}static public int counter{get{Console.Write(“get!”); return _counter;;}set{Console.Write(:set!”); _counter=value;}}}则调用语句ClassLibrary1.staticClass.counter=100;输出是(D).A.set! init! set!B.set! Init!C.init! set!D.set52面向对象编程中的”继承”的概念是指(B)A 派生类对象可以不受限制地访问所有的基类对象B 派生自同一个基类的不同类的对象具有一些共同特征C 对象之间通过消息进行交互D 对象的内部细节被隐藏53在Queue类中,移动并返回队列前端对象的方法是:(Dequeue).PeekPopDequeueEnqueue54在哈希表中,对象所属的哈希桶地址是由(D)决定的.A.该对象插入哈希表之前,哈希表内的对象个数B.该对象的物理存放地址C.该对象所属的类D.为该对象设置的键值55在,将用户在DataSet中进行的改动保存到数据源中,应使用下列哪个方法?(B) A.DataAdapter对象的Fill方法B.D ataAdapter对象的Update方法C.D ataSet对象的AcceptChanges方法D.DataSet对象的RejectChanges方法56在中,可以在DataSet中维护(D)对象的集合来管理表间的导航关系.A.DataTableB.D ataRowC.D ataColumnD.DataRelation57显示消息框时,MessageBoxIcon枚举中的Error成员可在消息框中添加一个图标,该图标的形状是(C).A.iB.?C.χD.!58显示消息框时,MessageBoxIcon枚举中的Information成员可在消息框中添加一个图标,该图标的形状是(C).A.!B.?C.iD.χ59显示消息框时,MessageBoxIcon枚举中的Question成员可在消息框中添加一个图标,该图标的形状是(A).A.?B.!C.iD.χ60显示消息框时,MessageBoxIcon枚举中的Warning成员可在消息框中添加一个图标,该图标的形状是().χi?!61下列说法是否正确?(正确)模态对话框是这样的对话框:打开对话框后,用户只能在对话框中进行操作;必须等其关闭后,用户才能与程序其他部分进行交互.错误正确62下列说法是否正确?(B)非模态对话框是这样的对话框:打开对话框后,用户只能在对话框中进行操作;必须等其关闭后,用户才能与程序其他部分进行交互.A.正确B.错误63在C# Windows表单应用程序中,如何将一个对话框对象myDialog显示为模态对话框?(B)A.调用myDialog.Show();B.调用myDialog.ShowDialog ();C.调用System.Forms.Dialog.Show(myDialog);D.调用System.Forms.Dialog.Show Dialog (myDialog);64在C# Windows表单应用程序中,如何将一个对话框对象myDialog显示为非模态对话框?(A)A.调用myDialog.Show();B.调用myDialog.ShowDialog ();C.调用System.Forms.Dialog.Show(myDialog);D.调用System.Forms.Dialog.Show Dialog (myDialog);65下列语句的输出是(C).Double MyDouble=9999.99;Console.WriteLine(“{0:#,#.##}”,MyDouble);A.9,9.99B.999,9.99C.9,999.99D.9999.9966下列语句的输出是(C).Double MyDouble=9999.99;Console.WriteLine(“{0:#,#}”,MyDouble);A.9999.9B.9,999.99C.10000.0D.9.967在,为将用户在DataSet中进行的改动保存到数据源中,应使用下列哪个方法?()A.对象浏览器B.服务器管理器C.数据窗体向导D.数据适配器配置向导68在,为将用户在DataSet中进行的改动保存到数据源中,应使用下列哪个方法?(G) E.DataAdapter对象的Fill方法F.DataSet对象的Fill方法G.DataAdapter对象的Update方法H.DataSet对象的Update方法69下列语句的输出是什么?( )Base Interface X=new Myclass2();X.Test();单项选择题A无输出,B in myclass1;C in myclass2;D in myclass1;in myclass2.70下列语句的输出是什么?(C )Double mydouble=123456789;Console.Writeline(”{0:N}”,mydouble);单项选择题A $123,456,789.00;B 1.234568E+008C 123,456,789.00D 123456789.0071 下列语句的输出是什么?(D)Double mydouble=123456789;Console.Writeline(”{0:F}”,mydouble);单项选择题A 1.234568E+008,B 123,456,789.00;C $123,456,789.00;D 123456789.0072 在visual 窗口中,在( C)窗口中可以浏览与当前项目相关的菜单`字符串表,对话框等信息. 单项选择题A 解决方案资源管理器,B 类视图,C 资源视图,D 属性73 下列语句在控制台上的输出是什么?(C )If(true)System.Console.writeline(”FirstMessage”);System.Console.writeline(”SecondMessage”);单选题:A secondmessage;Bfirstmessage;C firstmessage secondmessageD 无输出.74在c#程序中,入口函数的正确声明为:( B C D),A void main(){......}B static void main(){......}C static int main() {......}D static void main() {......}75. C#中每个bool类型量占用( 1)个字节的内容.A 4B 2C 8D 176. C#中每个char类型量占用( 2 )个字节的内容.A 1B 2C 4D 877 c#中每个bool类型的变量占用(1 )个字节的内存.单选题A8,B4,C2;D178 c#中每个char类型的变量占用( 2)个字节的内存.单选题A8,B4,C2;D179 c#中每个bool类型的变量占用( 1)个字节的内存.单选题A8,B4,C2;D this.Data=100;80在类myclass中定义下列的域和方法:private int data;Void showinformation(){ string data=“this is a joke!”;//代码}现在需要编写代码在showinformation中将myclass当前对象的data域赋值为100.正确的句子为(D ). 单选题A self.Data=100;B me.Data=100;C data=100;D this.Data=100.81 下列语句是类myclass的一部分,obj是myclass的一个对象.Void change(int i){i++}Public void test(){Int a=100;Change(a);Console.Writeline(a);}则调用obj.test后,控制台输出(B ),A 0;B 100;C101;82下列语句是类myclass的一部分,obj是myclass的一个对象.Void change(ref int i){}Public void test(){Int a=100;Change(ref a);Console.Writeline(a);}则调用obj.test()后,控制台输出( A ).A 101;B 100;C 0.83.下列函数定义中,第3条语句是否合法? (B )Void Test(){Int i=100;Object s=i;S+=200;}A 合法B 不合法84下列类的定义中哪些是合法的抽象类? (D)A sealed abstract class c1{ abstract public void test() {}B abstract sealed public void test();C abstract class c1{ abstract void test();//test()默认为私有,不合法D abstract class c1{ abstract public void test();85类class1,class2,class3的定义如下:Abstract class class1{Abstract public void test();}Class class2:class1{Public override void test() {Console.write(“class2”);}}Class class3:class2{Public override void test(){Console.write(“class3”);}}则下列语句的输出是什么?(B)(提示:从抽象类的规则)Class1 x=new class3();x.test();A class3 class2B class3C class2 class3D class2注意:class3 x=new class2();//错误86接口MyInterface的定义如下:Public interface MyInterface{String Name {get;}}类MyClass定义如下:class MyClass:MyInterface{string Name {get {return "only a test!";}}}则下列语句的编译,运行结果如何?(C)MyInterface x=new MyClass();Console.writeLine();A 运行正常,输出字符串”only a test!”B 可以编译通过,但运行出现异常C 编译出错87public interface BaseInterface{Void Test();}Public class MyClass1:BaseInterface{ public void Test(){Console.write(“in Myclass1;”);}Public void Test(){Console.write(“in Myclass2;”);}则下列输出是什么?(C)BaseInterface x=new Myclass2();x.Test();A in Myclass1;B in Myclass2;C 无输出D in Myclass1;in Myclass2;88下列语句的输出是(A).double MyDouble=0.2;Console.writeLine(“{0:#%}”,MyDouble);A 20%B 0.2%C #%D {0:#%}89下列的语句的输出是(A)double MyDouble=9999.99;Console.writeLine(“{0:#,#.##}”,MyDouble);A 9,999.9B 999,9.9C 9999.9D 9,9.9990下列语句的输出是(D)double MyDouble=9999.94;Console.writerLine(“{0:#.#}”,MyDouble);A 9.9B 10000.0C 9,999.99D 9999.991在中,DataAdapter对象下列哪个Command属性用于将DataSet 中的新增记录保到数据源?(C)A Delete CommandB Update CommandC Insert CommandD Select Command92在中,使用DataAdapter将数据源填充到DataSet,应使用下列哪个方法?(D)A DataAdapter对象的Update方法B DataSet对象的Fill方法C DataSet对象的Update方法D DataAdapter对象的Fill方法93C#中执行下列语句后,n的值为多少?()Int n=oxofo;n 4=oxofoo;A oB oxoffoC falseD true94下列哪些运算符是属于”右结合”的?()A 赋值运算符B 运算符newC 一元运算符++D 移位运算符《和》95下列语句在控制台上的输出是什么?(C)If(true)System.Console.writeLine(“FirstMessage”);System.Console.writeLine(“SecondMessage”);A SecondMessageB FirstMessageC FirstMessage SecondMessageD 无输出96{int a=100;change(a);Console.writeLine(a);}则调用obj.test()后,控制台输出();A 101B 100C 097下列语句是类Myclass的一部分,obj是Myclass的一个对象.Void change(string str){Str=“new string”;}Public void test(){String s=“old string”Change(s);Console.writeLine(s);}98则调用obj.test()后,控制台输出(B)A new stringB old string99C#中,下列Myclass的定义是否合法?(不合法)Public class Base1{}Public class Base2{}Public Myclass:Base1,Base2{}100 分析下列类的定义:Public class Base{Protected Base1(){Console.write(“Base!”);}//保护的Public Myclass(){Console.write(“Myclass!”);}}在Main中执行下列语句后,Ccosolede的输出为()Myclass obj=new Myclass();A Myclass!B Base!Myclass!C Base!D Myclass!Base!1.在Visual 窗口中,(D )窗口显示了当前Visual 解决方案的树形结构.A 资源视图B 类视图C 属性D 解决方案资源管理器2. 在类Myclass中定义下列域和方法:Private int data:V oid ShowInformation(){ string data=“this is a JOKE!”;}现在需要编写代码在ShowInformation中将MyClass当前对的data域赋值为100. (D)A self.data = 100;B data = 100;C me.,data = 100;D this.data = 100;3 面向对象编程中的”继承”的概念是指(B).A 对象之间通过消息进行交互B 派生自同一个基类的不同类的对象具有一些共同特征C 对象的内部斤细节被隐藏D 派生类对象可以不受限制地访问所有的基类对象。

C sharp 基础 习题

C sharp 基础 习题

变量练习
• 3.定义四个变量,分别存储一个人的姓
名、性别、年龄、电话。然后打印在屏 幕上 (我叫X,我今年 X岁了,我是X生,我 的电话是XX) • 4.在屏幕上输出:我的手机是philips 型号:998 价格:1500元 重量:0.3kg
• 5.定义两个变量如:a b分别赋值为10和5,
写程序交换两个变量的值
• •
并显示出来? Convert不再仅是内存级别的转换,而是考虑数据意义 的转换。Convert是一个加工、改造的过程 通过 Convert.ToInt32(能转换成int类型的数据)来把其 他类型数据转换成int类型 练习: 让用户输入姓名 语文 数学 英语 三门课的成绩,然后给 用户显示:XX,你的总成绩为XX分,平均成绩为XX分。
– 直到学生会为止,才可以放学. – 直到学生会或老师给他讲了10遍还不会,都要放学
• 2006年培养学员80000人,每年增长25%,请问
按此增长速度,到哪一年培训学员人数将达到20 万人?
练习:
练习1:计算1到100之间整数的和; 练习2:要求用户输入用户名和密码,只要不是admin、888888 就一直提示用户名或密码错误,请重新输入。 练习3:不断要求用户输入学生姓名,输入q结束. 练习4:不断要求用户输入一个数字,然后打印这个数字的二倍, 当用户输入q的时候程序退出。 练习5:不断要求用户输入一个数字(假定用户输入的都是正整 数),当用户输入end的时候显示刚才输入的数字中的最大 值 练习6:张三先唱一遍要表演的歌曲,老师觉得张三唱歌不过关,就 让张三再唱一遍,老师满意则张三可以下课,不然则需要再唱 一遍,再问老师是否满意...
练习,自己写一个方法
1 读取输入的整数,定义成方法,多次调 用(如果用户输入的是数字,则返回,否则 提示用户重新输入) 2 还记得学循环时做的那道题吗?只允许 用户输入y或n,请改成方法 3查找两个整数中的最大值:int Max(int i1,int i2) 4计算输入数组的和:int Sum(int[] values)

C#练习题

C#练习题
a) 位移运算符<<和>> b) 一元运算符++ c) 一元运算符 new d) 赋值运算符
大部分运算符是“左结合”的,但赋值运算符是“右结合”的。
填空题(20 空)
21. 若想打印如下图案,则
int i, j; i = 1;
while(i < ○1 4 ){
for(j = 0; j < ○2 3 ; j++){
2. 使用 C#语言开发程序时,对于一组五个元素的数据(如:71、11、4、67、39),为 了把该组数据按升序排序,如果采用冒泡排序法,需要比较()次。 a) 6 b) 8 c) 10 d) 16 N 个数进行冒泡排序,需要比较(N – 1) + (N - 2) + … + 1
5 个数进行冒泡排序,需要比较(5 - 1) + (5 - 2) + (5 - 3) + (5 - 4) = 10 3. 在 C#语言中,运行下面这段代码的结果为()。(选择一项)
public void Add(int a,int b ,int c) b) public void SayHi(string a,int b)
public void SayHi(string a,string b) c) public void Sub(int a,int b)
public int Sub(int a,int b) d) public int Multiply(int a,int b)
d) namespace using 用于引入命名空间;namespace 用于定义命名空间。 16. 在 C#中,可以使用枚举变量来避免不合理的赋值,以下关于枚举说法错误的是()。 a) 枚举是一个指定的常数 b) 枚举表示一组有限的值 c) 枚举中可以有自己的方法 d) 可以为枚举类型中的元素赋值整数值 枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符 号)整数类型(如 Byte、Int32 或 UInt64)。 对于枚举还有以下附加限制: 它们不能定义自己的方法。 它们不能实现接口。 它们不能定义属性或事件。 除非枚举只是因为嵌套在泛型类型中因而成为泛型,否则枚举不能为泛型。也就

csharp试题

csharp试题

C#考试一、不定项选择题,(每小题2分,共20分,)1.下列选项中,()是引用类型。

a)enum类型b)struct类型c)string类型 d)int类型2.以下描述错误的是()a)在C++中支持抽象类而在C#中不支持抽象类。

b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

c)在C#中可使用new 修饰符显式隐藏从基类继承的成员。

d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

3.声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是()。

a)void myCallBack(int x) ;b)int receive(int num) ;c)string receive(int x) ;d)不确定的;4.下列描述错误的是()a)类不可以多重继承而接口可以;b)抽象类自身可以定义成员而接口不可以;c)抽象类和接口都不能被实例化;d)一个类可以有多个基类和多个基接口;5.下列关于构造函数的描述正确的是()a)构造函数可以声明返回类型。

b)构造函数不可以用private修饰c)构造函数必须与类名相同d)构造函数不能带参数6.以下是一些C#中的枚举型的定义,其中错误的用法有()a)public enum var1{ Mike = 100, Nike = 102, Jike } b)public enum var1{ Mike = 100, Nike, Jike }c)public enum var1{ Mike=-1 , Nike, Jike } d)public enum var1{ Mike , Nike , Jike }7.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是()。

VisualCSharp练习

VisualCSharp练习

VisualCSharp练习Visual C#综合练习1、分析下列程序中类MyClass 的定义class BaseClass{public int i;}class MyClass:BaseClass{public new int i;}则下列语句在Console 上的输出为_______.MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(“ {0}, {1}”,x.i,y.i);A. 0, 0B. 100, 100C. 0, 100D. 100, 02、哪个命名空间中的类和接⼝⽤于创建Web应⽤程序的页⾯?()A. System.Drawing开发者可以在程序中实现任何有关绘图,图形或图像的操作B. System.IO该命名空间包含了⽤开读写⽂件的类型C. System.Web.UID. System.Web.Service该命名⽤⽣成使⽤xml System.Web.Service3、下列哪个类型的对象是/doc/bf16409411.html 在⾮连接模式下处理数据内容的主要对象?()A. CommandB. ConnectionC. DataAdapterD. DataSet4、已知在某Windows Form 应⽤程序中,主窗⼝类为Form1, 程序⼊⼝为静态⽅法From1.Main.如下所⽰:public class Form1 : System.Windows.Forms.Form{ //其他代码static void Main(){//在此添加合适代码}}则在Main ⽅法中打开主窗⼝的正确代码是: ()A. Application.Run(new Form1());B. Application.Open(new Form1());C. (new Form1()).Open();D. (new Form1()).Run();5、关于/doc/bf16409411.html窗体应⽤程序,下列说法哪些是正确的?A. Web 窗体是在浏览器中进⾏解释执⾏的B. Web 窗体程序中脚本和代码必须严格分开C. Web 窗体程序产⽣的HTML页⾯只能运⾏于IE浏览器D. Web 窗体程序的代码可以使⽤任何⼀种.NET兼容的编程语⾔编写6、在/doc/bf16409411.html中,通过执⾏ Command 对象的ExecuteReader ⽅法返回的DataReader 对象是⼀种( ).A 可向前向后的只读的结果集B 只向前的可读可写的结果集C 可向前向后的可读可写的结果集D 只向前的只读的结果集7、在/doc/bf16409411.html,将⽤户在DataSet 中进⾏的改动保存到数据源中,应使⽤下列哪个⽅法?( )A.DataAdapter 对象的Fill ⽅法B.DataAdapter 对象的Update ⽅法C.DataSet 对象的AcceptChanges ⽅法D.DataSet 对象的RejectChanges ⽅法8、变量menuItem1 引⽤⼀个菜单项对象,为使该菜单项变为”灰⾊不可选”状态, 应对menuItem1的哪个属性进⾏操作?( )A. EnabledB. CheckedC. VisibleD. Text9、在Windows Form 程序中,对某 ComboBox 对象有以下要求:控件的列表框部分总是可见的, 且⽤户可以编辑⽂本框控件的⽂本. 则该ComboBox对象的DropDownStyle 属性应设置为ComboBoxStyle 枚举类型中的( )值.A DropDownB DropDownListC SimpleD Edit10、以下的C#代码,试图⽤来定义⼀个接⼝:public interface IFile{int A;int delFile(){A = 3;}void disFile();}关于以上的代码,以下描述错误的是( )(A)以上的代码中存在的错误包括:不能在接⼝中定义变量,所以int A代码⾏将出现错误;(B)以上的代码中存在的错误包括:接⼝⽅法delFile是不允许实现的,所以不能编写具体的实现函数;(C)代码void disFile();声明⽆错误,接⼝可以没有返回值;(D)代码void disFile();应该编写为void disFile(){};11. ⽤⿏标右击⼀个控件时出现的菜单⼀般称为: ()A. 主菜单B. 菜单项C. 快捷菜单D. ⼦菜单12. 变量openFileDialog1 引⽤⼀个OpenFileDialog 对象.为检查⽤户在退出对话框时是否单击了”打开”按钮,应检查openFileDialog1.ShowDialog()的返回值是否等于_______;A. DialogResult.OKB. DialogResult.YesC. DialogResult.NoD. DialogResult.Cancel13.dataTable 是数据集myDataSet 中的数据表对象.有10条记录,调⽤下列代码后.DataTable 中还有哪⼏条记录?( )(假设dataTable 打开后,未进⾏其他操作)dataTable.Row[9].Delete();myDataSet.AcceptChanges();A 1B 9C 0D 1014. 在/doc/bf16409411.html窗⼝中,( )窗⼝提供了连接到本地或远程计算机上数据库并进⾏管理的功能.A⼯具箱B资源视图C解决⽅案源管理器D服务器资源管理器15.显⽰消息框时,MessageBoxIcon 枚举中的Error 成员可在消息框中添加⼀个图标,该图标的形状是( ).A.iB.?C.χD.!16.SQL语句“delete from department”,需要SqlCommand对象的哪⼀个⽅法在执⾏?(A) ExecuteNonQuery() (B) ExecuteScalar()(C) ExecuteReader() (D) ExecuteXmlReader()17. ⽤⿏标右击⼀个控件时出现的菜单⼀般称为:A. 主菜单B. 菜单项C. 快捷菜单D. ⼦菜单18. Windows Form 应⽤程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当⿏标指针移动到它上⾯时,按钮升⾼。

Csharp试题汇总(有答案)

Csharp试题汇总(有答案)

一、单项选择题(每小题2分,共20分)1.在类作用域中能够通过直接使用该类的()成员名进行访问。

A. 私有B. 公用C. 保护D. 任何2.小数类型(decimal)和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低3.能作为C#程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件4. 可用作C#程序用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof5.引用类型主要有4种:类类型、数组类型、接口类型和()。

A.对象类型B.字符串类型C.委托类型D.整数类型6.加载窗体时触发的事件是( )。

A. ClickB.LoadC.GotFoucsD.DoubleClick7.改变窗体的标题,需修改的窗体属性是( )。

A. TextB. NameC.TitleD. Index8.在C#中定义接口时,使用的关键字是( )。

A.interfaceB.:C.classD.overrides9.在类的成员中,用于存储属性值的是( )。

A. 属性B. 方法C. 事件D.成员变量10.在C#中,定义派生类时,指定其基类应使用的语句是( )。

A.InheritsB.:C.ClassD.Overrides11.类的以下特性中,可以用于方便地重用已有的代码和数据的是( ).A.多态B.封装C.继承D.抽象12.在Array类中,可以对一维数组中的元素进行排序的方法是( )。

A.Sort()B.Clear()C.Copy()D.Reverse()13.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。

A.Str()harC.CStr()D.int.Parse();14.数据类型转换的类是( )。

Csharp面试题

Csharp面试题

Csharp⾯试题c#⾯试问题 [转]1.传⼊某个属性的set⽅法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同。

2.如何在C#中实现继承?在类名后加上⼀个冒号,再加上基类的名称。

3.C#⽀持多重继承么?不⽀持。

可以⽤接⼝来实现。

4.被protected修饰的属性/⽅法在何处可以访问?在继承或间接继承与这个类的⼦类中可以访问。

5.私有成员会被继承么?会,但是不能被访问。

所以看上去他们似乎是不能被继承的,但实际上确实被继承了。

6.请描述⼀下修饰符protected internal。

被protected internal修饰的属性/⽅法只能在它的在同⼀个程序集(Assembly)中的⼦类被访问。

7.C#提供⼀个默认的⽆参数构造函数,当我实现了另外⼀个有⼀个参数的构造函数时候,还想保留这个⽆参数的构造函数。

这样我应该写⼏个构造函数?两个,⼀旦你实现了⼀个构造函数,C#就不会再提供默认的构造函数了,所以需要⼿动实现那个⽆参数构造函数。

8.C#中所有对象共同的基类是什么?System.Object.9.重载和覆写有什么区别?重载提供了对⼀个⽅法签名的不同参数调⽤的实现。

覆写提供了⼦类中改变⽗类⽅法⾏为的实现。

10.在⽅法定义中,virtual有什么含意?被virtual修饰的⽅法可以被⼦类覆写。

11.能够将⾮静态的⽅法覆写成静态⽅法么?不能,覆写⽅法的签名必须与被覆写⽅法的签名保持⼀致,除了将virtual改为override。

12.可以覆写私有的虚⽅法么?不可以,甚⾄⼦类中⽆法访问⽗类中的私有⽅法。

13.能够阻⽌某⼀个类被其他类继承么?可以,使⽤关键字sealed。

14.能够实现允许某个类被继承,但不允许其中的某个⽅法被覆写么?可以,标记这个类为public,并标记这个⽅法为sealed。

15.什么是抽象类(abstract class)?⼀种不可以被实例化的类。

抽象类中⼀般含有抽象⽅法,当然也可有具体实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟测试题一、选择题(单选)1.short类型的变量在内存中占据的位数是 B 。

A. 8B. 16C. 32D.642.对于int[4, 5]型的数组a,数组元素a [2, 3]存储在数组第C 个位置上A. 11B. 12C. 14D. 153.设int型变量x、y、z的值分别为2、3、6,那么执行完语句(z −= y −= x −= z)后它们的值为 C 。

A. 3, 1, -4B. 3, 1, -1C. -4, 7, -1D. 4, 7, -44.以下说法中不正确的 CA. 构造函数和析构函数都不能有返回值B. 构造函数可以是静态的C. 一个类只能有一个构造函数D. 一个类只能有一个析构函数5.以下不属于Object类型的成员方法的是 B 。

A. ToString()B. Dispose()C. Finalize()D. GetType()6.设double型变量x表示一个角度,那么将其转换为弧度的表达式为 C 。

A. x * 180 / Math.PIB. x * 360 / Math.PIC. x * Math.PI / 180D. x * Math.PI / 3607.令object x = 100,那么下列表达式会引发异常的是 A 。

A. int i = x;B. string s = (string)x;C. bool b = x is string;D. object o = x as string;8.下列能够被创建对象的是 C 。

A. 接口B. 抽象类C. 委托D. 只有私有构造函数的类9.关于接口和抽象类,那么说法中正确的是 B 。

A. 接口不能创建对象,而抽象类可以B. 接口不能包含字段,而抽象类可以C. 抽象类中的方法必须是抽象方法D. 接口中的方法也可以有实现代码10.关于finally代码段,那么说法正确的是 D 。

A. 仅在程序正常时执行B. 仅在程序发生异常时执行C. 在程序发生异常时会被跳过D. 无论程序是否发生异常都会被执行11.下列类型中,不支持IEnumerable<T>接口的是 A 。

A. T[]B. List<T>C. Queue<T>D. Dictionary<K,T>12.Nullable<T>是 B 类型。

A. classB. structC. interfaceD. 以上都不是13.单击一个CheckBox控件,那么下列事件的引发顺序为 C 。

A. Click, MouseDown, MouseUp, CheckedChangedB. MouseDown, Click, MouseUp, CheckedChangedC. MouseDown, Click, CheckedChanged, MouseUpD. MouseDown, CheckedChanged, Click, MouseUp14.CLR是指 C 。

A. 公共类型系统B. 公共语言规范C. 公共语言运行时D. 动态语言运行时15.要读取数据库中某个表格的记录数,应当执行DbCommand对象的方法是 D 。

A. ExecuteB. ExecuteNonQueryC. ExecuteScalarD. ExecuteReader16.要修改数据库中的某条记录,应当执行DbCommand对象的方法是 B 。

A. ExecuteB. ExecuteNonQueryC. ExecuteScalarD. ExecuteReader17.一个数据适配器用于向一个 A 对象中填充数据。

A. DataSetB. DataTableC. DataRowD. DataColumn18.要在Web应用程序中访问URL地址中的参数字符串,可访问 B 对象的QueryString属性。

A. HttpApplicationB. HttpRequestC. HttpReqsponseD. HttpBrowserCapability19.以下可在客户端缓存网页数据的是 CA. ApplicationStateB. SessionStateC. CacheD. Cookie20.在Web Service中定义的方法,能够从网络上访问的是 DA. 非私有方法B. 公有方法C. 扩展方法D. 使用[WebMethod]特性修饰的方法二、问答题1.写一段对数组进行排序的程序代码。

int[] intArray = new int[]{2,3,6,1,4,5};Array.Sort(intArray);Array.ForEach<int>(intArray,(i)=>Console.WriteLine(i));2.什么是装箱和拆箱?答:装箱是从值类型到引用类型的隐式转换;拆箱是从引用类型到值类型的显示转换。

3.怎样使一个类不能被外部创建对象?“类的构造函数私有化”方式当一个类的构造函数设置为private之后,外界将无法使用new关键字来创建这个类的对象。

例子class Only Youclass OnlyYou{//构造函数私有,外界不能用new直接创建对象private OnlyYou(){} //用于保存“独生子”的静态对象变量private static OnlyYou OnlyYouObject = null;public static OnlyYou GetOnlyYouObject (){if (OnlyYouObject == null) //对象未创建,则创建对象OnlyYouObject =new OnlyYou ();//向外界返回已创建对象的引用return obj;}}类OnlyYou的关键在于两点:(1)构造函数私有,则外界无法用new关键字直接创建对象;(2)提供一个公有静态方法向外界返回已创建对象的引用。

4.怎样使一个类只能被创建一个对象?类的内部设置一个对象计数器,通过检查此计数器的值来确定是否要新建一个对象。

class OnlyYou{private static int ObjectCounter = 0;//对象计数器private static OnlyYou OnlyYouObject = null;public static OnlyYou GetOnlyYouObject(){if (ObjectCounter == 0){OnlyYouObject = new OnlyYou();ObjectCounter++;}return OnlyYouObject;}}5.简述C#对接口方法的两种实现方式。

答:通过类型的公有方法来实现接口方法叫隐式实现;在类型的方法名之前加上接口名叫显式实现。

6.说说抽象方法和虚拟方法的相同点与不同点。

抽象方法是只有定义、没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写;虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。

7.采用new 和override修饰符所修饰的方法,二者之间的区别是什么?答new:隐藏基类方法,默认调用自身实现的方法,但是可以显示的指定调用父类方法override:覆盖了父类的方法只能调用自身。

8.写一段程序代码,为整数类型定义一个扩展方法,通过它能够判断整数是否为素数。

using System;using System.Collections.Generic;using System.Text;namespace Test_1 {class PrimeNumber {static void Main(string[] args) {Console.WriteLine( "请输入一个数: ");double number = Convert.ToDouble(Console.ReadLine());int i = 2;bool isushu = true;double k = Math.Sqrt(number);for (i = 2; i < k; i++) {if (number % i == 0){Console.WriteLine( "此数不是素数");isushu = false;break;}}if (isushu == true){Console.WriteLine( "此数是素数");}}}}9.写一段代码,创建一个“猫”对象和多个“老鼠”对象,模拟“猫一叫,所有的老鼠都开始跑”的场景实现。

10.C#中事件和委托的关系是什么?类的事件成员和一般的委托型成员有什么不同?处理事件的第一步是定义一个委托原型,通过它来规范事件的格式。

委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。

可以通过委托调用方法。

委托用于将方法作为参数传递给其他方法。

事件处理程序就是通过委托调用的方法。

与委托的签名匹配的任何可访问类或结构中的任何方法都可以分配给该委托。

11.简述C#中的泛型约束机制。

答:限制方法包括主要限制,次要限制和构造函数限制。

主要限制是将类型参数的目标类型限制为值类型或引用类型。

次要限制是将类型参数的目标类型限制为从指定的基类或接口继承。

构造函数限制是要求其目标类型必须提供一个默认的无参构造函数。

12.什么叫做匿名方法,它的作用是什么?答:匿名方法指跳过方法的定义,而将方法的执行代码直接封装在一个委托对象中。

作用可以不写出该方法的完整定义,而是将方法的执行代码转移到委托的实例化过程中。

13.写一段代码,基于List<T>类型来实现一个泛型优先级队列PriQueue<T>。

14.简述C#中可枚举对象和遍历器的工作原理。

15.简述在WPF中对控件应用动画的两种基本方式。

16.简述中的DbConnection、DbCommand、DbDataReader这三个类型的作用以及它们之间的关系。

17.简述中的DataSet、DataTable、DataAdapter这三个类型的作用以及它们之间的关系。

DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,应用程序开始运行时,把数据库相关数据保存到DataSet.DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。

DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快DataAdapter对象是用来读取数据库.可读取写入数据,某条数据超着强,但它占用内存比dataReader大,速度慢18.LINQ技术框架的三个基本组成部分是什么?19.举出三个在网站应用程序中跳转到另一个网页的方法。

相关文档
最新文档