VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 批处理教程 >
  • C#过级试题

C#题目一、选择填空题(每空2分,共60分)
1.在对SQL Server 数据库操作时应选用()。
a)SQL Server .NET Framework 数据提供程序;
b)OLE DB .NET Framework 数据提供程序;
c)ODBC .NET Framework 数据提供程序;
d)Oracle .NET Framework数据提供程序;
答:这个题目是关于数据库提供程序的选择问题的,我想大多数人都知道的答案,是选择a
2.下列选项中,()是引用类型。
a)enum类型
b)struct类型
c)string类型
d)int类型
答:值类型:struct类型,enum类型,int类型都是值类型,都存储在堆里,以我自己的理解就是可以写成类型变量=new 变量();的都是引用类型,string就是这样,故选A
3.关于ASP.NET中的代码隐藏文件的描述正确的是()
a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
d)以上都不正确。
答:隐藏文件指的就是那些aspx.cs和aspx.vb文件.项目中所有   Web   窗体页的代码隐藏类文件都被编译成项目动态链接库   (.dll)   文件  
  像这样的问题其实完全可以自己用google去找的.推荐用MSDN.下面的是MSDN上的解释:  
  ASP.NET   代码隐藏文件使开发人员可以在   C#   或   Visual   Basic   .NET   类中编写控制它们的页的逻辑,这样可与   HTML   代码很清楚地分离开来。开发人员可以使用面向对象编程的概念,如在   Web   层中的继承。
a:扩展名为.aspx.cs
b:被编译成.dll
c:正解
4.以下描述错误的是()
a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
答:a:很明显是错的
5.C#的数据类型有()
a)值类型和调用类型;
b)值类型和引用类型;
c)引用类型和关系类型;
d)关系类型和调用类型;
答:B为正解
6.下列描述错误的是()
a)类不可以多重继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
答:1.类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类          
接口只是一个行为的规范或规定,微软的自定义接口总是后带able字段,证明其是表述一类类“我能做。。。”
抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中    
2.接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法;
     
3.一个类一次可以实现若干个接口,但是只能扩展一个父类 
    
4.接口可以用于支持回调,而继承并不具备这个特点.
     
5.抽象类不能被密封。    
6.抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非     虚的,当然您也可以声明为虚的。 
    
7.(接口)与非抽象类类似,抽象类也必须为在该类的基类列表中列出的接口的所有成员提供它自己的实现。但是,允许抽象类将接口方法映射到抽象方法上。  
 
8抽象类实现了oop中的一个原则,把可变的与不可变的分离。抽象类和接口就是定义为不可变的,而把可变的座位子类去实现。
    
9   好的接口定义应该是具有专一功能性的,而不是多功能的,否则造成接口污染。如果一个类只是实现了这个接口的中一个功能,而不得不去实现接口中的其他方法,就叫接口污染。  
 
10   尽量避免使用继承来实现组建功能,而是使用黑箱复用,即对象组合。因为继承的层次增多,造成最直接的后果就是当你调用这个类群中某一类,就必须把他们全部加载到栈中!后果可想而知.
   
11   如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中实现接口中方法    
如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单的方法来控制组件版本。如果创建的功能将在大范围的全异对象间使用,则使用接口。如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类。      
如果要在组件的所有实现间提供通用的已实现功能,则使用抽象类。
 
一个类可以有多个接口,但是不可以有多个基类,故D错   
 

7.在DOM中,装载一个XML文档的方法()
a)save方法
b)load方法
c)loadXML方法
d)send方法
答:自己没学过,不过看了网上的可能是选B中的load方法,c中如果是loadXml方法就好了
XML 信息从不同的格式读入内存。读取源包括字符串、流、URL、文本读取器或 XmlReader 的派生类。
Load 方法将文档置入内存中并包含可用于从每个不同的格式中获取数据的重载方法。还存在 LoadXml 方法,该方法从字符串中读取 XML。
8.下列关于构造函数的描述正确的是()
a)构造函数可以声明返回类型。
b)构造函数不可以用private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
答:C为正解,简单
9.以下是一些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 }
答:枚举类型的声明类似于类声明。但是,还要应用以下附加规则:
·    用关键字 enum 代替关键字 class
·    枚举类型隐式扩展 Enum。
·    枚举类型是隐式的 staticfinal
·    不能将枚举类型声明为 abstract
·    枚举类型可以是 publicprivate 或包范围内的,但不能是 protected
·    枚举类型不能有方法、属性或事件。
·    枚举类型不能实现接口。
·    枚举类型不能用于 /x(禁用语言扩展)选项。
·    枚举元素的默认基础类型为int 默认情况下,第一个枚举元素的值为0,后面每个枚举元素的值依次递增1 。
·    所以选择C

