答案 —C#1-6章习题 下载本文

C#习题练习(1-6章)

1. 在 Visual Studio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息? (B)

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

2. C#中每个 int 类型的变量占用_______个字节的内存?(C) A.1 B.2 C.4 D.8

3. 在 C#中,表示一个字符串的变量应使用以下哪条语句定义? (B) A.CString str; B.string str; C.Dim str as string D.char * str;

4. 在 C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句? (A) A.decimal theMoney; B.int theMoney; C.string theMoney; D.Dim theMoney as double

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

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

6.C#中 MyClass 为一自定义类,其中有以下方法定义: public void Hello(){?}

使用以下语句创 建了该类的对象,并使变量 obj 引用该对象,那么,访问类MyClass的Hello方法正确的是:(A)

MyClass obj = new MyClass(); A.obj.Hello(); B.obj::Hello(); C.MyClass.Hello(); D.MyClass::Hello();

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

class MyClass {

public class subclass

{ int i; } } }

若必须为类 MyClass 添加访问修饰符,并使 MyClass 的可访问域保持不变,则应选择 _________?(D) A.private B.protected C.internal D.public

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

private string _sData = \

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

在 Main 函数中,在成功创建该类的对象 obj 后,下列哪些语句是合法的? (A) A.obj.sData = \B.Console.WriteLine(obj.sData); C.obj._sData = 100; D.obj.set(obj.sData);

9. 分析下列程序中类 MyClass 的定义 class BaseClass { public int i; } class MyClass:BaseClass { public new int i;}

则下列语句在 Console 上的输出为_______. (D) 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

10. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成____?(C) A.sealed 方法 B.public 方法 C.virtual 方法 D.override 方法

