
习超三 下列关于构透函数的描述正确的是() A构造函数可以声明返目类型。 R构造函数不可以用rivate修饰 C构造函数必须与类名相同 D构造函数不能替参数 正确答案:C 2.class Classl private static int count 0: static Classl() ( counttt; 》 publie Class1() count+t: Classl o1 new Class10: Classl o2 new Class10; 请月,ol.Count的值是多少?() A.I B2 C.3 D.4 正确答案:C 3分析C#语句,注意类s知Calss没有访问修饰符: Nanespace ClassLibraryl public class Mylass Class subClass int i; ) 若必须为类su止C1ass添加访修饰符,并使sC1ass的可访间修饰符保特不变,则应选择()
习题三 1. 下列关于构造函数的描述正确的是( ) A.构造函数可以声明返回类型。 B.构造函数不可以用 private 修饰 C.构造函数必须与类名相同 D.构造函数不能带参数 正确答案:C 2. class Class1 { private static int count = 0; static Class1() { count++; } public Class1() { count++; } } Class1 o1 = new Class1(); Class1 o2 = new Class1(); 请问,o1.Count 的值是多少?( ) A.1 B.2 C.3 D.4 正确答案:C 3. 分析 C#语句,注意类 subCalss 没有访问修饰符。 Namespace ClassLibrary1 { public class Mylass { Class subClass { int i; } } } 若必须为类 subClass 添加访问修饰符,并使 subClass 的可访问修饰符保持不变,则应选择( )

A.protected B.internal C.private D.publie 正确答案:D 4下列类的定义是否合法?()(提示:注意两个类的访闻修饰符的不同) internal class Base 3 public class MyClass:Base A,合法 B.不合法 正确答案:B 5下列类C1ass的Nse属性定义是否正确? public abstract class Base public abstract string Nanelget:set:} public class MyClass:Base 4 string n: public override string Nane lget(return n:} set(n-value;l】 3 A,不正确 B.正确 正确答案:B 6在C出中设计时,如何将一个可读写的公有属性Ne修改为只读属性?() A,为ae添加修饰符 B.将se的set块置空 C,将se的set块酬除 D,在ae的set块前加修饰符pravite 正确答案:C 7.分析以下程序.注意静态构造函数内使用的赋值语句为counter-0. public class staticClass static private int _counter: //私有构造函数勋止对象生成
A.protected B.internal C.private D.public 正确答案:D 4. 下列类的定义是否合法?( ) (提示:注意两个类的访问修饰符的不同) internal class Base { } public class MyClass:Base { } A.合法 B. 不合法 正确答案:B 5. 下列类 MyClass 的 Name 属性定义是否正确? public abstract class Base { public abstract string Name{get;set;} } public class MyClass:Base { string n; public override string Name{get{return n;} set{n=value;}} } A.不正确 B.正确 正确答案:B 6. 在 C#中设计时,如何将一个可读写的公有属性 Nmae 修改为只读属性?( ) A.为 Nmae 添加修饰符 B.将 Nmae 的 set 块置空 C.将 Nmae 的 set 块删除 D.在 Nmae 的 set 块前加修饰符 pravite 正确答案:C 7. 分析以下程序.注意静态构造函数内使用的赋值语句为 counter=0. public class staticClass { static private int _counter; //私有构造函数防止对象生成

private staticClass([ /静态构造函要 static staticClass() counter 0; Console,rite(“init!”) static public int counter get (Comsole.Vrite("get!");return _counter:] set (Console,.rfte(“set!”):_counter=value: 则调用语句C1adL.ibraryl..staticClass5.counter”10O:的输出是() A.set!init!set! B.set!init! C.init!set! D.set日 正确答案:A &【int count:string wsg:}则该类的缺省构造函数为:() A.1 nternal MyC1ass0【】 B.publie MyClass() C.public MyC\lass D.不存在 正确答案:C 9.在下面的类定义中,缺省构迹函数的作用是《)】 public class MyClass ( private MyClass( public static int counter: public static int increnentCounter() return ++counter: return +counter: A,在创建类的实例时初始化类的战 B,因为是orivate的,因此不起任何作用 C.防止创建类的实例 正确答案:C 10.C类yclass定义如下:
private staticClass(){} //静态构造函数 static staticClass() { counter = 0; Console.Write (“init!”); } static public int counter { get{Console.Write(“get!”);return _counter;} set{Console.Write(“set!”);_counter=value;} } } 则调用语句 CladdLibrary1.staticClass.counter = 100;的输出是( ) A.set! init! set! B.set! init! C.init! set! D.set! 正确答案:A 8. { int count ; string msg ; } 则该类的缺省构造函数为: ( ) A. internal MyClass() { } B. public MyClass(){ C. public MyC\lass {} D. 不存在 正确答案:C 9. 在下面的类定义中,缺省构造函数的作用是( ) public class MyClass { private MyClass( ){} public static int counter; public static int increnentCounter() { return ++counter; return ++counter; } } A.在创建类的实例时初始化类的域 B.因为是private的,因此不起任何作用 C.防止创建类的实例 正确答案:C 10. C#类 myclass 定义如下:

public class melass int count: private myclass(int I)(count=I:) 现在需要为该类添如一个公有的构造橘数,则下列函数定义正确的有() A.public myclass()(mclass(100); B.public myclass()melass(100)( C.public myclass()base(100)[} D.public myclass();this(100)[} 正确答案:D 11,类C1ass定义如下: nanespace ClassLibraryl public class MyClass internal class subelass 4inti:」】} 则类C1ass.Subclass的可访问域为:() A.在所有引用ClassLibraryl的程序集中可用,但限于C1ass的内部 B.定义C1ass时所在的程序集 C,在所有引用C1 assLibrary1的程序集中可用,但限于C1ass的深生类中 D,访问不受限制 正确答案:B 12.以下关于ref和out的指述螺些项是正确的?() A使用ref参数,传递到ref参数的参数必须最先初始化, B使用0闻t参数,传递到ut参数的参数必须最先初始化, C使用ref参数,必须将参数作为ref参数显式传递到方法。 D.使用o阳t参数,必须将参数作为aut参数量式传递到方法, 正确答案:①D 13,类yC1ass中有下列方法定义: public void testParams(parans int[]arr) Console.rite《“使用Parans参数!”): public void testParams(int x.int y) Console.rite(“使用两个整型参数1”): 请间上述方法重载有无二义性?若没有,则下列语句的输出为(), MyClass x new MyClass(:
public class myclass { int count; private myclass(int I){count=I;} } 现在需要为该类添加一个公有的构造函数,则下列函数定义正确的有( ) A.public myclass(){myclass(100);} B.public myclass();myclass(100){} C.public myclass();base(100){} D.public myclass();this(100){} 正确答案:D 11. 类 MyClass 定义如下: namespace ClassLibrary1 { public class MyClass { internal class subclass { int i ; } } } 则类 MyClass. Subclass 的可访问域为: ( ) A.在所有引用 ClassLibrary1 的程序集中可用, 但限于 MyClass 的内部 B.定义 MyClass 时所在的程序集 C.在所有引用 ClassLibrary1 的程序集中可用, 但限于 MyClass 的派生类中 D.访问不受限制 正确答案:B 12. 以下关于 ref 和 out 的描述哪些项是正确的?( ) A.使用 ref 参数,传递到 ref 参数的参数必须最先初始化。 B.使用 out 参数,传递到 out 参数的参数必须最先初始化。 C.使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。 D.使用 out 参数,必须将参数作为 out 参数显式传递到方法。 正确答案:ACD 13. 类 MyClass 中有下列方法定义: public void testParams(params int[] arr) { Console.Write (“使用Params参数!”); } public void testParams(int x,int y) { Console.Write (“使用两个整型参数!”); } 请问上述方法重载有无二义性?若没有,则下列语句的输出为( )。 MyClass x = new MyClass();

x.testParans(0): x.testParams (0,1) x.testParaas(0,1.2) A有语复二义性: 民使用Parans参数:使用两个整型参数:使用Parans参数! C,使用Parans参数:使用Parans参数!使用Params参数! D.使用Paas参数:使用两个整型参数:使用两个整型参数! 正确答案:B 14,下列关于C#中索引器理解正确的是() A素引器的参数必须是两个或两个以上 B素引器的参数类型必须是整数型 C需引器没有名字 D以上皆丰 正确答案:C 15.在C中设计类时,应如何保证在释放对象的所有引用之前,释放对象使用的文件、网锋等资薄? () A,为类添加析构函量,在析构函量中释放资源 B,为类重载ew运算符 C,为实现IDisposable借口 D.为类添加delete运算符 正确答案:C 16,编程思:创建一个关于人的类(其属性有姓名、性别、年龄、身高、体重等),并定义一些设 置属性和获取属性值的方法。最后通过实例化该类,来进行测试
x.testParams(0); x.testParams(0,1); x.testParams(0,1,2); A. 有语义二义性; B. 使用Params 参数!使用两个整型参数!使用Params 参数! C. 使用Params 参数!使用Params 参数!使用Params 参数! D. 使用Params 参数!使用两个整型参数!使用两个整型参数! 正确答案:B 14. 下列关于 C#中索引器理解正确的是( ) A.索引器的参数必须是两个或两个以上 B.索引器的参数类型必须是整数型 C.索引器没有名字 D.以上皆非 正确答案:C 15. 在 C#中设计类时,应如何保证在释放对象的所有引用之前,释放对象使用的文件、网络等资源? ( ) A.为类添加析构函数,在析构函数中释放资源 B.为类重载 new 运算符 C.为实现 IDisposable 借口 D.为类添加 delete 运算符 正确答案:AC 16. 编程题:创建一个关于人的类(其属性有姓名、性别、年龄、身高、体重等),并定义一些设 置属性和获取属性值的方法。最后通过实例化该类,来进行测试