10.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]的值是()。
a)9
b)2
c)6
d)越界
答:上面的是C#是一个交错数组.
数组越界,数组的数组C#题目
11.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。
a)方法、属性、索引器和事件;
b)方法、属性信息、属性;
c)索引器和字段;
d)事件和字段;
答:接口中的方法类型默认是public stract的
接口描述可属于任何结构的一组相关行为。接口可由方法、属性、事件、索引器或这四种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共的。
故选a
 
12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )
a)HTML控件和Web控件
b)HTML控件和XML控件
c)XML控件和Web控件
d)HTML控件和IIS控件
答:
·    HTML 服务器控件   对服务器公开的 HTML 元素,可对其进行编程。HTML 服务器控件公开一个对象模型,该模型十分紧密地映射到相应控件所呈现的 HTML 元素。
·    Web 服务器控件   这些控件比 HTML 服务器控件具有更多内置功能。Web 服务器控件不仅包括窗体控件(例如按钮和文本框),而且还包括特殊用途的控件(例如日历、菜单和树视图控件)。Web 服务器控件与 HTML 服务器控件相比更为抽象,因为其对象模型不一定反映 HTML 语法
·    故选a
13.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为( )
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非

 答:这次要在这个asp.net页面注册一个简单的用户自定义控件,然后以代码的方式和在asp.net页面表单内定义的方式定义一个这样的控件。在这个asp.net页面的顶端,你需要注册这个控件:
<%
  @register
   tagprefix="My"
   tagname="my_controls"
  src="../mycontrols.ascx"
%>

  其中tagprefix可以设置为任何你想要有代码中定义你的控件所用的名字,在定义控件时,这个属性和tagname属性一起使用,从而指出你正在创建一个这样的控件类型。src属性用来设定自定义控件的文件所在的位置。
看完了后才知道A是正确的

14.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是()。
a)insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
b)ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
c)Select操作的Sql语句只能由ExecuteReader()方法来执行;
d)ExecuteReader()方法返回一个DataReder对象;
15.下列ASP.NET语句(b)正确地创建了一个与SQL Server 2000数据库的连接。
a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);
d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);
答:一看就知道是B了
16.Winform中,关于ToolBar控件的属性和事件的描述不正确的是()。
a)Buttons属性表示ToolBar控件的所有工具栏按钮
b)ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
c)DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
d)ButtonClick事件在用户单击工具栏任何地方时都会触发
答:选D
17.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(),必要时还要设置参数尺寸。
a)大小;
b)上限;
c)初始值;
d)类型;
答:应该是类型吧
18.如果将窗体的FormBoderStyle设置为None,则( )。
a)窗体没有边框并不能调整大小;
b)窗体没有边框但能调整大小;
c)窗体有边框但不能调整大小;
d)窗体是透明的;
做过项目了 感觉这个就简单了,b
19.如果要将窗体设置为透明的,则( )
a)要将FormBoderStyle属性设置为None;
b)要将Opacity属性设置为小于100%得值;
c)要将locked 属性设置为True;
d)要将 Enabled属性设置为True;
答:为透明的选B,Opacity是不透明的意思
20.下列关于C#中索引器理解正确的是( )
a)索引器的参数必须是两个或两个以上
b)索引器的参数类型必须是整数型
c)索引器没有名字
d)以上皆非
答:索引器和属性差不多,索引器允许您按照与数组相同的方式对结构接口进行索引。
[System.Runtime.CompilerServices.CSharp.IndexerName("TheItem")] public int this [int index] // Indexer declaration { }
就是为索引器命名为TheItem