11. 类 MyClass 中有下列方法定义: public void testParams(params int[] arr) { Console.Write (\使用 Params 参数!\public void testParams(int x,int y) { Console.Write (\使用两个整型参数!\

请问上述方法重载有无二义性?若没有,则下列语句的输出为_______. (B) 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 参数!使用两个整型参数!使用两个整型参数!

12. C#程序中,可使用 try..catch 机制来处理程序出现的_____错误?(B) A.语法 B.运行 C.逻辑 D.拼写

13. C#中,在方法 MyFunc 内部的 try..catch 语句中,如果在 try 代码块中发生异常,并且在当前的所有 catch 块中都没有找到合适的 catch 块,则(D) A.NET 运行时忽略该异常 B.NET 运行时马上强制退出该程序

C.NET 运行时继续在 MyFunc 的调用堆栈中查找提供该异常处理的过程 D.NET 抛出一个新的“异常处理未找到”的异常

14. 在 C#中,下列哪条语句能创建一个具有 3 个初始值为\的元素的字符串数组? (C) A.string StrList[3](\

B.string[3] StrList = {\C.string[] StrList = {\D.string[] StrList = new string[3]; 15. 下列语句创建了多少个 string 对象? (D) string[,] strArray = new string[3][4]; A.0 B.3 C.4 D.12

16. 接口 Animal 定义如下: public interface Animal { void Move(); }

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

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(\17. 关于结构类型,下列说法哪些是正确的? (A) A.结构是值类型

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

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

18. 下列语句的输出是________? (B) double MyDouble = 123456789; Console.WriteLine(\A.$123,456,789.00 B.1.234568E+008 C.123,456,789.00

19.已知在某 Windows Form 应用程序中,主窗口类为 Form1,程序入口为静态方法 From1.Main?如下所示: public class Form1 : System.Windows.Forms.Form {

//其他代码 static void Main() {

//在此添加合适代码 } } 则在 Main 方法中打开主窗口的正确代码是: (A) A.Application.Run(new Form1()); B.Application.Open(new Form1()); C.(new Form1()).Open(); D.(new Form1()).Run();

20. 用鼠标右击一个控件时出现的菜单一般称为: (C) A.主菜单 B.菜单项 C.快捷菜单 D.子菜单

21. 变量 openFileDialog1 引用一个 OpenFileDialog 对象?为检查用户在退出对话框时是否 单击了“打开”按钮,应检查 openFileDialog1.ShowDialog()的返回值是否等于_______;(A) A.DialogResult.OK B.DialogResult.Yes C.DialogResult.No D.DialogResult.Cancel

22. C#程序中,为使变量 myForm 引用的窗体对象显示为对话框,必须: (A) A.使用 myForm.ShowDailog 方法显示对话框 B.将 myForm 对象的 isDialog 属性设为 true

C.将 myForm 对象的 FormBorderStyle 枚举属性设置为 FixedDialog D.将变量 myForm 改为引用 System.Windows.Dialog 类的对象

23. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该 按钮是扁平的,当鼠标指针移动到它上面时,按钮升高?那么,在程序中,属性 Button1.FlatStyle 的值应设定为: (B) A.System.Windows.Forms.FlatStyle.Flat B.System.Windows.Forms.FlatStyle.Popup C.System.Windows.Forms.FlatStyle.Standard D.System.Windows.Forms.FlatStyle.System

24. 在类的定义中,类的__________描述了该类的对象的行为特征?(A) A.类名 B.方法

C.所属的名字空间

D.私有域

25. 以下类 MyClass 的属性 count 属于_____属性. (A) class MyClass {

int i;

int count {

get{ return i;} } } A.只读 B.只写 C.可读写 D.不可读不可写

26. 类 MyClass 中,下列哪条语句定义了一个只读的属性 Count? (B) 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;} } 27. C#中的类型 float 对应.NET 类库中的(A) A.System.Single B.System.Double C.System.Int32 D.System.Int64

28. 判断下列类 MyClass 的定义中哪些是合法的抽象类? (A)抽象成员不能是私有的 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(); }

29. 已知接口 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(\则下列语句在控制台中的输出结果为__(A)___? 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!..

30. 为了将字符串 str=“123,456”转换成整数 123456,应该使用以下哪条语句? (A) 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); 31. 已知结构 Resource 的定义如下: struct Resource{ public int Data = 0;

} 则下列语句的运行结果为_________? (D)//结构中不能有实例字段初始值设定项 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.出现运行时异常

32. 关于 C#程序的书写,下列不正确的说法是____?(D) A.区分大小写

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

D.一个类中只能有一个 Main()方法,因此多个类中可以有多个 Main()方法 33. 在 C#语言中,下列能够作为变量名的是____?(C) A.if B.3ab C.a_3b D.a-bc

34. 在 C#语言中,下面的运算符中,优先级最高的是__(A)__? A.% B.++ C./= D.>>

35. 能正确表示逻辑关系“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

36. 以下程序的输出结果是__(C)__? 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.不确定

37. if语句后面的表达式应该是__(A)__? A.逻辑表达式 B.条件表达式 C.算术表达式 D.任意表达式

38.有如下程序 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);

} }的输出结果是(C)// 代码有误,break前面“,”都改为“;” A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2

39. 以下叙述正确的是__(C)__?

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

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

D.用 do?.while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式 40. 以下关于 for 循环的说法不正确的是__(A)__? A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先判定表达式,后执行循环体语句 C.for 循环中,可以用 break语句跳出循环体

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

41. 假定 int 类型变量占用两个字节,若有定义:int [] x=new int[10]{0,2,4,4,5,6,7,8,9,10}; 则 数组 x 在内存中所占字节数是___(B)? A.6 B.20 C.40 D.80

42. 以下程序的输出结果是: (C)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

43. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是____?(C) A.a(3,4) B.a(3)(4) C.a[3][4] D.a[3,4]

44.下列的数组定义语句,不正确的是____?(D) 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};

45. 关于 C#语言的方法,下列叙述中正确的是___(A)_? A.方法的定义不能嵌套,但方法调用可以嵌套 B.方法的定义可以嵌套,但方法调用不能嵌套 C.方法的定义和调用都不能嵌套 D.方法的定义和调用都可以嵌套

46. 以下所列的个方法头部中,正确的是___?_(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) 47. 下列程序的结果是: (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

48.下列程序的输出结果是____? 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.无定值

49. 下列程序的执行结果是____? Using system; (C) 代码有误,team后面的“=”去掉 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.her); } } A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.1 4 5 15

50.以下对枚举的定义,正确的是__(B)__? A.enum a={one.two,three} B.enum a {a1,a2,a3};

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

{“one”,”two”,”three”};

51. 枚举型常量的值不可以是__(D)__类型 A.int B.long

(int)team.your,

(int)team.his,

C.ushort D.doule

52. 调用重载方法时,系统根据___(B)_____来选择具体的方法? A.方法名

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

53. 下列的_______不是构造函数的特征?(D) A.构造函数的函数名和类名相同 B.构造函数可以重载 C.构造函数可以带有参数 D.可以指定构造函数的返回值

