资源描述
1000道C#笔试题!
第1题,难度E
在ADO.NET中,为了确保DataAdapter对象能够正确地将数据从数据源填充到DataSet中,则必须事先设置好DataAdapter对象的下列哪个Command属性?
A:Delete Command
B:Update Command
C:Insert Command
D:Select Command
答案:4
————————————————————————
第2题,难度E
为使用OleDb .NET Data Proviver连接到SQL Server 2000数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:
A:Provider=SQLOLEDB
B:Provider=SQLSERVER
C:Provider=Microsoft.Jet.OLEDB.4.0
D:Provider=MSDAORA
答案:1
————————————————————————
第3题,难度E
在使用ADO.NET编写连接到SQL Server 2000数据库的应用程序时,从提高性能的角度考虑,应创建____类的对象, 并调用其Open方法连接到数据库:
A:OleDbConnection
B:SqlConnection
C:OdbcConnection
D:Connection
答案:2
————————————————————————
第4题,难度E
在使用ADO.NET 设计数据库应用程序时,可通过设置Connection 对象的_______属性来指定连接到数据库时的用户和密码信息。
A:ConnectionString
B:DataSource
C:UserInformation
D:Provider
答案:1
————————————————————————
第5题,难度E
有一个DataSet 对象myDataSet包含两个 DataTable 对象Customers 和Orders。Customers 有一个列CustomerID,对每个customer是唯一的。 Orders 也有一个列CustomerID。想使用DataRow 对象的GetChildRows 方法来获得当前客户的所有orders。
A:在Customers和Orders间增加一个Orders 的外键约束CustomerID.
B:在Customers和Orders间增加一个数据关联OrderID到myDataSet.
C:创建一个Customers 的唯一约束CustomerID.
D:创建一个Customers 的主键 CustomerID.
答案:1
————————————————————————
第6题,难度E
有一个DataSet 对象ordersDataSet包含两个 DataTable 对象Orders 和OrderDetails。Orders 和 OrderDetails两者都包含一个列OrderID。在Orders和OrderDetails 间用OrderID创建一个DataRelation 对象orderRelation。Order是父表, OrderDetails 是子表。使用以下代码增加 orderRelation 到ordersDataSet 关联集合。ordersDataSet.Relations.Add(orderRelation); 在增加orderRelation前,两个表都没有约束,运行代码行,现在每个表有多少个约束?
A:Orders表1个; OrderDetails表没有.
B:Orders表没有; OrderDetails表1个.
C:Orders表没有; OrderDetails表没有.
D:Orders表1个; OrderDetails表1个.
答案:2
————————————————————————
第7题,难度M
你正在创建一个应用程序来追踪一家公司的销售订单。此应用程序用的是ADO.NET DataSet 对象,DataSet 包含了两个DataTable 对象。一个表的名字为Orders,另一个表名为OrderDetails。来自Orders 表的数据显示在列表框中,你希望当用户在列表框中选择了Orders 表的信息时,它相应的Order details 就会显示在DataGrid 中。你想修改这些对象使你的代码能够找到你选择的订单的所有order details 信息,你该怎么做?
A:在DataSet 对象的Relations 集合中添加一个DataRelation 对象
B:用DataSet.Merge 方法把Orders 表和OrderDetails 表相互连接起来
C:在OrderDetails表中添加一个ForeignKeyConstraint
D:在OrderDetails中添加一个keyref约束
答案:1
————————————————————————
第8题,难度M
开发一个新的销售分析程序能够重复使用已经存在的数据访问组件。其中的一个组件返回一个DataSet 对象,这个对象里包括了上一年中所有的用户订单的数据。希望这个程序能够按照单个产品号码来显示订单。用户将在运行的时候输入合适的产品代码。
A:使用DataSet.Reset 方法.
B:使用一个过滤器表达式来设置DataSet 对象的RowFilter 属性
C:创建一个DataView 对象,并使用一个过滤器表达式来设置RowFilter属性
D:创建一个DataView 对象,并使用一个过滤器表达式来设置RowStateFilter属性
答案:3
————————————————————————
第9题,难度M
以下描述错误的是()
A:在C++中支持抽象类而在C#中不支持抽象类。
B:C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
C:在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
D:在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
答案:3
————————————————————————
第10题,难度M
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:越界
答案:4
————————————————————————
第11题,难度E
在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket侦听、( )、利用Socket接收和发送数据。
A:建立Socket连接
B:获得端口号;
C:获得IP地址;
D:获得主机名;
答案:4
————————————————————————
第12题,难度M
如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。
A:TreeNode;
B:int;
C:string;
D:TreeView;
答案:2
————————————————————————
第13题,难度M
声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是
A:void myCallBack(int x)
B:int receive(int num)
C:string receive(int x)
D:不确定的
答案:2
————————————————————————
第14题,难度M
要判断MMControl控件的命令是否正确执行,可使用它的_________属性。
A:Mode
B:Notify
C:NotifyValue
D:StatusUpdate
答案:3
————————————————————————
第15题,难度H
下面的代码实现了设计模式中的什么模式
public class A {
private A instance;
private A() {
}
public static A Instance {
get
{
if ( A == null )
A = new A();
return instance;
}
}
}
A:Factory
B:Abstract Factory
C:Singleton
D:Builder
答案:3
————————————————————————
第16题,难度H
abstract class BaseClass
{
public virtual void MethodA()
{
Console.WriteLine("BaseClass");
}
public virtual void MethodB()
{
}
}
class Class1: BaseClass
{
public void MethodA()
{
Console.WriteLine("Class1");
}
public override void MethodB()
{
}
}
class Class2: Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
o.MethodA();
}
}
请问,此程序输出结果是:
A:BaseClass
B:BassClass Class1
C:Class1
D:Class1 BassClass
答案:3
————————————————————————
第17题,难度M
public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine("i={0},o={1}, j={2}",i,o,j);
}
A:i=2001,o=2000,j=2000
B:i=2001,o=2001,,j=2001
C:i=2000,o=2001,,j=2000
D:i=2001,o=2000,j=2001
答案:1
————————————————————————
第18题,难度M
您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)
A:在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
B:在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
C:在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D:在这个应用程序的App.config文件中创建一个CustomErrors节去处理HTTP错误。
答案:1
————————————————————————
第19题,难度M
如下程序的运行结果是:
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}
public class B: A
{
public B()
{
Console.WriteLine('B');
}
public new void Fun()
{
Console.WriteLine("B.Fun()");
}
public static void Main()
{
A a = new B();
a.Fun();
}
}
A:A B A.Fun()
B:A B B.Fun()
C:B A A.Fun()
D:B A B.Fun()
答案:1
————————————————————————
第20题,难度E
哪个选项可以防止C#中反斜杠的转义?
A:string s = #”n Test string”;
B:string s = “’n Test string”;
C:string s = @”n Test string”;
D:string s = “n Test string”;
答案:3
————————————————————————
第21题,难度M
在ADO.NET的DataSet中,那种论述是不正确的?
A:DataSet可以和RecordSet同步.
B:DataSet可以和database同步.
C:DataSet可以转化为XML.
D:从DataSet中可以推论出架构
答案:4
————————————————————————
第22题,难度E
面向对象编程中封装的意义在于:
A:一种类型到另一种类型的转换
B:实时调用方法的解决方案
C:数据的说明
D:借口与实现的分离
答案:4
————————————————————————
第23题,难度M
系统将所有包含终止代码的对象放入称为()的队列。
A:复活队列
B:终止-不可访问队列
C:终止-可访问队列
D:终止队列
答案:4
————————————————————————
第24题,难度M
system.GC命名空间中,强制立即进行垃圾回收的方法是()
A:Collect
B:suppressFinalize
C:WaitforPendingfinalizers
D:ReRegisterforfinalize
答案:1
————————————————————————
第25题,难度H
类someclass 中定义了Finalize方法:
obj为一个someclass 类型的变量且是一个someclass对象的唯一引用
请问,执行下列哪条语句,类someclass中定义的finalize方法将被调用?()
A:obj=null; GC.supperessfinalize();
B:obj=null; GC.collect();
C:GC.collect(); Obj=null;
D:delete obj;
答案:2
————————————————————————
第26题,难度M
用Filestream打开一个文件时,为了控制该Filestream用于创建不存在的文件,应将其()参数设置为Create.
A:fileshare
B:seekorigin
C:FileAccess
D:fileMode
答案:4
————————————————————————
第27题,难度H
下列代码在控制台的输出是什么?()
WebRequest req = WebRequest.Create("") ; Console.WriteLine(req.GetType().ToString());
A:system.Net.WebRequest
B:system.Net.HttpWebRequest
C:system.Net.fileWebRequesta
D:
答案:2
————————————————————————
第28题,难度H
为了向程序中添加Gopher协议,以支持以Gopher://开头的URI,除了创建相应的gopherwebRequest和gopherWebResponsed类,还应采用下列哪种措施?()
A:调用WebRequest类的RegisterPrefix方法
B:调用WebRsponse类的Registerprefix方法
C:调用ServicepointManager类的FindServicePoint方法
D:调用HttpRequest类的Create方法
答案:1
————————————————————————
第29题,难度M
为了向需要客户基本信息的Web服务器提供“用户名/密码”对,应设置WebRequest的()属性的值。
A:user和Password
B:Headers
C:ClinetCertificates
D:credentials
答案:4
————————————————————————
第30题,难度M
在.NET远程处理中,()的类的实例可以跨应用程序域进行按引用封送。
A:具有serializable属性
B:实现Iserializable接口
C:实现IobjectReference接口
D:从MarshalbyRefobject类继承
答案:4
————————————————————————
第31题,难度M
在用c#编写的控制台程序中创建并访问一个兼容STA的COM组件时,为提高性能,应该为程序入口main方法设置()属性。
A:[Apartment]
B:[synchronization]
C:[STAThread]
D:[MTAThred]
答案:3
————————————————————————
第32题,难度E
在C#中使用()语句抛出异常
A:create
B:throw
C:put
D:send
答案:2
————————————————————————
第33题,难度E
ADO.NET使用()作为数据通用传输格式
A:SOAP
B:XML
C:MPEG
D:二进制流
答案:2
————————————————————————
第34题,难度M
从使用下列哪个类的实例为其它的stream类的实例提供加密转换服务()
A:Filestream
B:Cryptostream
C:Memorystream
D:Bufferedstream
答案:2
————————————————————————
第35题,难度M
在托管环境中创建线程后,调用Start之前该线程处于()状态
A:Unstarted
B:Running
C:Waitsleep
D:Stopped
答案:1
————————————————————————
第36题,难度M
在命令行下,使用csc命令编译c#源程序时。可用()参数来说明生成windows可执行文件
A:/target:exe
B:/target:winexe
C:/target:library
D:/target:module
答案:2
————————————————————————
第37题,难度M
编写自定义属性类Description时,明确指出要把该自定义属性应用到哪个编程元素,可以为类description附加()属性
A:[transaction]
B:[conditional]
C:[attributeusage]
D:[attributetarget]
答案:3
————————————————————————
第38题,难度H
下列属性中,哪个不是用来描述SeekOrigin类偏移参考和移动读写位置的()
A:SeekOrigin.Begin
B:SeekOrigin.Current
C:SeekOrigin.Move
D:SeekOrigin.End
答案:3
————————————————————————
第39题,难度H
为了将对象序列化为XML流需要使用下列哪个类?()
A:SOAPFORMATTER
B:BINARYFORMATTER
C:XMLFORMATTER
D:OBJECTFORMATTER
答案:3
————————————————————————
第40题,难度E
在ADO.NET中,为确保DATAADAPTER对象能正确的将数据源中删除记录, ,则必须事先设置好DATAADAPTER对象的下列哪个COMMAND属性?()
A:SELECT COMMAND
B:INSERT COMMAND
C:UPDATE COMMAND
D:DELETE COMMAND
答案:4
————————————————————————
第41题,难度E
ADO.NET中,DATAADAPTER对象下列哪个COMMAND属性用于将DATASET中的新增记录保存到数据源?()
A:SELECT COMMAND
B:INSERT COMMAND
C:UPDATE COMMAND
D:DELETE COMMAND
答案:2
————————————————————————
第42题,难度H
为了在多线程之间使用共享资源可以使用()
A:Mutex对象
B:Monitor对象
C:AutoResetevent对象
D:ManualResetEvent对象
答案:1
————————————————————————
第43题,难度H
NET framework类someclass实现了接口IJOB,为了使COM客户端使用提供的服务需要导出someclass所在的程序集,为了确定导出程序集时IJOB对应的COM接口类型,应使用()属性附加到IJOB类的定义
A:[ClassInterface]
B:[InterfaceType]
C:[Com Import]
D:[dllimport]
答案:1
————————————————————————
第44题,难度H
为了将使用.NET托管环境编写的类供老式的COM客户端调用,可使用()工具创建一个COM客户端可以访问的代理
A:RCW
B:SN.EXE
C:TLBEXP.EXE
D:TLBIMP.EXE
答案:3
————————————————————————
第45题,难度M
在有100个线程并行运行的应用程序中,在当前的线程中执行的下列对整形变量I的值加1的语句中,哪条不会被其他线程打断?()
A:I+=1
B:I=I+1
C:Interlocked.Increment(I)
D:以上都不是
答案:3
————————————————————————
第46题,难度M
为了对一类实现自定义的序列化的序列化,应使该类实现()接口
A:Iobjectreference
B:Iserializable
C:Idbjectrefernce
D:Ideserializationcallback
答案:2
————————————————————————
第47题,难度M
若程序集mysork.dll的配置文件存在,则应起名为()
A:mywork.config
B:mywork.dll.config
C:config.sys
D:sonfig.into
答案:2
————————————————————————
第48题,难度VH
可使用()工具将一个是有强名称的程序集安装到全局程序集缓存
A:regasm.exe
B:vbc.exe
C:cn.exe
D:gatutil.exe
答案:4
————————————————————————
第49题,难度E
ADO.NET使用()命名空间的类访问SQL Server数据库中的数据
A:system.io
B:system.xml.Serialization
C:System.Data.SqlClient
D:system.data.oleDb
答案:3
————————————————————————
第50题,难度M
在.NET Framework class library 中提供了()技术,以使托管应用程序可以以断开式的方式访问各种数据库()
A:ADO
B:ODBC.NET
C:ADO.NET
D:SQL Server
答案:3
————————————————————————
第51题,难度M
.NET公共语言运行时的()功能模块负责管理元数据的加载,部署类
A:垃圾回收
B:安全引擎
C:代理管理器
D:类加载器
答案:4
————————————————————————
第52题,难度M
在web服务项目的web服务类定义中,某方法具有()属性,则该方法可以作为web服务的一部分而被访问
A:[WebService]
B:[WebMethod]
C:[WebPublic]
D:[webGlobal]
答案:2
————————————————————————
第53题,难度H
为了在客户端创建一个已知XML Web service 的代理,可使用()工具
A:gacutil.exe
B:sn.exe
C:Disco.exe
D:wsdl.exe
答案:4
————————————————————————
第54题,难度E
通用类型系统中的一切值类型都是继承自()
A:system.valueType
B:system.int32
C:system.type
D:system.base
答案:1
————————————————————————
第55题,难度M
在对程序集进行反汇编得到MSIL清单中,类Someclass的缺省实例构造函数的名为( )
A:cctor
B:ctor
C:constructor
D:someclass
答案:2
————————————————————————
第56题,难度M
( )是.NET类型中唯一没有继承System.object的类型
A:类
B:结构
C:枚举
D:接口
答案:4
————————————————————————
第57题,难度M
( )工具程序以MSIL文件作为输入,生成包含MSIL代码的托管PE文件。
A:csc.exe
B:vbc.exe
C:Ildasm.exe
D:Ilasm.exe
答案:4
————————————————————————
第58题,难度M
在ADO.NET中通过执行Command对象ExecuteReader方法返回的Retareder对象是一种( )
A:可向前向后的只读结果集
B:可向前的可读可写的结果集
C:可向前向后的可读可写的结果集
D:可向前的只读的结果集
答案:4
————————————————————————
第59题,难度H
在.net远程处理框架中变成时,为了在传输中获得更快速度,应为远程对象使用的信道注册使用()
A:udp 格式化程序
B:ip格式程序
C:2进制格式化程序
D:soap格式化程序
答案:3
————————————————————————
第60题,难度VE
以下不属于.NET编程语言的是 。
A:Java
B:C#
C:VC.NET
D:VB.NET
答案:1
————————————————————————
第61题,难度VE
C#语言经编译后得到的是 。
A:扩编指令
B:机器指令
C:本机指令
D:Microsoft中间语言指令
答案:4
————————————————————————
第62题,难度VE
C#程序的执行过程是 。
A:从程序的第一个方法开始,到最后个方法结束
B:从程序的Main方法开始,到最后一个方法结束
C:从程序的第一个方法开始,到Main方法结束
D:从程序的Main方法开始,到Main方法结束
答案:4
————————————————————————
第63题,难度VE
Console标准的输入和输出设备是()
A:键盘
B:鼠标
C:网口
D:打印机
答案:1
————————————————————————
第64题,难度E
以下属于c#简单值数据类型的有()
A:List类型
B:int[]类型
C:char类型
D:枚举类型
答案:3
————————————————————————
第65题,难度VE
要使用变量age来存储人的年龄,则将其声明为 类型最为适合。
A:sbyte
B:byte
C:int
D:float
答案:2
————————————————————————
第66题,难度E
以下数组声明语句中,不正确的有 ()
A:int [] a;
B:int[] a = new int[2]
C:int [] a == {1,3};
D:int [] a = int [] {1,3};
答案:3
————————————————————————
第67题,难度M
以下多维数组声明语句中,不正确的有()
A:int[,]a = new int[2,3];
B:int[,] a = {{1,2,3}};
C:int[2,3] a = new int[2,3];
D:int[,] a = {{1,2,3},{2,3}};
答案:3
————————————————————————
第68题,难度M
若多维数组a有4行3列,那么数组中第10个元素的写法为()
A:a[10]
B:a[2,1]
C:a[3,0]
D:a[4,1]
答案:3
————————————————————————
第69题,难度E
以下赋值语句中,正确的有()
A:short X = 50000;
B:ushort Y= 50000;
C:long X =1000;int Y=x;
D:double x=20;decimal Y=x;
答案:2
————————————————————————
第70题,难度M
以下拆箱转换语句中,正确的有()
A:object o; int i = (int)o;
B:object o=10.5; int i= (int)o;
C:object o=10.5; float f = (float)o;
D:object o=10.5; float f=(float)(double)o;
答案:4
————————————————————————
第71题,难度E
c#程序中,方法的签名由以下哪个组成()
A:方法所在的类名
B:参数列表
C:返回类型
D:方法执行体
答案:2
————————————————————————
第72题,难度VE
以下属于合法c#变量名的有()
A:XJ23
B:class
C:5y
D:&ch
答案:1
————————————————————————
第73题,难度H
设double型变量x和y的取值分别为12.5和5.0,那么表达式x/y+(int)(x/y)-(int)x/y的值为()
A:2.9
B:2.5
C:2.1
D:2
答案:3
————————————————————————
第74题,难度H
设bool型变量a和b的取值分别为true和false,那么表达式a&&(a||!b)和a|(a&&b)的值分别为()
A:true true
B:true false
C:false false
D:false true
答案:1
————————————————————————
第75题,难度H
设int型变量x的值为9,那么表达式x-- + x-- + x--的值为 ()
A:27
B:24
C:21
D:18
答案:2
————————————————————————
第76题,难度H
设int型变量x的值为9,那么表达式--x + --x + --x的值为()
A:27
B:24
C:21
D:18
答案:3
————————————————————————
第77题,难度H
设int型变量x和y的取值分别为3和2,那么执行下面语句后z的值为()
int z = (x++ % y == 0) ? ++x : (x / y == 1) ? ++y : --y;
A:1
B:2
C:3
D:4
答案:1
————————————————————————
第78题,难度H
设int型变量X的值为-5,那么表达式X << -(X >> 2)的值为()
A:-20
B:-10
C:-9
D:10
答案:1
————————————————————————
第79题,难度E
下列有关switch语句的描述中,正确的有()
A:至少应包含一个case分支
B:每个case分支都必须有break语句
C:必须包含default语句
D:default语句之后的case分支无效
答案:1
————————————————————————
第80题,难度H
下面语句执行后y的值为()
int x = 0, y = 0;
while (x < 10) y += (x += 2);
A:10
B:20
C:30
D:55
答案:3
————————————————————————
第81题,难度H
下面语句执行后y的值为()
int x = 1, y = 1;
do
y <<= (++x);
while (x < 4);
A:16
B:64
C:138
D:512
答案:4
————————————————————————
第82题,难度H
以下循环语句的执行次数为 ()
for (int i = 0,x = 0; i < 10; i++)
for (int j = i; j > 0; j--)
x++;
A:45
B:55
C:81
D:100
答案:1
————————————————————————
第83题,难度H
下面语句的输出结果的值为
int x = 1, y = 15;
do
展开阅读全文