C#试题1

《C#程序设计》——单项选择题

1. __________是独立于CPU 的指令集,它可以被高效地转换为特定于某种CPU 的代码。

A. CLR

B. CLS

C. MSIL

D. XML Web Service

2. 在Visual Studio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息。

A. 解决方案资源管理器

B. 类视图

C. 资源视图

D. 属性

3. C#中每个int 类型的变量占用_______个字节的内存。

A. 1

B. 2

C. 4

D. 8

4. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?

A. CString str;

B. string str;

C. Dim str as string

D. char * str;

5. 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?

A. decimal theMoney;

B. int theMoney;

C. string theMoney;

D. Dim theMoney as double

6. 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");

7. C#中MyClass 为一自定义类,其中有以下方法定义public void Hello(){..}使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类MyClass 的Hello 方法?

A. obj.Hello();

B. obj::Hello();

C. MyClass.Hello();

D. MyClass::Hello();

8. 分析下列C#语句,注意类MyClass 没有访问修饰符:

namespace ClassLibrary1

{

class MyClass

{

public class subclass

{

int i;

}

}

}

若必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择_________。

A. private

B. protected

C. internal

D. public

9. 分析下列程序:

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);

10. 分析下列程序中类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, 0

B. 100, 100

C. 0, 100

D. 100, 0

11. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_________。【多态】

A. sealed 方法

B. public 方法

C. visual 方法 --virtual

D. override 方法

12. 类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 参数!使用两个整型参数!使用两个整型参数!

13. C#程序中,可使用try..catch 机制来处理程序出现的______错误。

A. 语法

B. 运行

C. 逻辑

D. 拼写

14. C#中,在方法MyFunc 内部的try..catch 语句中,如果在try 代码块中发生异常,并且在当前的所有catch 块中都没有找到合适的catch 块,则

A. .NET 运行时忽略该异常

B. .NET 运行时马上强制退出该程序

C. .NET 运行时继续在MyFunc 的调用堆栈中查找提供该异常处理的过程

D. .NET 抛出一个新的“异常处理未找到”的异常

15. 在C#中,下列哪些语句可以创建一个具有3 个初始值为""的元素的字符串数组?

A. string StrList[3]("");

B. string[3] StrList = {"","",""};

C. string[] StrList = {"","",""};

D. string[] StrList = new string[3];

16. 下列语句创建了多少个string 对象?

string[,] strArray = new string[3][4];

A. 0

B. 3

C. 4

D. 12

17. 接口Animal 定义如下:

public interface Animal

{

void Move();

}

则下列抽象类的定义中,哪些是不合法的?

A. abstract class Cat: Animal

{

abstract public void Move();

}

B. abstract class Cat: Animal

{

virtual 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!");)};

}

18. _________命名空间中的类和接口用于创建Web 应用程序的页面?【超纲】

A. System.Drawing

B. System.IO

C. System.Web.UI

D. System.Web.Service

19. 在使用FileStream 打开一个文件时,通过使用FileMode 枚举类型的_________成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。

A. Append

B. Create

C. CreateNew

D. Truncate

20. 下列语句的输出是________。

double MyDouble = 123456789;

Console.WriteLine("{0:E}",MyDouble);

A. $123,456,789.00

B. 1.234568E+008

C. 123,456,789.00

D. 123456789.00

21. 下列哪个类型的对象是ADO.NET 在非连接模式下处理数据内容的主要对象?

A. Command

B. Connection

C. DataAdapter

D. DataSet

22. 应用 ADO.NET 访问数据时,Connection 对象的连接字符串中Initial Catalog 子串的含义是:

A. Connection 对象连接到的数据库的名称

B. Connection 对象的身份验证信息

C. Connection 对象的最大连接时间

D. Connection 对象使用的缓存大小

23. 在 Visual Studio .NET 中,新建DataAdapter 对象后,可使用___________来配置其属性。

A. 数据适配器配置向导

B. 数据窗体向导

C. 服务器资源管理器

D. 对象浏览器

24. 使用Visual Studio .NET 的“新建C# 项目”创建一个名为“SimpleForm”的Windows表单应用程序,则在生成_______文件中可设置该程序集的Copyright、Trademark 等属性信息。

A. Form1.resx

B. SimpleForm.sln

C. SimpleForm.csproj

D. AssemblyInfo.cs

25. 已知在某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();