54. 类 Class A有一个名为M1 的方法,在程序中有如下一段代码,假设该段代码是可以执 行的,则修饰 M1 方法时一定使用了___(B)_____修饰符? Class Aobj=new Class A(); ClassA.M1(); A.public B.static C.private D.virtual

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

56. 下列关于 try?catch?finaly语句的说明中,不正确的是_____(D)____? A.catch块可以有多个 B.finaly

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

57. 为了能够在程序中捕获所有的异常,在 catch语句的括号中使用的类名为_________?(A) A.Exception

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

58. 关于异常,下列的说法中不正确的是____(D)_____? A.用户可以根据需要抛出异常

B.在被调用方法可通过 throw语句把异常传回给调用方法 C.用户可以自己定义异常 D.在 C#中有的异常不能被捕获 59. 下列说法中正确的是__(D)_______? A.在 C#中,编译时对数组下标越界将作检查

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

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

60. 要使窗体刚运行时,显示在屏幕的中央,应设置窗体的___(B)______属性? A.WindowsState B.StartPostion C.CenterScreen D.CenterParenr

61. 要使文本框控件能够显示多行而且能够自动换行,应设置它的___(B)______属性? A.MaxLength和 Multline B.Multlineh和 WordWrap C.PassWordChar 和 Multline D.MaxLength和 WordWrap

62. 在使用 RichTextBox 控件进行文档编辑时,如果希望知道文档上次设置该控件的内容 后,文本框中内容是否改变,可使用它的_________属性?//不做要求 A.Modified B.SelectedText C.Undo D.SaveFile

63. 要使复选框控件能够显示出三种状态,应首先设置它的______(C)___属性? A.ThreeState B.Checked C.CheckState D.Indeterminate

64. 已知 OpenFileDialog 控件的 Filter 属性值为“文本文件(*.txt)|*.txt|图形文件 (*.BMP*.JPG)|*.BMP;

*.JPG|*.RTF 文件(*.RTF)|*.RTF” ,若希望程序运行时,打开对话框 的文件过滤器中显示的文件类型为 RTF 文件(*.RTF),应把它的 FilterIndex 属性值设置为 ___________?//不做要求 A.2 B.3 C.4 D.5

65. 在设计菜单时,若希望某个菜单项前面有一个“√”号,应把该菜单项的__________ 属性设置为 true?(A)_ A.Checked B.RadioCheck C.ShowShortcut D.Enabled

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

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

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

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

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

68. 假设存在下面的代码: //不要求 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

69. 以下标识符中,正确的是____?(A) A._nName B.typeof C.6b D.x5#

70. 以下类型中,不属于值类型的是____?(D) A.整数类型 B.布尔类型 C.字符类型 D.类类型

71. 结构化的程序设计的 3 种基本结构是_____?(D) A.顺序结构,If结构,for 结构

B.if 结构,if?..else结构 else if结构 C.while结构,do?.while结构,foreach结构 D.顺序结构,分支结构,循环结构

72 已知 a,b,c的值分别是 4,5,6,执行下面的程序段后,判断变量 n的值为____?(C) if(c

73. while语句循环结构和 do?while 语句循环结构的区别在于____?(D) A.while语句的执行效率较高 B.do?while语句编写程序较复杂

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

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

74. 下面有关 for 语句的描述有错误的是____?(A)

A.使用 for 语句时,可以省略其中的某个或多个表达式,但不能同时省略全部 3 个表达式 B.在省略 for 语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所 带的分号 C.在 for 语句表达式中,可以直接定义循环变量,以简化代码

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

75. 下面有关 break,continue 和 goto语句描述正确的是____?(D) 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{}

76. 下面是几条定义初始化一维数组的语句,指出其中正确的是____?(D) 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};

77 下面是几条动态初始化一维数组的语句,指出其中正确的是____?没有答案 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};

78. 下面是几条定义并初始化而维数组的语句,指出其中正确的是____?(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];

79. 下面有关枚举成员赋值说法正确的是____?(D)

A.在定义枚举类型时,至少要为其中的一个枚举成员赋一个常量值 B.在定义枚举类型时,直接为某个枚举成员赋值,则其他枚举成员依次取值

C.在把一个枚举成员的值赋给另一个枚举成员时,可以不考虑它们在代码中出现的顺序 D.在定义的一个枚举类型中,任何两个枚举成员都不能具有相同的常量值

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

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

用.NET Framework

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

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

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

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

