资源描述
1、声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是 (2)
1. void myCallBack(int x)
2. int receive(int num)
3. string receive(int x)
4. 不确定的
2、以下关于事件说法错误的是( D )。(单选)
A. 事件处理需要定义事件、订阅事件和引发事件。
B. 如果没有对象订阅事件,在事件被引发时,将会引发异常。
C. 一个事件可以有多个订阅者。
D. 派生类可以继承在基类中定义的事件。
3、 Public delegate int Call(int num1,int num2);
对于这个委托下面的说法错误的是( BCD )。(多选)
A. 可以用static int Exa(int I,int j){}方法来实例化这个委托。
B. 委托不能关联静态方法。
C. 可以用void Exa(int I,int j){}方法来实例化这个委托。
D. 一个委托不可以委托多个方法
4、以下说法正确的是( )。(多选)
A. 属性提供了对类中字段的保护。
B. 索引器不可以像方法一样进行重载。
C. 使用委托的意义在于动态调用方法。
D. 事件的发行者不可以订阅该事件。
5、下列选项中,错误的是( C )。(单选)
A. 接口成员的访问级别默认是公开的。
B. 一个类可以同时实现几个接口。
C. 派生类用override关键字实现接口中的方法。
D. 如果一个类具有基类并实现接口,那么基类必须写在接口的前面
6、下列选项中,错误的是( AC )。(多选)
A. 抽象类的派生类必须实现抽象类的所有方法。
B. 使用override关键字可在派生类中重写抽象方法。
C. 抽象类中的方法必须是抽象方法。
D. 如果将一个类指定为抽象的,则必须使用abstract关键字。
7、下列选项中,错误的是( D )。(单选)
A. override 能重写abstract override 和virtual 修饰的方法
B. Virtual访问修饰符不能与static访问修饰符一同使用。
C. New访问修饰符不能和override访问修饰符同时出现在一个方法里。
D. New能够重写父类中的抽象方法。
8、用( ABC )关键字修饰的方法,可以在其派生类中被重写。(单选)
A. override
B. abstract
C. virtual
D. interface
9、以下选项中,( D )为“IS A”关系。(单选)
A. 北京和中国
B. 田径比赛和奥运会
C. 老师和北大青鸟
D. 城市和首都
10、下列关于构造函数的描述正确的是( C )。(单选)
A. 构造函数返回void类型。
B. 构造函数不可以用private修饰
C. 构造函数不返回任何值
D. 构造函数不能带参数
11、类成员的默认访问修饰符为( D )。(单选)
A. public
B. internal
C. protected
D. private
12、下列选项中,错误的是( B )。(单选)
A. 结构中可以包含方法和数据成员。
B. 只能为结构中的数据成员赋一次值。
C. 结构不能像类一样实现继承。
D. 枚举是一组已命名的数值常量。
13、下列数组声明,语法错误的是( BCD )。(多选)
A. int[] numbers;
B. int[2] numbers;
C. byte[5][] scores;
D. string names[];
14、下列关于C#中索引器理解正确的是(D)。(选择一项)
A、索引器的参数必须是两个或两个以上
B、索引器的参数类型必须是整数型
C、索引器没有名字
D、以上都不对
15、C#中,声明一个带参数的Main方法,代码为(C)。(选择一项)
A、 public static void Main()
B、 public static void Main(String[])
C、 public static void Main(String[] args)
D、 public static void Main(String * args)
16、.NET的框架中的公共语言运行库提供的服务包括()。(选择两项)
A、 提供通用语言规范
B、 类库的加载
C、 提供移动互连网工具集
D、 垃圾收集
17、(D)关键字用于在C#中从派生类中访问基类的成员。(选择一项)
A、new
B、super
C、this
D、base
18、( B )命名空间在.NET Framework中又称为根命名空间.
A、System.IO
B、System
C、System.Threading
D、System.Data
19、( D )就是将值类型转换为引用类型。
A、拆箱
B、数据转换
C、值转换
D、装箱
20、命名空间用于( C )。
A、重载方法
B、初始化变量
C、简化命名冲突
D、模拟对象
21、下面( B )不可重载.
A、方法
B、属性
C、索引器
D、委托
22、属性的( B )访问器用于将值赋给类的私有实例变量.
A、get
B、set
C、this
D、value
23、所有c#的异常都派生自( B )类.
A、Windows
B、Exception
C、SystemException
D、CommonException
24、C#中,数组索引从( C )开始.
A、1
B、-1
C、0
D、以上都不是
25、所有Windows控件都是从( )类派生的类
A、System.Windows.Forms.Control
B、System.Windows.Forms.Controls
C、System.Forms.Control
D、以上都不是
26、值类型存储在( A )中
A、堆栈
B、堆内存
C、队列
D、列表
27、System的( A )命名空间提供一组接口和类,让用户可以对一组数据元素执行集合操作.
A、Collections
B、Data
C、Refelection
D、Assembly
28、用户可以通过( D )类将数据作为一组键值对来存储,这些数据是根据键值进行组织的.
A、ArrayList
B、Array
C、IList
D、Hashtable
29、线程实例的( A )方法用于开始执行线程.
A、Start()
B、Begin()
C、Execute()
D、Run()
30、C#编译器将C#程序编译成什么样的代码?(C)
A. 汇编语言代码
B. 机器语言代码
C. 微软中间语言代码
D. 二进制代码
31、.NET中的所有代码都由( B )管理,因此又称为“托管代码”。(单选)
A. MSIL
B. CLR
C. JIT
D. CRL
32、在C#中,下列代码的运行结果是:(B)
int a = 30;
int b = 20;
b = a;
a = 10;
Console.WriteLine(a);
Console.WriteLine(b);
A、10
10
B、10
30
C、30
20
D、10
20
33、在C#中,下列代码的运行结果是(C)(选择一项)
static void Main()
{
int [] num = new int[] {1,2,3,4,5};
Array.Reverse(num);
foreach(int i in num)
{
Console.Write(i);
}
}
A、00000
B、12345
C、54321
D、不确定
34、在C#中,可以通过装箱和拆箱实现值类型和引用类型之间的相互转换,在下列代码中,有(C)处实现了装箱。(选择一项)
int age = 5;
object o = age;
o = 10;
age = (int)o;
object oAge = age;
A、1
B、2
C、3
D、4
35、下列错误的是( A )。(多选)
A. Array ar = new Array();
B. Hashtable对象中的key值必须是唯一的。
C. ArrayList只能有一个维,而Array可以有多个维。
D. ArrayList类和Array类同属于System.Collections命名空间。
36、分析下面代码:()
abstract class BaseClass
{
public virtual void MethodA()
{
Console.WriteLine("BaseClass");
}
public virtual void MethodB()
{
Console.WriteLine(“BaseClass:MethodB”);
}
}
class Class1: BaseClass
{
public void MethodA()
{
Console.WriteLine("Class1");
}
public override void MethodB()
{
Console.WriteLine(“Class1:MethodB”);
}
}
class MainClass
{
public static void Main(string[] args)
{
BaseClass o = new Class1();
o.MethodA();
o.MethodB();
}
}
请问,此程序输出结果是: (C)
A. BaseClass
BaseClass:MethodB
B. Class1
BaseClass:MethodB
C. BaseClass
Class1:MethodB
D.Class1
Class1:MethodB
37、分析下面的代码:()
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields()
{
Console.WriteLine("x={0},y={1}",5,6);
}
}
class B:A
{
int x=1;
int y;
public B()
{
y=9;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
public static void Main()
{
new B ();
}
}
此示例的输出结果应为( D )。(单选)
A. X=5,y=6
X=1,y=9
B. X=5,y=6
C. X=1,y=9
D. X=1,y=0
38、以下的C#代码,用来判断两个整数是否相等:
class C
{
static void Main(string [] args)
{
int A;
int B;
if A = B
Console.Write("A = B");
}
}
代码中存在的错误包括以下的几项,除了(D)(选择一项)
A、 变量A和B在使用以前,必须进行赋值
B、 判断A 和B是否相等,应使用“==”符号
C、 A和B是否相等的判断,应使用括号括起来
D、 If下面的执行代码,应使用花括号括起来
39、任何控件只要有什么属性 就可以随意的向该控件中添加子控件?(D)
A、ControlAdded
B、Control
C、TextBox
D、Controls
40.下列选项中,(C)是引用类型。
A、enum类型
B、struct类型
C、string类型
D、int类型
41.已知有如下声明:int[][] myArray3=new int[3][]
{newint[3]{5,6,2},
new int[5]{6,9,7,8,3},
new int[2]{3,2}};
请问: myArray3[2][2]的值是(D)。
A、9
B、2
C、6
D、越界
42. 以下的C#代码段:()
Public struct person
{
string Name;
int Age;
}
public static void Main()
{
Hashtable A;
Person B;
}
以下说法正确的是(A)。(选择一项)
A、 A为引用类型的变量,B为值类型的变量
B、 A为值类型的变量,B为引用类型的变量
C、 A和B都是值类型的变量
D、 A和B都是引用类型变量
43.下面描述错误的是(C)。
A、窗体也是控件;
B、窗体也是类;
C、控件是从窗体继承来的;
D、窗体的父类是控件类;
44、下面的代码实现了设计模式中的什么模式(C)
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
45、阅读代码:
class Class1
{
public static int Count = 0;
static Class1()
{
Count++;
}
public Class1()
{
Count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,Class1.Count的值是多少?( D)
A、1
B、2
C、3
D、4
46、三种常用的字符串判空串方法:()
1、bool isEmpty = (str.Length = = 0);
2、bool isEmpty = (str = = String.Empty);
3、bool isEmpty = (str = = "");
4、boll isEmpty = (str.Equals(""))
哪种方法最快?
A、1
B、2
C、3
D、4
47、 根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?(B)
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
A、会锁死
B、不会锁死
48. 下面的C#代码用来执行文件拷贝:
using System;
using System.IO;
class Copy
{
static void Main(string[] args)
{
Directory.CreateDirectory(“C#.NET”);
File.Copy(“ACCP.TXT”,”C#.NET\\ACCP.TXT”);
Console.ReadLine();
}
}
假设当前目录下文件“ACCP.TXT”存在,以下说法正确是的(D)。(选择一项)
A、 程序不能编译通过,因为File类中包含Copy方法,类名Copy产生重复
B、 程序不能编译通过,因为Directory、File没有被实例化
C、 程序能编译通过,但会产生运行时错误,因为创建的文件夹不允许包含“#”字符
D、 程序能编译通过,并且能够正确执行文件拷贝
49. 阅读以下的C#代码:
public class TEApp
{
public static void ThrowException()
{
throw new Exception();
}
public static void Main()
{
try
{
Console.WriteLine(“try”);
ThrowException();
}
catch(Exception e)
{
Console.WriteLine(“catch”);
}
finally
{
Console.WriteLine(“finally”);
}
}
}
请问代码运行结果是(A)。(选择一项)
A、 try
catch
finally
B、 try
C、 catch
finally
D、 try
Finally
50. 在.NET中,以下都是System.IO中定义的类,除了()。(选择一项)
a) TextWriter
b) Stream
c) FileReader
d) FileSystemInfo
展开阅读全文