26. 在C#中,预处理器指令#region 和#endregion 的作用是:

A. 注释#region 和#endregion 之间的代码

B. 为Code Editor 定义一段可折叠代码区

C. #region 和#endregion 之间的代码在Debug 版本中不参加编译

D. #region 和#endregion 之间的代码在Release 版本中不参加编译

27. 用鼠标右击一个控件时出现的菜单一般称为:

A. 主菜单

B. 菜单项

C. 快捷菜单

D. 子菜单

28. 变量openFileDialog1 引用一个OpenFileDialog 对象。为检查用户在退出对话框时是否单击了“打开”按钮,应检查openFileDialog1.ShowDialog()的返回值是否等于_______;

A. DialogResult.OK

B. DialogResult.Yes

C. DialogResult.No

D. DialogResult.Cancel

29. C#程序中,为使变量myForm 引用的窗体对象显示为对话框,必须:

A. 使用myForm.ShowDailog 方法显示对话框

B. 将myForm 对象的isDialog 属性设为true

C. 将myForm 对象的FormBorderStyle 枚举属性设置为FixedDialog

D. 将变量myForm 改为引用System.Windows.Dialog 类的对象

30. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性Button1.FlatStyle 的值应设定为:

A. System.Windows.Forms.FlatStyle.Flat

B. System.Windows.Forms.FlatStyle.Popup

C. System.Windows.Forms.FlatStyle.Standard

D. System.Windows.Forms.FlatStyle.System

31. 为保护Web Service 不受恶意访问的攻击,应使用_______保护Web Service。【超纲】

A. IIS 目录安全性

B. NTFS 安全性

C. 共享目录安全性

D. TCP/IP 安全性

32. Web 表单中,按钮的默认事件是【超纲】

A. Click 事件

B. Load 事件

C. Init 事件

D. Command 事件

33. Web 窗体文件的扩展名为【超纲】

A. ASP

B. ASPX

C. ASCX

D. HTML

34. 使用“新建项目—〉Visual C# Projects 项目—〉ASP.NET Web 应用程序”成功创建URL为“http://localhost/MyWeb”的Web 表单应用程序后,项目文件将保存在:【超纲】

A. 本地计算机Web 站点的MyWeb 虚拟目录下

B. 本地文件共享MyWeb 中

C. 另一台名为localhost 的计算机的Web 站点的MyWeb 虚拟目录下

D. 本地目录c:\My Documents\MyWeb 下

35. 关于ASP.NET 窗体应用程序,下列说法哪些是正确的?【超纲】

A. Web 窗体是在浏览器中进行解释执行的

B. Web 窗体程序中脚本和代码必须严格分开

C. Web 窗体程序产生的HTML 页面只能运行于IE 浏览器

D. Web 窗体程序的代码可以使用任何一种.NET 兼容的编程语言编写

36. 作为程序员,你需要为公司开发一套供员工使用的个人信息管理软件。软件需求之一是:令每个员工可以在公司的任意一台安装有该程序的工作站上,以自己喜爱的自定义界面运行该程序。为满足该需求,程序应优先采取下列何种策略保存每位用户的自定义设置?

A. 将个人设置保存到本地计算机硬盘的XML 文件中;

B. 将个人设置保存到公司的SQL Server 数据库服务器中;

C. 将个人设置保存到本地计算机的注册表中;

D. 将个人设置保存到软盘中;

37. C#程序中,下列哪些预处理指令用于条件编译?

A. #if

B. #ifdef

C. #Region

D. #error

38. 关于结构类型,下列说法哪些是正确的?

A. 结构是值类型

B. 结构中不允许定义带参数的实例构造函数;

C. 结构中不允许定义析构函数

D. 结构中可以定义成员方法,但是方法内不能使用this 指针

39. .NET 安全框架中,应用程序所属的“角色”是指:【超纲】

A. 启动该程序的用户必须处于的Windows 本地组

B. 该程序运行时使用哪个Windows 用户账号访问系统资源

C. .NET 框架定义的一组Principal 对象的集合,符合这些Principal 的程序就属于该角色

D. .NET 框架定义的一组资源对象的集合,处于该组的程序可以访问该组的资源

40. 在类的定义中,类的__________描述了该类的对象的行为特征。

A. 类名

B. 方法

C. 所属的名字空间

D. 私有域

41. .NET 公共语言运行时的安全引擎为.NET 托管程序代码的执行提供基于_________的安全机制。【超纲】