21.下面描述错误的是( )。
a)窗体也是控件;
b)窗体也是类;
c)控件是从窗体继承来的;
d)窗体的父类是控件类;
·    答:
System.Windows.Forms 命名空间中的大多数类都是从 Control 类派生的。Control 类为在 Form 中显示的所有控件提供基本功能。Form 类表示应用程序内的窗口。这包括对话框,无模式窗口和多文档界面 (MDI) 客户端窗口及父窗口。您也可以通过从 UserControl 类派生而创建自己的控件。
·    所以控件并不是从窗体中继承来的而是从控件类中继承来的
22.要对注册表进行操作则必须包含( )。
a)System.ComponentModel命名空间;
b)System.Collections命名空间;
c)System.Threading命名空间;
d)Microsoft.Win32命名空间;
·    答:
Microsoft.Win32 命名空间提供两种类型的类:处理由操作系统引发的事件的类和操作系统注册表的类。

23.要创建多文档应用程序,需要将窗体的( )属性设为true。
a)DrawGrid;
b)ShowInTaskbar;
c)Enabled;
d)IsMdiContainer;
24.如果设treeView1=new TreeView(),则treeView1.Nodes.Add("根节点")返回的是一个 ()类型的值。
a)TreeNode;
b)int;
c)string;
d)TreeView;
25.下面关于XML的描述错误的是()。
a)XML提供一种描述结构化数据的方法;
b)XML 是一种简单、与平台无关并被广泛采用的标准;
c)XML文档可承载各种信息;
d)XML只是为了生成结构化文档;
·    .在对SQL Server 数据库操作时应选用()
a;
2.下列选项中,()是引用类型。
c)string类型//其构造函数为静态构造函数所以看起来像值类型
3.关于ASP.NET中的代码隐藏文件的描述正确的是()
c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
4.以下描述错误的是()
a)在C++中支持抽象类而在C#中不支持抽象类。
5.C#的数据类型有()
a)值类型和调用类型;
6.下列描述错误的是()
d)一个类可以有多个基类和多个基接口;
7.在DOM中,装载一个XML文档的方法()
b)load方法
8.下列关于构造函数的描述正确的是()
c)构造函数必须与类名相同
9.以下是一些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 }
??忘记了
10.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]的值是()。
d)越界
11.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。
a)方法、属性、索引器和事件;
12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )
a)HTML控件和Web控件

13.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为( )
a)<%@Register TagPrefix = “Mike” TagName = “Space2” Src = “myX.ascx”%>
b)<%@Register TagPrefix = “Space2” TagName = “Mike” Src = “myX.ascx”%>
c)<%@Register TagPrefix = “SpaceX” TagName = “Space2” Src = “Mike”%>
d)以上皆非
14.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是()。
c)Select操作的Sql语句只能由ExecuteReader()方法来执行;
15.下列ASP.NET语句(b)正确地创建了一个与SQL Server 2000数据库的连接。
b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

16.Winform中,关于ToolBar控件的属性和事件的描述不正确的是()。
a)Buttons属性表示ToolBar控件的所有工具栏按钮
b)ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
c)DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
d)ButtonClick事件在用户单击工具栏任何地方时都会触发
17.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(),必要时还要设置参数尺寸。
b)上限;
18.如果将窗体的FormBoderStyle设置为None,则( )。
a)窗体没有边框并不能调整大小;
b)窗体没有边框但能调整大小;
c)窗体有边框但不能调整大小;
d)窗体是透明的;
19.如果要将窗体设置为透明的,则( )
b)要将Opacity属性设置为小于100%得值;
20.下列关于C#中索引器理解正确的是( )
b)索引器的参数类型必须是整数型
21.下面描述错误的是( )。
c)控件是从窗体继承来的;
22.要对注册表进行操作则必须包含( )。
a)System.ComponentModel命名空间;
b)System.Collections命名空间;
c)System.Threading命名空间;
d)Microsoft.Win32命名空间;
 

相关教程