82.下面对公共语言运行时说法正确的是( )? A.是.NET平台的基础 B.提供多种服务,但不包括垃圾收集器 C.是.NET Framework的核心组件 D.与.NET Framework无关 83.对托管代码与非托管代码之间的区别描述正确的是( )? A.非托管代码依赖于 CLR 提供的服务,而托管代码不需要 B.托管代码生成的应用程序为目标机器上可执行文件,非托管代码生成的应用程序为中间 语言文件 C.托管代码和非托管代码之间没有区别 D.托管代码依赖于 CLR 提供的服务,而非托管代码不需要 84.下列哪一项正确描述了重价语言( )? A.中间语言代表所有的 Visual Studio.NET 语言生成的本机可执行文件,用于在目标 CPU 上执行 B.Visual Studio.NET不生成中间语言 C.中间语言类似于汇编语言,但是它的格式是通用的,不依赖于特定的 CPU的体系结构 D.Visual Studio.NET编译器生成的中间语言根据目标 CPU的不同而变化

85.引用类型和值类型之间的区别是( )?(A)

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

D..NET Framework不支持值类型,因为所有的类型都是引用类型了 86.下列关于命名空间描述不正确的是( )?(D)

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

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

87.下面对程序集清单说法正确的是( )? A.程序集没有清单 B.它描述了程序集以及组成程序集的各个模块 C.清单是公共访问属性,不包括许可 D.没有指明程序集安全性

88.下面哪一项是 System.Convent 类的有效方法( )?(C) A.ToInteger?ToBigger?ToData B.ToConvert?TocurrentData C.ToInt32?ToInt64?Todouble D.都不对

89.下面对程序集和命名空间说法正确的是( )? A.一个程序集只能引用一个命名空间 B.一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中 C.一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中 D.一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间

90.下列类型中为值类型的是____.(C) A.字符串类型 B.树组类型 C.枚举类型 D.接口类型

91.下列给出的变量名正确的是_____.(B) A.int NO.1 B.char use C.float Main D.char @use

92.对于等式 y=ax3+7,下列表达式中正确的是_____ 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

93.下面有关运算符的说法正确的是____(D)

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

