C#单项选择题

更新时间:2024-05-02 11:24:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C#程应用开发》——单项选择题

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

D. XML Web Service

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

A. 解决方案资源管理器 B. 类视图 C. 资源视图 D. 属性

3. C#中每个int 类型的变量占用___C____个字节的内存。 A. 1 B. 2 C. 4 D. 8

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

C. Dim str as string D. char * str;

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

A. decimal theMoney; B. int theMoney; C. string theMoney;

D. Dim theMoney as double

6. C#中,新建一字符串变量str,并将字符串\保存到串中,则应该使用下列哪条语句? B

A. string str = \ B. string str = \ C. string str(\ D. string str(\

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

问类MyClass 的Hello 方法?A 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 的可访问域保持不变,则应选择___B______。 A. private B. protected C. internal D. public

9. 分析下列程序: public class class4 {

private string _sData = \

public string sData{set{_sData = value;}} }

在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?B A. obj.sData = \ 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(\

(提示:注意类 MyClass 中的new 关键字) A. 0, 0 B. 100, 100 C. 0, 100 D. 100, 0

11. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成___D______。 A. sealed 方法 B. public 方法 C. visual 方法 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(\ }

C. abstract class Cat: Animal {

public void Move(){Console.Write(Console.Write(\ }

D. abstract class Cat: Animal {

public void Eat(){Console.Write(Console.Write(\ }

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(\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(\!\

} }

class Derived : Base { public void Hello() {

System.Console.WriteLine(\!\} }

则下列语句在控制台中的输出结果为_____。 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. 要退出应用程序的执行,应执行下列的_C___语句。 A. Aapplication.Exit(); B. Aapplication.Exit;

C. Aapplication.Close(); D. Aapplication.Close;

85. 关于C#程序的书写,下列不正确的说法是__D__。 A. 区分大小写

B. 一行可以写多条语句 C. 一条语句可写成多行

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

87. 在C#语言中,下列能够作为变量名的是__C__。 A. if B. 3ab C. a_3b D. a-bc

88. 在C#语言中,下面的运算符中,优先级最高的是__A__。 A. % B. ++ C. /= D. >>

89. 能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是_D___。 A. a>=10 or a<=0 B. a>=10|a<=0 C. a>=10&&a<=0 D. a>=10||a<=0

90. 以下程序的输出结果是_A___。 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语句后面的表达式应该是__B__。 A. 逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式

92.. .有如下程序 A 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. 以下叙述正确的是__B__。

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

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

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

94. 以下关于for循环的说法不正确的是__A__。 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在内存中所占字节数是_ C___。 A. 6 B. 20 C. 40 D. 80

96. 以下程序的输出结果是:B 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]; 则下列正确的数组元素的引用是___D_。 A. a(3,4) B. a(3)(4) C. a[3][4] D. a[3,4]

98.下列的数组定义语句,不正确的是__C__。 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_。 A. 方法的定义不能嵌套,但方法调用可以嵌套 B. 方法的定义可以嵌套,但方法调用不能嵌套 C. 方法的定义和调用都不能嵌套 D. 方法的定义和调用都可以嵌套

100. 以下所列的个方法头部中,正确的是_C___。 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. 下列程序的结果是:B 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.下列程序的输出结果是__D__。 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

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

B. 参数的个数和类型 C. 参数名及参数个数 D. 方法的返回值类型

107. 下列的_____D__不是构造函数的特征。 A. 构造函数的函数名和类名相同 B. 构造函数可以重载 C. 构造函数可以带有参数

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

108. 类Class A有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执

行的,则修饰M1方法时一定使用了____A____修饰符。 Class Aobj=new Class A(); Class A.M1(); A. public B. static C. private D. virtual

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

110. 下列关于try…catch…finaly语句的说明中,不正确的是____A_____。 A. catch块可以有多个 B. finaly

C. catch块也是可选的 D. 可以只有try块

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

B. DivideByZeroException C. FormatException D. 以上三个均可

?112. 关于异常,下列的说法中不正确的是_________。 A. 用户可以根据需要抛出异常

B. 在被调用方法可通过throw语句把异常传回给调用方法 C. 用户可以自己定义异常

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

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

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

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

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

?125. 下面对Read( )和ReadLine( )方法的描述,哪些是正确的__B___。 A. Read( )方法一次只能从输入流中读取一个字符 B. 使用Read()方法读取的字符不包含回车和换行符 C. ReadLine()方法读取的字符不包含回车和换行符

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

126. 下面对Write()和WriteLine()方法的描述,哪些是正确的__D__。 A. WriteLine()方法在输出字符串的后面添加换行符

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

C. 使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串 D. 使用不带参数的WriteLine()方法时,将不会产生任何输出

127. 假设存在下面的代码: double x=66666.66;

Console. WriteLine(“{0,10:C4}”,x ); 请从下面选择正确的输出结果__A_。 A. ¥66,666.6600 B. Y66.666.66 C. 66,666.6600 D. 66,666.66

128 以下标识符中,正确的是__A__。 A._nName B.typeof C.6b D.x5#

129 以下类型中,不属于值类型的是___D_。 A. 整数类型 B. 布尔类型 C. 字符类型 D. 类类型

130 结构化的程序设计的3种基本结构是__D___。 A. 顺序结构,If结构,for结构

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

C. while结构,do….while结构,foreach结构 D. 顺序结构,分支结构,循环结构

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

N=a+b+c; Else if(a+b

N=a+b;

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

132. while语句循环结构和do…while 语句循环结构的区别在于___C_。 A. while语句的执行效率较高 B. do…while语句编写程序较复杂

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

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

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

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{}

则下面哪些语句会得到执行__D__。 A. Ccatch(OverflowException e){} B. Catch(OverflowException e){} B. Catch(SystemException e){}

D. Catch{}, Finally{} 无论是否有异常finally 都会被执行

136. 下面是几条定义初始化一维数组的语句,指出其中正确的是___C_。 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 下面是几条动态初始化一维数组的语句,指出其中正确的是__B__。 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. 下面是几条定义并初始化而维数组的语句,指出其中正确的是__D__。 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];

140.下列哪一项正确描述了Visual Studio.NET与 .NET Framework之间的关系( B )。 A. Visual Studio.NET与 .NET Framework之间没有关系

B. 可以使用Visual Studio.NET IDE或者简单的文本编辑器创建应用程序,应用程序运行时需要使用.NET Framework

C. 开发应用程序时需要.NET Framework,但是在运行Visual Studio.NET创建的应用程序时不需要它。 D. 都不对。

141.下列各选项中,哪个选项不是.NET Framework的组成部分( A )。 A. 应用程序开发程序

B. 公共语言规范和.NET Framework类库 C. 语言编辑器

D. JIT编辑器和应用程序执行管理

142.下面对公共语言运行时说法正确的是( C )。 A. 是.NET平台的基础

B. 提供多种服务,但不包括垃圾收集器 C. 是.NET Framework的核心组件 D. 与.NET Framework无关

D.托管代码依赖于CLR提供的服务,而非托管代码不需要 145.引用类型和值类型之间的区别是( A )。

A. 引用类型变量保存内存地址,值类型直接保存变量值 B. 引用类型在变量中直接保存变量值,值类型保存内存地址 C. 引用类型和值类型保存数据的方式相同

D. .NET Framework不支持值类型,因为所有的类型都是引用类型了

146.下列关于命名空间描述不正确的是(A )。

A. 命名空间就是.NET Framework中相关类和命名空间的集合

B. System.Windows.Forms命名空间定义了包含工具箱中的控件及窗体自身的类 C. 命名控件中的所有类都是从同一个基类中继承的 D. 上述都对

147.下面对程序集清单说法正确的是( B )。

A. 程序集没有清单

B. 它描述了程序集以及组成程序集的各个模块 C. 清单是公共访问属性,不包括许可 D.没有指明程序集安全性

149.下面对程序集和命名空间说法正确的是( C )。 A. 一个程序集只能引用一个命名空间

B. 一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中 C. 一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中 D. 一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间

150.下列类型中为值类型的是___A_. A. 字符串类型 B. 数组类型

C. 枚举类型 引用类型 D. 接口类型 ,委托

151.下列给出的变量名正确的是_D ____. A. int NO.1 B.char use

C.float Main 不对 D.char @use

152.对于等式y=ax3+7,下列表达式中正确的是_A____ A. y=a*x*x*x+7 B.y=a*(x*x*x)+7 C.y=a*x*(x*x+7) D.y=(a*x)*x*x+7

153.下面有关运算符的说法正确的是__C__

A.算术运算符不能对布尔类型,String*(字符串类型)和Object*(对象类型) 进行算术运算 B.关系运算中的”= =”和赋值运算符中的”=”是相同的

C.sizeof运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)

D.括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序

????154.执行下面的程序后,结果是正确是_A__ using System; class Test {

Static void Main() {

string s=”Test”;

string t=string .Copy(s);

Console.WriteLine(s= =t);

Console.WriteLine((object)s= =t); Console.WriteLine(s= =(object)t);

Console.WriteLine((object)s= =(object)t); } }

A.True False False False B.False False True False C.False False False True D.True True False False

155.下面对for语句说法正确的是 B___ A.for语句的循环条件不能缺少 B.for(;;)是无限循环 C.for循环无法嵌套 D.for语句是跳转语句

??????156.下列代码输出正确的是_A__ namespace Answer {

class Program {

static void Main(string[] args) {

int I,j;

for(i=1;i>=0;i--)

for(j=0;j<=I;j++) Console.WriteLine(“i*j={0}”,i*j);

} } }

A.i*j=0 i*j=0 i*j=0 B.i*j=1 i*j=0 i*j=1 C.i*j=1 i*j=1 i*j=0 D.i*j=0 i*j=1 i*j=0

157.当输入e和q时下列代码的输出结果为_D_ namespace Answer {

class Program {

static void Main(string[] args) {

char c;

while((c= convert.ToChar(Console.ReadLine()))!=’q’) {

Console.WriteLine(“你输入的是:{0}”,c); } } }

}

A.你输入的是:e 退出程序

B.你输入的是:e 你输入的是:q C.你输入的是:q 你输入的是:e D.退出程序

158.下面对i值的输出结果说法正确的是__B___. namespace Answer {

class Program {

static void Main(string[] args) {

int i do {

i++; } while(i<5)

Console.WriteLine(“i值的为:{0}”,i) } } }

A.i的值为: 5 B.i的值为: 6 C.i的值为: 7 D.i的值为: 8

? 159.下面代码的执行结果正确的是 _A____ 不确定的答案 namespace Answer {

class Program {

static void Main(string[] args) {

int i=0;

while(i<=2)

{

}

} A.0 B.1 C.2 D.3

160.下列参数类型中_D__是C#中不允许使用的 A.值参数 B.引用参数 C.输出参数 D.指针参数

161.有两个具有相同名字的函数,当只满足下列选项的__D__条件时,它们不能算作重载函数。

A.返回值的类不同 B.参数数目不同 C.参数类型不同 D.参数的顺序不同

162.关于参数数组,下列说法错误的是_B__. A.参数数组必须是函数的最后一个参数。 B.参数数组必须是一维数组

C.参数数组的声明同普通数组一样

D.参数数组所对应的实参的个数是不固定的

164.下面对字段说法正确的是__B__。 A.字段可以用static修饰符

B.使用字段前必须对它进行初始化 C.字段就是变量

D.字段只能声明为只读的

165.下面代码表示成员重载的是_D__。 A. class Myclass

{

public void fun(){

Console.WriteLine(“无参数”); }

}

}

i++;

Console.WriteLine(“{0}”,i); if( i==1)break;

public void fun(int a){

Console.WriteLine(“有一个整型的参数”); } }

B.class Myclass {

public int a;

public void fun(){

Console.WriteLine(“无参数”); } }

class Myclass1{

public void fun(int a){

Console.WriteLine(“有一个整型的参数”); } }

C.class Myclass {

public int a;

public void fun(){

Console.WriteLine(“无参数”); }

public void Fun(int a){

Console.WriteLine(“有一个整型的参数”); } }

D.以上都不是

166.如果类名为Myclass,那么__B_可以作为它的构造函数,____是它的祈构函数。 A.~Myclass()

B.Myclass(double a) C.~Myclass(double a) D.void Myclass()

168.下面的修饰符中__C_不是访问修饰符。 A.public B.protected C.new D.internal

169.声明事件时要先声明__D__. A.字段 B.属性 C.方法

D.委托

170.下列有关虚函数说法不正确的是____A___. A.虚函数是静态的

B.虚函数声明只能出现在类定义的函数原型声明中

C.一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性 D.在基类中定义了虚函数后,可以在派生类中对它进行重写

171.下面对抽象类描述不正确的是__A____。 A.抽象类只能作为基类使用 B.抽象类不能定义对象 C.抽象类可以实例对象 D.可以实现多态

172.下面对异常说法不正确的是_D__ A.try/catch块为基本引发异常的组合 B.在捕获异常时,可以有多个catch块 C.无论异常是否发生,finally块总会执行 D.try块和finally 不能连用

173.对下面的代码说法正确的是___B__ class Baseclass {

protected Baseclass(string a,string b){

Console.WriteLine(“基类中构造函数”); } }

class Derivcedlcass:Baseclass{

public Derivcedlcass(string a,string d):base(a,b){ Console.WriteLine(“派生类中的构造函数”); } }

A.代码无错误,派生类中实现了构造函数

B.代码有错误,派生类的base 关键字中不应带有参数 C.代码无错误,创建派生类对象可以直接执行

D.代码有错误,base关键字中的参数应改为”base(c,d)”

174.下面代码执行结果正确的是___A___. namespace Answer {

class Baseclass{

public virtual int Show(){

return 5; }

}

class Derivcedlcass:Baseclass{

public new int Show(){

return 6; } }

class Derivcedlcass1:Baseclass{

public override int Show(){

return 7; } }

class Program {

static void Main(string[] args){

Baseclass[] a=new Baseclass[2]; a[0]=new Derivcedlcass(); a[1]=new Derivcedlcass1();

Console.WriteLine(“a[0]={0}”,a[0].Show()); Console.WriteLine(“a[1]={0}”,a[1].Show()); } }

}

A.a[0]=7 a[1]=6 B.a[0]=6 a[1]=5 C.a[0]=5 a[1]=7 D.a[0]=7 a[1]=5

175.下面选项中是在C#中定义数组的是__D_ A.int a[5]={1,2,3,4,5};

B.double [2][3] aa={{1,2,3},{5,2,1}}; C.string[] a=new string[5];

D.int [][]aa=new int [2][3]{{1,2,3},{5,2,1}};

176.下列说法正确的是__D__

A、数组不能作为参数在函数间传递

B、数组只能作为ref型参数在函数间传递。 C、数组只能作为out型参数在函数间传递

D、数组既可以作为ref型又可以作为out型参数在函数间传递

178.对接口成员GetEnumerator说法正确的是__C____ A.能够得到集合中元素的数量 B.将集合的元素复制到一个数组中 C.从IEnumerable接口继承得到 D.使对象与集合同步

181.Stack集合可以调用的方法是__B___ A.Add() B.Remove() C.RemoveAt() D.Peek()

182.自定义集合时,要继承基类__D__ A.CollectionBase B.Collections C.Base D.System

183.下列关于集合的说法正确的是_D___ A.ArrayList集合遵循先进先出的原则

B.Stack集合可以在中间插入元素,在中间插入元素时调用Insert方法 C.Queue集合可以删除任意位置的元素,也可以在顶部删除元素 D.Stack集合可以在顶部上出元素

185.假如有字符串str1和字符串str2,下列选项不能利用于比较这两个字符串是否相等的是B____

A.string.Compare(str1,str2) B.str1= =str2

C.string.Equals(str1,str2)

D.string.CompareTo(str1,str2)

186.下列方法中,不能用于定位字符串中的字符或子字符串的是__A____ A.SubString B.IndexOfAny C.LastIndexOf D.IndexOf

207.在System.IO命名空间中(A)类是实现创建、移动、枚举目录和子目录的实例方法。 A.Diretory B.File

C.DirectoryInfo D.FileInfo

208.在 C#的代码中使用(D)分割目录,子目录和文件。 A.一个斜杠 B.一个反斜杠 C.两个斜杠 D.两个反斜杠

209.判断目录是否可以使用Directory类中的(B)方法。

A.GetDirectories B.Exists C.GetFiles D.Delete

211.(D)是使用System.IO命名空间类Move方法的错误代码. A.Directory.Move(“E:\\\\C#”,”E:\\\\.NET\\\\C#”); B.Directory.Move(“E:\\\\C#”,”C:\\\\C#”); C.Directory.Move(“E:\\\\C#”,”E:\\\\.File”);

D.File.Moce(“E:\\\\C#\\\\2006\\\\2006.txt”,”C:\\\\2006.txt’);

214.使用StringReader类和Stringwriter类的作用是(C)

A.使用StringReader类读取文件中的字符串,而使用StringWriter类向文件中写入字符串 B.使用StringReader类读取顺序文件中的数据信息,而使用StringWriter类可以实现顺序文件的写操作

C.使用StringReader类可以从字符串的介质流中读取数据,而使用StringWriter类向以StringBuilder为存储介质的流中写入数据 D.使用StringReader类读取二进制文件中的数据信息,而使用StringWriter类可以实现二进制文件的写操作。

本文来源:https://www.bwwdw.com/article/3c1g.html

Top