A. 用户和密码

B. 证书

C. 证据

D. 数据加密

42. ADO.NET 使用_______命名空间的类访问SQL Server 数据库中的数据。

A. System.Data.OleDb

B. System.Data.SqlClient

C. System.Xml.Serialization

D. System.IO

43. 在命令行下使用csc 命令编译C#源程序时,可使用_________参数来说明生成 Windows可执行文件。

A. /target:exe

B. /target:winexe

C. /target:library

D. /target:module

44. 一个多文件程序集中包含1个程序集清单文件、3个模块文件和2个资源文件。下列哪些信息包含在模块文件的元数据中?【超纲】

A. 程序集名称

B. 程序集引用的的文件列表

C. 本模块代码

D. 本模块中声明的数据类型信息

45. 下列哪些选项是.NET 异常处理的特点?

A. .NET 异常对象是一种特殊格式的32 位整型值

B. C#代码中抛出的异常对象,只能在C#编写的代码中捕获

C. 无法跨越进程边界引发和捕获异常对象

D. 不同编程语言抛出/捕获异常对象的句法可以不同

46. 以下类MyClass 的属性count 属于_____属性.

class MyClass

{

int i;

int count

{

get{ return i; }

}

}

A. 只读

B. 只写

C. 可读写

D. 不可读不可写

47. 在编写ASP.NET 页面时,若希望在每次页面载入时执行某个操作,则应将相应代码写入_______事件处理程序中。

A. 页面的Load

B. 页面的init

C. 页面的PreRender

D. 页面的Disposed 消息

48. 程序集MyWork.dll 部署在E:\MyWork\下,则该程序集的配置文件应保存在:

A. E:\ 文件夹下

B. E:\MyWork\文件夹下

C. E:\MyWork\MyWork 文件夹下

D. E:\MyWork\MyWork.dll\ 文件夹下

49. 某程序集的版本为:“2.0.1.112”,则该程序集的次版本号为:【记忆】

A. 0

B. 1

C. 2

D. 112

50. 类MyClass 中,下列哪条语句定义了一个只读的属性Count?

A. private int Count;

B. private int count;

public int Count{

get{return count;}

}

C. public readonly int Count;

D. public readonly int Count

{

get{ return count;}

set{count = value;}

}

51. C#中的类型float 对应.NET 类库中的

A. System.Single

B. System.Double

C. System.Int32

D. System.Int64

52. 判断下列类MyClass 的定义中哪些是合法的抽象类?

A. abstract class MyClass { public abstract int getCount(); }

B. abstract class MyClass { abstract int getCount(); }

C. private abstract class MyClass { abstract int getCount(); }

D. sealed abstract class MyClass { abstract int getCount(); }

53. 在自定义的类MyClass 中,应重载继承自System.Object 类的哪个方法,以实现自定义

的哈希算法?

A. GetHashCode

B. Equals

C. ReferenceEquals

D. ToString

54. 已知接口IHello 和类Base、MyClass 的定义如下

interface IHello {

void Hello();

}

class Base : IHello {

public void Hello()

{

System.Console.WriteLine("Hello in Base!");

}

}

class Derived : Base {

public void Hello()

{

System.Console.WriteLine("Hello in Derived!");

}

}

则下列语句在控制台中的输出结果为_____。

IHello x = new Derived();

x.Hello();

A. Hello in Base!

B. Hello in Derived!

C. Hello in Base!Hello in Derived!

D. Hello in Derived!Hello in Base!..

55. 为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?

A. int Num = int.Parse(str);

B. int Num = str.Parse(int);

C. int Num = (int)str;

D. int Num = int.Parse(str,Globalization.NumberStyles.AllowThousands);

56. 已知结构Resource 的定义如下:

struct Resource{

public int Data = 0;

}

则下列语句的运行结果为_________。

Resource[] list= new Resource[20];

for(int i = 0;i<20;i++){

System.Console.WriteLine(“data={0}”,list[i].Data);

}

A. 打印20 行,每行输出都是 data=0

B. 打印20 行,每行输出都是 data=null

C. 打印20行.第1行输出data=0,第2行输出data=2,.,第20行输出data=19

D. 出现运行时异常

57. 分析下列语句:

namespace TestCS{

public delegate void Hello(string target);

}

该语句的作用是:

A. 在TestCS 命名空间中定义了一个名为Hello 的全局方法;