C.sizeof 运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字 节数) D.括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序 94.执行下面的程序后,结果是正确是___ (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

95.下面对 for 语句说法正确的是 ___ A.for 语句的循环条件不能缺少 B.for(;;)是无限循环

C.for 循环无法嵌套 D.for 语句是跳转语句

96.下列代码输出正确的是___ (D)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

97.当输入 e和 q 时下列代码的输出结果为__ 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.退出程序

98.下面对 i 值的输出结果说法正确的是_____.(A) 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

99.下面代码的执行结果正确的是 _____ namespace Answer { class Program { static void Main(string[] args) { int i=0; while(i<=2) { i++; Console.WriteLine(“{0}”,i); if( i==1)break; } } } } A.0 B.1 C.2 D.3

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

101.有两个具有相同名字的函数,当只满足下列选项的____条件时,它们不能算作重载函 数?(D) A.返回值的类不同 B.参数数目不同 C.参数类型不同 D.参数的顺序不同

102.关于参数数组,下列说法错误的是___.(C) A.参数数组必须是函数的最后一个参数? B.参数数组必须是一维数组 C.参数数组的声明同普通数组一样 D.参数数组所对应的实参的个数是不固定的

103.在下列程序空格处填入正确的选项_____(A),能够实现调用函数 show(). class Class1 {

static void show(ref int i) { i*=15;

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

static void Main(string[] args) {

int test=10;

Console.WriteLine(“调用函数 show前,test={0}”,test); show(______);

Console.WriteLine(“调用函数 show后,test={0}”,test); } } A.test B.out test C.ref test D.params test

104.下面对字段说法正确的是____?( A) (C) A.字段可以用 static修饰符 B.使用字段前必须对它进行初始化 C.字段就是变量

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

105.下面代码表示成员重载的是___?(A) A.class Myclass {

public void fun(){ Console.WriteLine(“无参数”);

} 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.以上都不是

106.如果类名为 Myclass,那么___可以作为它的构造函数,____是它的祈构函数? A.~Myclass() B.Myclass(double a) C.~Myclass(double a) D.void Myclass() 107.下面说法错误的是____. A.祈构函数没有参数 B.祈构函数没有修饰符

C.祈构函数没有返回类型 D.祈构函数可以被重载

108.下面的修饰符中___不是访问修饰符?(C) A.public B.protected C.new D.internal

109.声明事件时要先声明____. A.字段 B.属性 C.方法 D.委托 110.下列有关虚函数说法不正确的是_______. A.虚函数是静态的 B.虚函数声明只能出现在类定义的函数原型声明中 C.一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性 D.在基类中定义了虚函数后,可以在派生类中对它进行重写 111.下面对抽象类描述不正确的是______?(C) A.抽象类只能作为基类使用 B.抽象类不能定义对象 C.抽象类可以实例对象 D.可以实现多态

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

113.对下面的代码说法正确的是_____ (D)//代码错误,派生类的第一个参数名a修改为d class Baseclass {

protected Baseclass(string a,string b){ Console.WriteLine(“基类中构造函数”); } }

class

Derivcedlcass:Baseclass{

public

Derivcedlcass(string

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

} }

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

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

D.代码有错误,base关键字中的参数应改为”base(c,d)” 114.下面代码执行结果正确的是______. (C) namespace Answer {

class Baseclass{ public virtual int Show(){ return 5;

} } class Derivcedlcass:Baseclass{ public new int Show(){ return 6;

a,string

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

115.下面选项中是在 C#中定义数组的是___(C) 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}};

116.下列说法正确的是____ A?数组不能作为参数在函数间传递 B?数组只能作为 ref型参数在函数间传递? C?数组只能作为 out 型参数在函数间传递 D?数组既可以作为 ref型又可以作为 out 型参数在函数间传递 117.C#中的集合实现了____接口? A.ICollection B.IEnumerator C.CollectionBase D.IEnumeratable 118.对接口成员 GetEnumerator 说法正确的是______ A.能够得到集合中元素的数量 B.将集合的元素复制到一个数组中 C.从 IEnumerable接口继承得到 D.使对象与集合同步 119.关于枚举的说法正确的是____ A?实例化枚举之后枚举数被放在第一个元素之上 B?通过枚举可以遍历集合? C?通过枚举可以改变集合的内容 D?枚举数到达集合末尾时停留在最后一个元素之上? 120.类库中的___不是根据元素的个数来动态地调整自身容量的大小? A.ArrayList 集合 B.BitArray集合 C.Hashtable集合 D.SortedList 集合 121.Stack集合可以调用的方法是_____ A.Add() B.Remove() C.RemoveAt()

D.Peek() 122.自定义集合时,要继承基类____ A.CollectionBase B.Collections C.Base D.System 123.下列关于集合的说法正确的是____ A.ArrayList 集合遵循先进先出的原则 B.Stack集合可以在中间插入元素,在中间插入元素时调用 Insert 方法 C.Queue集合可以删除任意位置的元素,也可以在顶部删除元素 D.Stack集合可以在顶部上出元素 124.下列关于 Hashtable集合的说法正确的是___. A.Hashtable集合是一个键/值对集合 B.遍历 Hashtable集合时用 IEnumerator 来枚举 C.Hashtable集合中可以根据指定的值来删除元素 D.Hashtable集合中的元素按照添加的顺序存在于集合内部

125.假如有字符串 str1 和字符串 str2,下列选项不能利用于比较这两个字符串是否相等的是 ____(D) A.string.Compare(str1,str2) B.str1= =str2

C.string.Equals(str1,str2) D.string.CompareTo(str1,str2)

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

127.下列说法正确的是() A.可以将闪屏设为启动项目 B.将闪屏设为启动项目不影响正确解决方案的运行 C.闪屏出现的时间由系统决定,都是 5 秒钟 D.以上说法都不对

128.从窗体 Form1 切换到窗体 Form2 的代码是()(C) A.Form2.show();

B.Application.Run(new Form2()); C.Form2 f2=new Form2(); f2.show(); D.不需要任何代码

129.( )正确描述了 CheckBox 控件(A) A.它可以配置为两状态或三状态控件

B.与文本相关的复选框的位置是固定的,不能修改 C.复选框不可以显示图象图标 D.以上说法均正确

130.下列的描述中( )s 适用于控件 A.Button?CheckBox?RadioButton派生自 System.Forms.Buttons 类

B.ComboBox 和 ListBox 控件派生自 List 类 C.RichTextBox 和 TextBox 控件是可编辑的控件,派生自 Text 类 D.以上说法均不对 131.关于 Control 集合,下列说法错误的是() A.窗体支持 Control 集合,且窗体还可以有多个 Control 集合 B.当窗体中有多个 Control 集合时,它们按照并列结构组织 C.Control 集合直接包含了窗体上每一个控件的引用 D.可以用 foreach循环枚举 Control 集合

132.动态创建一个 button控件实例的代码是()(D) A.Button button; button=new Button();

button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok”; button.Show(); B.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok”; this.Controls.Add(button); C.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok”; button.Show(); D.Button button; button=new Button();

button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok”; this.Controls.Add(button);

133.关于 Timer 控件,下列说法正确的是()(B) A.Timer 控件是用来显示系统当前时间

B.Timer 控件的作用是在规定的时间内触发 Tick控件 C.Timer 控件的 Interval 属性值的单位是秒 D.Timer 控件实例不能动态创建

134.关于滚动控件,下列说法正确的是() A.Value属性表示滚动块在滚动条中的位置,它的值可以为整数也可以为小数 B.滚动条控件就是水平滚动条控件 C.SmallChange属性表示当用户在滚动区域中单击或使用 Page Up/Page Down时,缩影图 位置发生的改变 D.不能自动滚动窗体的内容,需要添加代码才可以 135.关于 MainMenu控件,下列说法正确的是()//题目有误

A.控件可以完成其他控件所不能完成的任务 B.一个窗体只能有一个控件实例 C.一个窗体只能有一个菜单系统与之相关联 D.控件实例中不能创建菜单项的热键 136.TabControl 控件的( )属性可以添加和删除选项卡? A.TabCount B.RowCount C.Text D.TablePage

137.MDI应用程序中只有窗体之间的关系描述正确的是( )(B) A.MDI应用程序中只有一个窗体可以指定为 MDI子窗体 B.MDI子窗体必须出现在 MDI父窗体的可视区域内 C.标准窗体必须出现在 MDI父窗体的可视区域内 D.MDI子窗体总是带有菜单

138.对设置 MDI父窗体说法正确的是()(C)

A.调用指定为 MDI父窗体的 Show 方法,使用参数的枚举值 Modi-MdiParent

B.使用“项目属性”对话框,设置 IsMdiApplication 属性为 True,然后设置用作父窗体的 窗体的窗体启动对象

C.对于指定为 MDI父窗体的窗体,设置 MdiParent 属性为 True D.创建一个 MDI应用程序项目,而不是创建 Windows 窗体应用程序项目 139.下列说法中对 Mdi 子窗体描述正确的是()(D) A.设置 MdiChildForm属性为 true B.设置 MdiChild属性为 false C.设置 MdiChild属性为 true

D.设置 MDI子窗体 MDiParent 属性引用父窗体实例

140.下面选项中对菜单合并描述正确的是() A.MerageType和 MerageOrder 属性用来配置菜单合并的方式 B.当 MDI父窗体的菜单合并时,不可以删除父窗体上的菜单 C.合并菜单时,无法替换多余的菜单 D.合并时只能严格按照父窗体和子窗体合并菜单项目 141.下面关于 MDI子窗体的布局正确的是() A.Icon,List,Report B.Icon,Minimize,mdiparent C.ArrangeIcons,Cascade,Selection D.ArrangeIcons,Casecade,TileHorizontal,TileVeritical 142.下面对创建上下文菜单说法正确的是() A.把 Mainmenu控件放置到窗体中即可 B.创建一个 ContextMenu控件实例,然后编辑菜单项来创建快捷菜单 C.在模态对话框中创建一个 ListBox 控件实例,然后显示模态对话框 D.创建一个 MainMenu属性为 True 143.下面对 MDI应用程序中子窗体布局说法正确的是() A.C#中无法对子窗体布局 B.布局菜单只能放在子窗体上 C.布局菜单只能放在父窗体上,并且使用 LayOutMdi 方法

D.使用 MdiLayout 方法,布局菜单在哪里无所谓 144.下面对 RichTextBox 控件说法正确的是()(D) A.RichTextBox 控件实例可以读写 RTF 格式文件 B.以 RTF 格式读取的文件不能保存 C.虽然可以格式化文本,但无法对其段落进行设置,比如项目符号等 D.RichTextBox 控件的局限性不能为其字体设置颜色 145.下面对 FontDialog控件说法正确的是()(A) A.可以使用它来设置字体颜色 B.使用 FontDialog必须在窗体中添加控件 C.完全可以不添加控件,使用代码来完成它的添加 D.显示 FontDialog时,使用 Show()方法 146.下面对 ColorDialog说法正确的是() A.设置 Report 属性为 true,然后处理 Click事件 B.设置 DetectUrls 属性为 true,然后创建 LinkClicked事件的处理程序 C.创建 URLClick事件程序 D.创建 URLSelection事件的处理