rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » C#

c#考题(2)

21、在C#的类结构中,class关键字前面的关键字是表示访问级别,下面哪个关键字的访问

级别是表示只有在同一个程序集内,且内部类型或成员才是可访问的?()

A.public

B.private

C.internal

D.protected

22、下列关于readonly,static,const这三个字段理解描述中,哪项是正确的?()

A.readonly字段只能在初始化期间或是在构造函数中赋值

B.static字段的值是在运行时才确定的

C.const字段的值是在运行时才确定的

D.const字段的值是在编译时确定的

23、分析下列程序段:

 using System;

class Program

 {

 private class IntIndexer

 {

 private string[] myData;

 public IntIndexer(int index)

 {

 myData = new string[index];

 for (int i = 0; i < index; i++)

 myData[i] = "Microsoft";

 }

 public string this[int pos]

 {

 get

 {

 return myData[pos];

 }

 set

 {

 myData[pos] = value;

 }

 }

 }

 static void Main(string[] args)

 {

 int size = 3;

 IntIndexer myIndex = new IntIndexer(size);

 myIndex[2] = "Visual";

 myIndex[1] = "Studio";

 for (int i = 0; i < size; i++)

 Console.Write(myIndex[i] + " ");

 }

 }

程序运行的最终结果是什么?()

A.Microsoft Visual Studio

B.Microsoft Studio Visual

C.Studio Visual Microsoft

D.Microsoft Microsoft Microsoft

24、下面的程序是实现一个方法可以接受n个不相等的参数。

请分析下列代码段, 并在空白行补全Visual C#代码。

using System;

class Program

{

private static void Test( string[] strArray)

 {

 for (int i = 0; i < strArray.Length; i++)

 {

 Console.Write(strArray[i] + " ");

 }

 Console.WriteLine();

 }

 static void Main(string[] args)

 {

 Test("One", "Two", "Three");

 Test("Monday","Tuesday","Wednesday","Thursday","Friday");

 }

}

27、下面的程序要实现的功能是:显示终端输入的信息,直到终端输入“exit”后退出程序。

请检查下列代码,找出所有错误的代码,并在错误代码行后填入该行完整的正确代码。

1. using

System;

________________

2. public class

Program _____________

___

3. {

4. static void Main(string[]

args) ________________

5. {

6. string inputString =

string.Empty; ________________

7. do

________________

8. {

9. inputString =

Console.ReadLine(); ________________

10. if (inputString ==

"exit") ________________

11. continue;

________________

12. else

________________

13. Console.WriteLine("你输入的是: " +

inputString);

________________

14. }

15. while

(true) ______________

16. }

17. }

28、下列关于C#面向对象应用的描述中,哪项是正确的?()

A. 派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员

B. abstract方法的声明必须同时实现

C. 声明为sealed的类不能被继承

D. 接口像类一样,可以定义并实现方法

29、下列关于继承的说法中,哪项不正确?()

A. 继承是指派生类可以获取其基类特征的能力

B. 在派生类中重写基类方法必须使用 override 关键字

C. 抽象类可以作为基类,所以不能直接实例化,也不可以被密封

D. 类可以继承多个接口,接口只能继承一个接口

30、单步执行是最常见的调试过程之一,C#的“调试”菜单提供了哪几种逐句通过代码的命

令?()

A.逐语句

B.逐过程

C.逐模块

D.跳出

31、在派生于System.Exception异常类层次结构中, 用来派生出自己定义的异常类是下列

哪个异常类?()

A.System.SystemException

B.System.ApplicatonException

C.OverflowException

D.EndOfStreamException

32、下面哪个块中包含的代码是组成程序的正常操作部分,但是可能会遇到某些严重的错误

情况?()

A.try块

B.catch块

C.finally块

D.throw块

33、下列关于数组访问的描述中,哪些选项是正确的?()

A. 数组元素索引是从0开始的;

B. 对数组元素的所有访问都要进行边界检查;

C. 如果使用的整数索引小于0,或者大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;

D. 数组元素的访问是从1开始,到Length结束;

34、有一个字符串的定义为string s = “hello world!”; 在此字符串中,字符w的索引

是什么?()

A. 7

B. 6

C. 2

D. 8

35、分析下列程序段:

static void Main(string[] args)

 {

 int[] myArray = { 110, 150, 199, 30, 18};

 for (int i = 0; i != myArray.Length - 1;i++ )

 {

 AddArray(myArray[i]);

 }

 foreach (int i in myArray)

 {

 Console.WriteLine(i);

 }

 }

 public static void AddArray(int num)

 { num += 1; }

程序的最终运行结果是什么?()

A. 111 151 200 31 19

B. 111 151 200 31 18

C. 110 150 199 30 18

D. 110 150 199 30 19