B. 在TestCS 命名空间中声明了函数Hello 的原型;

C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针;

D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型;

58. 已知类型DoSomething 定义如下:

public delegate void DoSomething();

a,b,c,d 是DoSomething 的变量,分别有以下调用列表:

a: objA.Func1、objA.Func2

b: objA.Func1、Class1.StaticFunc

c:objA.Func1、Class2.StaticFunc

d: Class2.StaticFunc

其中objA 为类Class1 的对象,objB 为类Class2 的对象。则执行b=b+c 后,变量b 关联的方法数目为:

A. 2

B. 3

C. 4

D. 5

59. 已知类MyClass 中事件MouseClicked 定义如下:

public static event MouseClickedListener MouseClicked;

执行下列语句:

MouseClicked += new MouseClickedListener(obj.DoSomething);

MouseClicked += new MouseClickedListener(obj.DoSomething);

然后引发该MouseClicked 事件,其结果为:

A. obj.DoSomething 方法被调用4 次

B. obj.DoSomething 方法被调用2 次

C. obj.DoSomething 方法被调用1 次

D. obj.DoSomething 方法不会被调用

60. 下列代码存在一个编译错误。如何消除该错误?(左边为行号)

1 public void Test(object param) {

2 Resource r0 = new Resource(100);

3 using( Resource r1 = new Resource(100)) {

4 r1.print();

5 r1 = new Resource(50);

6 }

7 }

A. 第1 行声明的param 参数未在方法内使用。删除该参数;

B. 第3 行修改为:using( Resource r1 = new Resource(100);) {

C. 删除第5行

D. 第5 行修改为:r1=r0;

61. 在类实现的Dispose 方法中,一般应调用______来阻止类终止器的执行。【超纲】

A. GC.Collect();

B. GC.GetGeneration(this);

C. GC.ReRegisterForFinalize(this);

D. GC.SuppressFinalize(this);

62. 下列哪些Stream 类不支持查找操作?

A. FileStream

B. MemoryStream

C. BufferedStream

D. NetworkStream

63. 整型数组MyIntArray 的定义和初始化如下。为了将数组MyIntArray 的所有元素值写入FileStream 流,可创建_______类的实例对该流进行写入。

int[] MyIntArray = new int[400];

for(int i = 0;i<400;i++) MyIntArray[i]=i;

A. BinaryWriter

B. StreamWriter

C. TextWriter

D. StringWriter

64. 用FileStream 打开一个文件时,可用FileShare 参数控制:

A. 对文件执行覆盖、创建、打开等选项中的哪些操作;

B. 对文件进行只读、只写还是读/写

C. 其他FileStream 对同一个文件所具有的访问类型

D. 对文件进行随机访问时的定位参考点

65. 下列哪个选项不属于URI 的组成部分?

A. 方案标识符

B. 客户机标识符

C. 路径标识符

D. 查询字符串

66. 若Internet 资源要求验证客户端身份,WebRequest.GetResponse 方法将引发一个身份验证过程。此过程成功结束后,身份验证模块将向WebRequest 实例返回一个__________类实例,该实例包含Internet 服务器的验证消息。

A. Authorization

B. WebResponse

C. Cookie

D. NetworkCredential

67. 某程序使用System.Net 访问Internet 资源时返回WebException。请问,其Status 值等于下列哪个选项时,表明从服务器接收的响应是完整的,但在协议级别上有错误?

A. System.Net.WebExceptionStatus.ReceiveFailure

B. System.Net.WebExceptionStatus.ProtocolError

C. System.Net.WebExceptionStatus.SendFailure

D. System.Net.WebExceptionStatus.Timeout

68. C#中,将类加上_______属性来标记该类支持序列化。

A. [Serializable]

B. [Formatable]

C. [Stream]

D. [STAThread]

69. 在处理对象图的反序列化过程中,ObjectManager 可以确定:对序列化流中的某个对象的引用,是指向一个已经反序列化的对象,还是指向一个尚未反序列化的对象。其中对已经反序列化的对象的引用被称为________。

A. 前向引用

B. 后向引用

C. 正引用

D. 反引用

70. 解决方案DoRemotingCall包含3个项目MyServer、MyClient、Common,场景如下:MyServer和MyClient分别为两个C# 控制台项目,Common为C#类库项目。其中,Common 项目实现了类Class1 和Class2,输出文件为Common.dll;MyServer 引用Common.dll,并准备向.NET 远程处理框架注册类Class1、Class2 为“服务器激活”对象;MyClient 引用Common.dll,并希望可以通过.NET 远程处理以“服务器激活”方式访问由MyServer 进程创建的Class1、Class2 类的对象。现在要为MyServer 注册两个信道对象:Channel1和Channel2,分别用于客户端对Class1 和Class2 类的对象的访问;因此,需要在MyServer 的Main 方法中注册2 个信道、注册2 个服务器类。请问,它们正确的顺序是:

A. 注册 Channel1、注册Channel2、注册类Class1、注册类Class2

B. 注册 Channel1、注册类Class1、注册Channel2、注册类Class2

C. 注册类Class1、注册类Class2、注册 Channel1、注册Channel2

D. 注册类Class1、注册 Channel1、注册类Class2、注册Channel2

71. 在IIS 服务器中承载远程对象时,应考虑使用_______,从而获得IIS 在身份验证、授权等安全方面的有力支持。

A. HttpChannel

B. TcpChannel

C. UdpChannel

D. SLLChannel

72. 在.NET 远程处理中,_________的类的实例可以跨应用程序域进行按值封送。

A. 实现Iserializable 接口

B. 具有[Serializable]属性

C. 实现IObjectReference 接口

D. 从MarshalByRefObject 类继承

73. 为了判断线程t1 是否是在后台运行,需访问t1 的______属性。

A. CurrentThread

B. IsBackgroud

C. IsAlive

D. ThreadState

74. 类MyClass 中已知有以下字段定义:

object i = 100,j=200, k=300;

则执行下列语句后,这3 个字段的值是______:

Interlocked.CompareExchange(ref i,j,k);

A. i:100,j:200,k:300

B. i:200,j:200,k:300

C. i:300,j:200;k:100

D. i:100,j:100,k:300

75. 多线程C#程序中,类MyClass 定义如下:

class MyClass {

ReaderWriterLock rwl = new ReaderWriterLock();

private int i;

public void Read() {

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(ref i); Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public void Write() {

rwl.AcquireWriterLock(Timeout.Infinite);

Interlocked.Decrement(ref i); Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}

}

请问,可以有多少个线程同时调用Read()并将i 的值加1?

A. 0个

B. 1个

C. 多个

D. 没有

76. 利用__________服务,托管代码可以调用在动态链接库 (DLL)(如 Win32 API 中的DLL)中实现的非托管函数。

A. 平台调用

B. 运行库可调用包装

C. COM 可调用包装

D. 信道

77. 在ADO.NET 中,执行数据库的某个存储过程,则至少需要创建________并设置它们的属性,调用合适的方法:

A. 一个Connection 对象和一个Command 对象

B. 一个Connection 对象和DataSet 对象

C. 一个Command 对象和一个DataSet 对象

D. 一个Command 对象和一个DataAdapter 对象

78. 在使用ADO.NET 编写连接到SQL Server 2000 数据库的应用程序时,从提高性能角度考虑,应创建______类的对象,并调用其Open 方法连接到数据库。

A. Connection

B. SqlConnection

C. OleDbConnection

D. OdbcConnection

79. 在ADO.NET 中,DataAdapter 对象下列哪个Command 属性用于将DataSet 中的新增记录保存到数据源?

A. Select Command

B. Insert Command

C. Update Command

D. Delete Command

80. 在C#程序中,可以使用_______属性来引用处于非托管代码环境中的函数。

A. [DllImport]

B. [Conditional]

C. [STAThread]

D. [SecureMethod]

81. 为了确定是否为类MyClass 附加了属性NameAttribute,应使用以下哪个语句?

A. bool b = typeof(MyClass).IsDefined(typeof(NameAttribute),false);

B. bool b = typeof(MyClass).IsDefined(typeof(Name),false);

C. bool b = typeof(MyClass).HasDefined(typeof(NameAttribute),false);

D. bool b = typeof(MyClass).HasDefined(typeof(Name),false);

82. .NET的目的就是将_____作为新一代操作系统的基础,对互联网的设计思想进行扩展。

A. 互联网

B. Windows

C. C#

D.网络操作系统

83. 假设变量x的值为25,要输出x的值,下列正确的语句是____。

A. System.Console.writeline(“x”)

B. System.Console.WriteLine(“x”)

C. System.Console.writeline(“x={0}”,x)

D. System.Console.writeline(“x={x}”)

84. 要退出应用程序的执行,应执行下列的____语句。

A. Aapplication.Exit();

B. Aapplication.Exit;

C. Aapplication.Close();

D. Aapplication.Close;

85. 关于C#程序的书写,下列不正确的说法是____。

A. 区分大小写

B. 一行可以写多条语句

C. 一条语句可写成多行

D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法

87. 在C#语言中,下列能够作为变量名的是____。

A. if

B. 3ab

C. a_3b

D. a-bc

88. 在C#语言中,下面的运算符中,优先级最高的是____。

A. %

B. ++

C. /=

D. >>

89. 能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是____。

A. a>=10 or a<=0

B. a>=10|a<=0

C. a>=10&&a<=0

D. a>=10||a<=0

90. 以下程序的输出结果是____。

Using system;

Class Example1

{

Public Static void main()

{

Int a=5,b=4,c=6,d;

Console.Writeline(“{0}”,d=a>b?(a>c?a:c):b);

}

}

A.5 B.4 C.6 D.不确定

91. if语句后面的表达式应该是____。

A. 逻辑表达式

B. 条件表达式

C. 算术表达式

D. 任意表达式

92.. .有如下程序

Using system;

Class Example1

{

Public Static void main()

{

Int x=1,a=0,b=0;

Switch(x)

{

Case 0:b++,break;

Case 1:a++,break;

Case 2:a++,b++,break;

}

Console.Writeline(“a={0},b={1}”,a,b);

}

}的输出结果是

A. a=2,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=2

93. 以下叙述正确的是____。

A. do….while语句构成的循环不能用其他语句构成的循环来代替

B. do….while语句构成的循环只能用break语句退出

C. 用do….while语句构成的循环,在while后的表达式为true时结束循环

D. 用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

94. 以下关于for循环的说法不正确的是____。

A. for循环只能用于循环次数已经确定的情况

B. for循环是先判定表达式,后执行循环体语句

C. for循环中,可以用break语句跳出循环体

D. for循环体语句中,可以包含多条语句,但要用花括号括起来。

95. 假定int类型变量占用两个字节,若有定义:int [] x=new int[10]{0,2,4,4,5,6,7,8,9,10};则数组x在内存中所占字节数是____。

A. 6

B. 20

C. 40

D. 80

96. 以下程序的输出结果是:

Class Example1

{

Public Static void main()

{

Int I;

Int []a=new int[10];

For(i=9;i>=0;i--)

a[i]=10-I;

Console.Writeline(“{0},{1}{2}”,a[2],a[5],a[8]);

}

}

A. 258 B. 741 C. 852 D. 369

97. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是____。

A. a(3,4) B. a(3)(4) C. a[3][4] D. a[3,4]

98.下列的数组定义语句,不正确的是____。

A. int a[]=new int[5]{1,2,3,4,5}

B. int[,]a=new inta[3][4]

C. int[][]a=new int [3][];

D. int []a={1,2,3,4};

99. 关于C#语言的方法,下列叙述中正确的是____。

A. 方法的定义不能嵌套,但方法调用可以嵌套

B. 方法的定义可以嵌套,但方法调用不能嵌套

C. 方法的定义和调用都不能嵌套

D. 方法的定义和调用都可以嵌套

100. 以下所列的个方法头部中,正确的是____。

A. void play(var a:Integer,var b:integer)

B. void play(int a,b)

C. void play(int a,int b)

D. Sub play(a as integer,b as integer)

101. 下列程序的结果是:

Using system;

Class Example1

{

Static long fib(int n)

{

If(n>2) return(fib(n-1)+fib(n-2));

Else rerurn(2);

}

Public Static void main()

{ Console.Writeline(“{0}”,fib(3));}

}

A.2 B.4 C.6 D.8

102.下列程序的输出结果是____。

Using system;

Class Example1

{

Static long sub(int x,int y)

{

Z=x*x+y*y;

}

Public Static void main()

{ int a=30;

Sub(5,2);

Console.Writeline(“{0}”,a);

}

}

A. 0 B. 29 C. 30 D. 无定值

103. 下列程序的执行结果是____。

Using system;

Class Example1

{ enum team={my,your=4,his,her=his+10};

Public Static void main()

{

Console.Writeline(“{0},{1},{2},{3}”,(int)team.my, (int)team.your, (int)team.his, (int)team.her);

}

}

A. 0 1 2 3 B. 0 4 0 10 C. 0 4 5 15 D. 1 4 5 15

104.以下对枚举的定义,正确的是____。

A. enum a={one.two,three}

B. enum a {a1,a2,a3};

C. enum a={‘1’,’2’,’3’};

D. enum a {“one”,”two”,”three”};

105. 枚举型常量的值不可以是____类型

A. int B. long C. ushort D. doule

106. 调用重载方法时,系统根据________来选择具体的方法。

A. 方法名

B. 参数的个数和类型

C. 参数名及参数个数

D. 方法的返回值类型

107. 下列的_______不是构造函数的特征。

A. 构造函数的函数名和类名相同

B. 构造函数可以重载

C. 构造函数可以带有参数

D. 可以指定构造函数的返回值

108. 类Class A有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则修饰M1方法时一定使用了________修饰符。

Class Aobj=new Class A();

Class A.M1();

A. public

B. static

C. private

D. virtual

109. 已知类B是由类A继承而来,类A中有一个为M的非虚方法,现在希望在类B中也定义一个名为M的方法,若希望编译时不出现警告信息,则在类B中声明该方法时,应使用________方法。

A. static

B. new

C. override

D. virtual

110. 下列关于try…catch…finaly语句的说明中,不正确的是_________。

A. catch块可以有多个

B. finaly

C. catch块也是可选的

D. 可以只有try块

111. 为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为_________。

A. Exception

B. DivideByZeroException

C. FormatException

D. 以上三个均可

112. 关于异常,下列的说法中不正确的是_________。

A. 用户可以根据需要抛出异常

B. 在被调用方法可通过throw语句把异常传回给调用方法

C. 用户可以自己定义异常

D. 在C#中有的异常不能被捕获

113. 下列说法中正确的是_________。

A. 在C#中,编译时对数组下标越界将作检查

B. 在C#中,程序运行时,数组下标越界也不会产生异常

C. 在C#中,程序运行时,数组下标越界是否产生异常由用户确定

D. 在C#中,程序运行时,数组下标越界一定会产生异常

114. 要使窗体刚运行时,显示在屏幕的中央,应设置窗体的_________属性。

A. WindowsState

B. StartPostion

C. CenterScreen

D. CenterParenr

115. 要使文本框控件能够显示多行而且能够自动换行,应设置它的_________属性。

A. MaxLength和Multline

B. Multlineh和WordWrap

C. PassWordChar和Multline

D. MaxLength和WordWrap

116. 在使用RichTextBox控件进行文档编辑时,如果希望知道文档上次设置该控件的内容后,文本框中内容是否改变,可使用它的_________属性。

A. Modified

B. SelectedText

C. Undo

D. SaveFile

117. 要使复选框控件能够显示出三种状态,应首先设置它的_________属性。

A. ThreeState

B. Checked

C. CheckState

D. Indeterminate

118. 已知OpenFileDialog控件的Filter属性值为“文本文件(*.txt)|*.txt|图形文件(*.BMP*.JPG)|*.BMP;*.JPG|*.RTF文件(*.RTF)|*.RTF”,若希望程序运行时,打开对话框的文件过滤器中显示的文件类型为RTF文件(*.RTF),应把它的FilterIndex属性值设置为 ___________。

A. 2

B. 3

C. 4

D. 5

119. 在设计菜单时,若希望某个菜单项前面有一个“√”号,应把该菜单项的___________属性设置为true。

A. Checked

B. RadioCheck

C. ShowShortcut

D. Enabled

120. 在GDI+的所有类中,___________类是核心,在绘制任何图形之前,一定要先用它创建一个对象。

A. Graphics

B. Pen

C. Brush

D. Font

121. 要设置Pen对象绘制线条的宽度,应使用它的___________属性。

A. Color

B. Width

C. DashStyle

D. PenType

122. 通过HatchBush对象的___________属性可设置HatchBush对象的阴影样式。

A. BackgroundColor

B. ForegroundColor

C. HatchStyle

D. ColorStyle

123. 多媒体技术的最重要的特点是___________。

A. 娱乐性

B. 智能性

C. 多样性

D. 交互性

124. 要播放WAV文件,应把MMControl控件的DeviceType属性值设置为___________。

A. CDAudio

B. WavAudio

C. Sequence

D. AVIVideo

125. 下面对Read( )和ReadLine( )方法的描述,哪些是正确的_____。

A. Read( )方法一次只能从输入流中读取一个字符

B. 使用Read()方法读取的字符不包含回车和换行符

C. ReadLine()方法读取的字符不包含回车和换行符

D. 只有当用户按下回车键时,Read( )和ReadLine()方法才会返回

126. 下面对Write()和WriteLine()方法的描述,哪些是正确的____。

A. WriteLine()方法在输出字符串的后面添加换行符

B. 使用Write()输出字符串时,光标将会位于字符串的后面

C. 使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串

D. 使用不带参数的WriteLine()方法时,将不会产生任何输出

127. 假设存在下面的代码:

double x=66666.66;

Console. WriteLine(“{0,10:C4}”,x );

请从下面选择正确的输出结果____。

A. ¥66,666.6600

B. Y66.666.66

C. 66,666.6600

D. 66,666.66

128 以下标识符中,正确的是____。

A._nName

B.typeof

C.6b

D.x5#

129 以下类型中,不属于值类型的是____。

A. 整数类型

B. 布尔类型

C. 字符类型

D. 类类型

130 结构化的程序设计的3种基本结构是_____。

A. 顺序结构,If结构,for结构

B. if 结构,if…..else结构 else if结构

C. while结构,do….while结构,foreach结构

D. 顺序结构,分支结构,循环结构

131 已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为____。

If(c<b)

N=a+b+c;

Else if(a+b<c)

N=c-a-b;

Else

N=a+b;

A. 3 B. -3 C. 9 D. 15

132. while语句循环结构和do…while 语句循环结构的区别在于____。

A. while语句的执行效率较高

B. do…while语句编写程序较复杂

C. 无论条件是否成立,while语句都要执行一次循环体

D. do…while循环是先执行循环体,后判断条件表达式是否成立,而while语句是先判断条件表达式,再决定是否执行循环体.

133. 下面有关for语句的描述有错误的是____。

A. 使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式

B. 在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号

C. 在for语句表达式中,可以直接定义循环变量,以简化代码

D. for语句的表达式可以全部省略

134. 下面有关break,continue 和goto语句描述正确的是____。

A. break 语句和continue语句都是用于终止当前整个循环

B. 使用break语句可以一次跳出多重循环

C. 使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用goto语句

D. goto语句必须和标识符配合使用,break和continue语句则不然

135 假设给出下面代码:

Try

{

Throw new OverflowException();

}

Catch(FileNotFoundException e){}

Catch(OverflowException e){}

Catch(SystemException e){}

Catch{}

Finally{}

则下面哪些语句会得到执行____。

A. Ccatch(OverflowException e){}

B. Catch(OverflowException e){}

B. Catch(SystemException e){}

D. Catch{}, Finally{}

136. 下面是几条定义初始化一维数组的语句,指出其中正确的是____。

A. int arr1 [ ]={6,5,1,2,3};

B. int [ ] arr1=new int[ ];

C. int[ ] arr1=new int[ ]{6,5,1,2,3};

D. int[ ] arr1;arr1={6,5,1,2,3};

137 下面是几条动态初始化一维数组的语句,指出其中正确的是____。??

A. int [ ] arr2=new int[ ];

B. int arr2=new int[4];

C. int[ ] arr2=new int[i]{6,5,1,2,3};

D. int[ ] arr2=new int[4]{6,5,1,2,3};

138. 下面是几条定义并初始化而维数组的语句,指出其中正确的是____。

A. int arr3[ ][ ]=new int[4,5];

B. int [ ][ ] arr3=new int[4,5];

C. int arr3[,]=new int[4,5]

D. int[, ] arr3=new int[4,5];

139. 下面有关枚举成员赋值说法正确的是____。

A. 在定义枚举类型时,至少要为其中的一个枚举成员赋一个常量值

B. 在定义枚举类型时,直接为某个枚举成员赋值,则其他枚举成员依次取值

C. 在把一个枚举成员的值赋给另一个枚举成员时,可以不考虑它们在代码中出现的顺序??

D. 在定义的一个枚举类型中,任何两个枚举成员都不能具有相同的常量值

enum pSex

{

男性 = 101,

女性 = 101

}

class Example1

{

public static void Main()

{

Sex s = Sex.male;

int x = (int)Sex.male;

int y = (int)pSex.女性;

int z = (int)pSex.男性;

}

}