36、String与string的区别是什么?()

A. string是C#中的类,String是.net Framework的类;

B. C# string映射为.net Framework的类;

C. String和string都是关键字,不能作为类、结构、方法、属性的名称

D. 如果用string,编译器会把它编译成String;

37. 下列关于数组创建的描述中, 哪些选项是正确的?()

A. 数组在访问之前必须初始化;

B. 允许创建大小为0的数组;

C. 可以不使用new关键字来对数组进行初始化;

D. 数组在创建实例时已经被编译器初始化了默认值,因此可以直接访问;

38. 下面代码是要显示My string, 请分析下列代码段并在空白行补全C#代码:

static void Main(string[] args)

 {

 string myString = "My string";

 char[] myChars = myString.ToCharArray();

 foreach (________________)

 {

 Console.WriteLine("{0}",character);

 }

 Console.ReadKey();

 }

39. 面的代码的功能是遍历一个数组,但是不能正确编译,有一行是错误的,请检查下列代

码,并在错误代码行后填入该行完整的正确代码

1.static void Main(string[] args) _________________

2. { _________________

3. int ArraySize = 8; _________________

4. int[] myIntArray; _________________

5. myIntArray = new int[ArraySize]; _________________

6. foreach (int a in myIntArray) _________________

7. { _________________

8. Console.WriteLine(a); _________________

9. } _________________

10 Console.ReadKey(); _________________

11 } _________________

40 .Windows窗体应用程序的编程模型主要由哪几部分组成?()

A. 窗体和事件

B. 控件和事件

C. 控件的生存周期和事件

D. 窗体、控件及事件

41. 下列关于Label类的描述中,下列哪个选项是正确的?()

A. Label类用于创建窗体上的描述性标签;

B. Label控件通常与特定的控件一起,用于为没有自己标题的控件命名;

C. Label控件是静态控件,它的标题文本是不能更改的;

D. Label类不接受输入焦点

42. 下列关于Windows的一些常用控件的描述中, 哪个选项是不正确的?()

A. 所有的Windows窗体控件都是无状态的

B. ListBox控件用于显示一个选项列表,用户每次只能从中间选择一项

C. 组合框控件是把列表框控件和列表框控件组合在一起

D. 开发人员不需要创建MessageBox类的实例,只需调用Show()方法既可显示消息框

43. 下列关于ASP.NET页面的描述中, 哪项是正确的?()

A. HTML的标记总是用“<标记>”开头,以“</标记>”结束

B. IIS的默认文夹通常为\Inetpub\wwwroot

C. ASP.NET页面的代码隐藏文件的扩展名为.ascx

D. Visual Studio2005创建web页面,所用的控件只能在设计视图下从工具箱直接拖到页面

44. 下列关于ASP.NET的说法中, 哪项是错误的?()

A. ADO.NET是一个数据访问服务的对象模型

B. GridView控件可以用来显示数据信息

C. XML Web Service 是一种Web软件,采用通用语言XML

D. ASP.NET的页面用 <% %>代码块来实现客户端的程序

45.Visual Studio2005查看ASP.NET页面有两种模式,即设计视图和________。

46. .NET Framework哪两个主要组成部分?()

A.公共语言运行库

B..NET Framework类库

C.Windows窗体

D.公共类型系统

47. 下面的程序要求在输入10000000000时,程序会抛出一个异常,并且catch能够捕捉到异

常,输出异常信息。 请检查下列代码,并在错误代码行后填入该行完整的正确代码。

1. using System; ________________

2. public class Program ________________

3. {

4. static void Main(string[] args) ________________

5. {

6. int num = 0; ________________

7. try ________________

8. {

9. num = Convert.ToInt32(Console.ReadLine()); ________________

10. }

11. catch(FormatException ex) ________________

12. {

13. Console.WriteLine(ex.Message); ________________

14. }

15. }

16. }

48. 下面的程序段,在编译时无法通过。 请检查下列代码,并在错误代码行后填入该行完

整的正确代码。 1. using System; _______________

2. public class Program _______________

3. {

4. static void Main(string[] args) _______________

5. {

6. int a; _______________

7. try _______________

8. {

9. a = 789; _______________

10. }

11. catch _______________

12. { // 对异常进行处理

13. }

14. Console.Write(a); _______________

15. }

16. }

49. 下述代码程序要求输出结果为: ConnClass 请根据要求,将空白处的代码补充完整。

abstract class BaseClass

{

 abstract public void MethodA();

}

class ConnClass : BaseClass {

 ____①____

{

Console.WriteLine("ConnClass");

}

}

class Class2 : ConnClass

 {

 }

class MainClass {

 public static void Main(string[] args)

 {

 Class2 o = new Class2(); o.MethodA();

}

 }

顶一下
(1)
踩一下
(0)