C#期末试题-选择题及答案_第1页
C#期末试题-选择题及答案_第2页
C#期末试题-选择题及答案_第3页
C#期末试题-选择题及答案_第4页
C#期末试题-选择题及答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/1.属于C#语言的关键字( A )。A. abstract B. camel C. Salary D. Employ2.C#语言中,值类型包括:基本值类型、结构类型和 D 。 A.小数类型 B.整数类型 C.类类型 3.假定一个10行20列的二维整型数组,以下哪个定义语句是正确的 C 。A. intarr = new int10,20B. intarr = int new10,20C. int,arr = new int10,20D. int,arr = new int20;10 。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套9.可用作C#程序

2、用户标识符的一组标识符是( B )。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof10.引用类型主要有4种:类类型、数组类型、接口类型和 。 A.对象类型 B.字符串类型 2.在C#中,定义派生时,指定其基类应使用的语句是( )。A.Inherits B.: 答案:B3.类的以下特性中,可以用于方便地重用已有的代码和数据的是( ).A.多态 B.封装 答案:C4.在Array类中,可以对一维数组中的元素进行排序的方法是( A )。A.Sort() B.Clear() C.Copy() D.Reverse

3、()3. 以下标识符中不全是关键字的是 D 。 A. case for int B. default then while C. bool class long D. goto unit char7. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。 A. 12 B. 144 C. 156 D. 2881. C#中MyClass 为一自定义类,其中有以下方法定义public void Hello().使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类MyClass 的Hello 方

4、法? A A. obj.Hello();B. obj:Hello();C. MyClass.Hello();D. MyClass:Hello();2. 分析以下C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1class MyClasspublic class subClassint i;假设必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择 C A. private 访问只限于包含该成员的类,私有的B. protected 访问限于包含该成员的类及类的派生灯,保护的C. internal 访问只限于所在的程序集

5、,只有在同一个程序集中才能访问D. public 访问不受限制,公共的还有一种是protected internal3. C#可以采用以下哪些技术来进行对象内部数据的隐藏? BC A. 静态成员B. 类成员的访问控制说明C. 属性D. 装箱(boxing)和拆箱(Unboxing)技术4. 分析以下程序:public class class4private string _sData = “;public string sDataset_sData = value;在Main 函数中,在成功创建该类的对象obj 后,以下哪些语句是合法的? A A. obj.sData = “It is fun

6、ny!”;B. Console.WriteLine(obj.sData);C. obj._sData = 100;D. obj.set(obj.sData);5. 分析以下程序中类MyClass 的定义class BaseClasspublic int i;class MyClass:BaseClasspublic new int i;则以下语句在Console 上的输出为 D MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(“0, 1”,x.i,y.i);(提示:注意类MyClass 中的new 关键

7、字)A. 0, 0B. 100, 100C. 0, 100D. 100, 06. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改良,以处理不同的派生类的需要,则应将该方法声明成 C A. sealed 方法 封闭类B. public 方法 公共类C. visual 方法 虚方法D. override 方法 重载基类7. 类MyClass 中有以下方法定义:public void testParams(params int arr)Console.Write (“使用Params参数!”);public void testParams(int x,int y)Console.Writ

8、e (“使用两个整型参数!”);请问上述方法重载有无二义性?假设没有,则以下语句的输出为 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 参数!使用两个整型参数!使用两个整型参数!8. 使用以下哪种方法可以减小一个ArrayList 对象的容量? CD A. 调用Remove 方法B. 调

9、用Clear 方法C. 调用Trim调整,修剪ToSize 方法D. 设置Capacity 属性9. C#程序中,可使用try.catch 机制来处理程序出现的 B 错误.A. 语法B. 运行C. 逻辑D. 拼写10. C#中,在方法MyFunc 内部的try.catch 语句中,如果在try 代码块中发生异常,并且在当前的所有catch 块中都没有找到合适的catch 块,则 C A. .NET 运行时忽略该异常B. .NET 运行时马上强制退出该程序C. .NET 运行时继续在MyFunc 的调用堆栈中查找提供该异常处理的过程D. .NET 抛出一个新的”异常处理未找到”的异常在C#中,预

10、处理器指令#region地区,范围和#endregion 的作用是 B 。A. 注释#region 和#endregion 之间的代码B. 为Code Editor 定义一段可折叠代码区C. #region 和#endregion 之间的代码在Debug 版本中不参加编译D. #region 和#endregion 之间的代码在Release 版本中不参加编译以下哪一个不是面向对象编程的特征DA.继承B.多态C.封装面向对象程序设计中的数据隐藏指的是。 D以下描述中,D是不正确的。A. 面向对象程序设计可重用性较好;B. 对象之间通过消息进行信息传递;C. 多态性表达了行为共享;D. 面向对象

11、方法的核心是继承;在C#中,将路径名”C:Documents”存入字符串变量path中的正确语句是A A. path = C: Docments;B. path = C: /Document/;C. path = C:Document;D. path = C:/Document/;以下语句在控制台上的输出是多少?A string msg = ”HellonWorld!”;System.Console.WriteLine(msg);A.HellonWorld!B.”HellonWorld!”C.Hello World!D.HelloWorld!C#中执行以下语句整形变量x和y的值是多少? D i

12、nt x=100; int y=+x;A.x=100 y=100B.x=101 y=100C.x=100 y=101D.x=101 y=101DC#中每个bool类型量占用 d 个字节的内容.C#中每个char类型量占用 b 个字节的内容.单项选择题C#中每个int 类型的变量占用c 个字节的内存。A. 1B. 2C. 4D. 8在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用以下哪条语句? a A. decimal theMoney;B. int theMoney;C. string theMoney;D. dim theMoney as doubleC#中的类型fl

13、oat 对应.NET 类库中的 a 以下语句是类 myclass的一部分,obj是myclass类的一个对象.Void change(int i) i+;Public void test()Int a=100;Change(a);Console.Writeline(a);则调用obj.test后,控制台输出(b)A. 0;B. 100;C. 101;D. 不输出;C#的数据类型有。 BA. 值类型和调用类型; B. 值类型和引用类型C. 引用类型和关系类型; D. 关系类型和调用类型; 以下选项中, C 是引用类型。A. enum类型B. struct类型C. string类型D. int类型

14、已知类A中的一个成员函数的说明如下:void Set(A a);则该函数的参数“A a”的含义是。C什么字符被用来放在其他字符串末尾使这些字符串连成一串? a A. 加号(+) B. 减号(-) C. 问号(?) D. 星号(*)C#中,新建一字符串变量str,并将字符串”Toms Living Room”保存到串中,则应该使用以下哪条语句? a A.string str = “Toms Living Room”;B. string str = “string str = “Toms Living Room”;C.string str(“Toms Living Room”);D.string

15、str(“Toms Living Room”); 在C#中,表示一个字符串的变量应使用以下哪条语句定义? bA. CString str;B. string str;C. Dim str as stringD. char * str;类MyClass 中有以下方法定义:public void testParams(params int arr)Console.Write (“使用Params参数!”);public void testParams(int x,int y)Console.Write (“使用两个整型参数!”);请问上述方法重载有无二义性?假设没有,则以下语句的输出为 bMyCl

16、ass 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 参数!使用两个整型参数!使用两个整型参数!单项选择题int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2; myArray322的值是 d。A. 9 B. 2 C. 6 D. 越

17、界 单项选择题以下语句创建了多少个string 对象? a string, strArray = new string3,4;A. 0B. 3C. 4D. 12单项选择题数组pins的定义如下: int pins = new int4 9,2,3,1 ;则 pins1 =b A. 1 B. 2 C.3 单项选择题数组pins的定义如下:string pins = new string4a,b,c,d;执行以下语句后,数组pins的值为 (b ) . string myArr = pins ;myArr 3 = e;A. a,b,e,d B. a,b,c,e C. a,b,c,d D. e,e,

18、e,d 以下哪个是可以变长的数组? dA. Array B. stringC. stringN D. ArrayList在System.Collection名字空间中,以下哪个类实现了一种数据结构,这种数据结构支持使用键值来索引结构中存放的对象? d D.Hashtable 类在Queue类中,Enqueue方法的作用是: d 在Queue类中,移除并返回队列前端对象的方法是: c 向ArrayList中增加一元素,用以下哪个方法。 a A. AddB. RemoveC. InsertD. Append以下是一些C#中的枚举型的定义,其中错误的用法有 a 。A. public enum var

19、1 “Mike” = 100, “Nike” = 102, “Jike” ; B.public enum var1 Mike = 100, Nike, Jike ;C. public enum var1 Mike=-1 , Nike, Jike ; D.public enum var1 Mike , Nike , Jike ;关于成员函数特征的以下描述中,a是错误的。A. 成员函数一定是实例函数;B. 成员函数可以重载;C. 成员函数可以有不同的访问修饰符D. 成员函数可以是静态的;在下面的类定义中,缺省构造函数的作用是(c)Public class MyClass private MyCla

20、ss( ) public static int counter; public static int increnentCounter() return +counter; return +counter; A. 在创建类的实例时初始化类的域B. 因为是private的,因此不起任何作用C. 防止创建类的实例单项选择题以下程序的输出是什么?(c )public class Base Private readonly string msg = “Base!”; Private Base()console.write(msg);/私有的 Protected Base(string str):thi

21、s()this.msg = str;Public class myclass:BasePublic myclass():base(ABC)console.write(“myclass”);Static void main()/控制台主程序入口 Myclass x = new myclass();A. Base!B. myclassC. Base! Myclass!D. Myclass! Base!C#类myclass定义如下:public class myclass int count; private myclass(int I)count=I; 现在需要为该类添加一个公有的构造函数,则以下

22、函数定义正确的有d A.public myclass()myclass(100);B.public myclass():myclass(100)C.public myclass():base(100) D.public myclass():this(100)d不是构造函数的特征。A. 构造函数的函数名与类名相同;B. 构造函数可以重载;C. 构造函数可以设置缺省参数;D.构造函数必须指定类型说明。没有类型C#中MyClass 为一自定义类,其中有以下方法定义public void Hello().使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new My

23、Class();那么,可如何访问类MyClass 的Hello 方法? a A. obj.Hello();B. obj:Hello();C. MyClass.Hello();D. MyClass:Hello();以下类的定义中哪些是合法的抽象类? (d )A. sealed abstract class c1 abstract public void test() B. abstract sealed public void test();C. abstract class c1 abstract void test();D. abstract class c1 abstract public

24、 void test();类MyClass定义如下: namespace ClassLibrary1 public class MyClass internal class subclass int i ; 则类MyClass. Subclass的可访问域为: b A.在所有引用ClassLibrary1的程序集中可用, 但限于MyClass的内部C.在所有引用ClassLibrary1的程序集中可用, 但限于MyClass的派生类中分析C#语句,注意类subCalss没有访问修饰符. Namespace ClassLibrary1 Public class Mylass Class subC

25、lass int i; 假设必须为类subClass添加访问修饰符,并使subClass的可访问修饰符保持不变,则应选择( c )A. protected B. internalC. private D. public 分析以下C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1class MyClasspublic class subClassint i;假设必须为类MyClass 添加访问修饰符,并使MyClass 的可访问域保持不变,则应选择 c A. private 访问只限于包含该成员的类,私有的B. protected 访问限于包含该成员的

26、类及类的派生灯,保护的C. internal 访问只限于所在的程序集,只有在同一个程序集中才能访问D. public 访问不受限制,公共的还有一种是protected internal在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?( a)A.将Name的set块删除 以下类MyClass 的属性count 属于 a属性.class MyClassint i;int countGet return i; A. 只读B. 只写C. 可读写D. 不可读不可写面向对象编程中的“继承”的概念是指 b 类class1,class2,class3的定义如下:abstract clas

27、s class1abstract public void test();class class2:class1public override void test() Console.write(“class2”);class class3:class2public override void test()Console.write(“class3”);则以下语句的输出是什么? (b) (提示:从抽象类的规则)Class1 x=new class3();x.test();A. class3 class2B. class3C. class2 class3D. class2派生类的对象对它的基类成员

28、中的a是不可访问的以下描述中,正确的选项是cA. 虚方法是一个static 类型的成员方法B. 虚方法是一个非成员方法C. 抽象类是指具有抽象方法的类D. 抽象类可以实例化其对象 以下描述错误的选项是 a。 A. C#中不支持抽象类。 B.在C#中没有头文件并且在同一处声明和定义类的成员。 C.在C#中可使用 new 修饰符显式隐藏从基类继承的成员。 D. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。分析以下程序中类MyClass 的定义class BaseClasspublic int i;class MyClass:BaseClasspublic new int

29、i;则以下语句在Console 上的输出为d MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(“0, 1”,x.i,y.i);A. 0, 0B. 100, 100C. 0, 100D. 100, 0单项选择题在定义类时,如果希望类的某个方法能够在派生类中进一步进行改良,以处理不同的派生类的需要,则应将该方法声明成 c A. sealed 方法 封闭类B. public 方法 公共类C. virtual 方法 虚方法D. override 方法 重载基类以下描述错误的选项是 d 。 A. 类不可以多重继承

30、而接口可以; B. 抽象类自身可以定义成员而接口不可以; C. 抽象类和接口都不能被实例化; D. 一个类可以有多个基类和多个基接口;以下描述中,d是抽象类的特性。A.可以定义虚函数;B.可以进行构造函数重载;C.可以定义友元函数;D.不能实例化其对象。以下描述中,关于函数重载满足的条件的说明不正确的选项是cA. 有不同的参数个数; B. 对应的参数类型不相同;C. A和B必须同时满足;D. A和B只要满足一个即可;?重载函数在调用时选择的依据中,错误的选项是( a)A. 函数的参数名B. 参数的类型C. 函数的名字 以下说法中,正确的说法是bB.运算符被重载时,它们的优先级与结合性不会改变C

31、.当需要时,我们可以自定义一个运算符来进行重载单项选择题用户类假设想支持Foreach语句需要实现的接口是: a A. IEnumerableB. IEnumeratorC. ICollectionD. ICollectDataC#程序中,可使用try.catch 机制来处理程序出现的 b错误.A. 语法B. 运行C. 逻辑D. 拼写以下的C#代码,试图用来定义一个接口: public interface IFile int A; int delFile() A = 3; void disFile(); 关于以上的代码,以下描述不正确的选项是 d 。A. 以上的代码中存在的错误包括:不能在接口

32、中定义变量,所以int A代码行将出现错误;B. 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;C. 代码void disFile();声明无错误,接口中的方法可以没有返回值;D. 代码void disFile();应该编写为void disFile();在C# 中,使用c 语句捕获异常。A. ifB. whileC. try D. do 关于new运算符的以下描述中,d是错误的。A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以由垃圾收集机制释放;C.使用它创建对象时要调用构造函数;以下静态数据成员的特性中,b是错误的。A

33、.说明静态数据成员时前边要加修饰符static;B.静态数据成员要在类体外进行初始化;C.静态数据成员被该类的所有对象所共用;D.引用静态数据成员时,要在其名称前加;1、在C#中,以下常量定义正确的选项是B 。选择一项A.Const double PI 3.1415926;3、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了 D 。选择一项4、 阅读以下的C#代码:public class TEApp public static void ThrowException() throw new Exception(); public static void Main() tr

34、y Console.WriteLine(try); ThrowException(); catch(Exception e) Console.WriteLine(catch); finally Console.WriteLine(finally); 请问代码运行结果是 A 。选择一项A.try catch finallyC.try catchD.try finally5、在C#中,一个类 B .(选择一项)6、针对下面的代码: using System; class Teststring public static void Main() String strOriginal; strOrig

35、inal = Console.ReadLine(); bool A = strOriginal.Equals(A); Console.WriteLine(A.ToString(); int B = strOriginal.Length; Console.WriteLine(B.ToString(); Console.ReadLine(); 程序运行时输入。“”五个A的前面有三个空格则程序输出为 B 选择一项 A.0 8B.False 8C.1 8D.False 57、以下的C代码段: public struct Person string Name; int Age; public stati

36、c void Main() Hasbtable A; Person B; /其他处理代码 以下说法正确的选项是 A 。选择一项 A.A为引用类型的变量,B为值类型的变量B.A为值类型的变量,B为引用类型的变量D.A和 B都是引用类型的变量 9、在C#中定义一个数组,正确的代码为 B 。(选择一项)A.int arraya = new int5;B.int arraya = new int5;C.int arraya = new int;D.int5 arraya = new int; 10、在C语言中,以下关于属性的描述正确的选项是B选择一项A.属性系是以public关键字修饰的字段,以pub

37、lic关键字修饰的字段也可称为属性B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏D.在C#的类中不能自定义属性 11、程序运行过程中发生的错误,叫作C 选择一项 12、在NET框架类库中,所有与多线程机制应用相关的类都放在C 命名空间中。选择一项14、阅读以下的C代码: class A public A( ) Console.WriteLine(A); class B:A public B() Console.WriteLine(B); class Program public static void Main() B b = new B(); Console.ReadL

38、ine(); 上述代码运行后,将在控制台窗口输出C。选择一项A. AB. BC. A BD.B A 15、在.NET中,以下关于命名空间的描述,正确的选项是 D 。选择一项B.任一个.cs文件中,只能存在一个命名空间C.便用private修饰的命名空间,其内部的类也不允许访问D.命名空间使得代码更加有条理、结构更清晰 16、NET中,程序中的错误可以划分为以下三类,除了D 。 选择一项 17、针对下面的C#代码: using System; delegate void D(int i); class P public static void Main() Vnew D(R); public s

39、tatic void R(int t) V(21); public static void Vint i Console.WriteLine(i.ToString(); Console.ReadLine(); 以下说法正确的选项是( B )选择一项 A.代码中存在错误,delegate voidD(int i);不能定义在名称空间或者类之外B.代码中存在错误,代码行V(new D(R);使用委托错误C.程序正常运行,输出为0D.程序正常运行,输出为2119、以下关于C#中方法重载的说法正确的选项是 CD 。选择二项A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载B.如两个方法

40、名字相同,而返回值的数据类型不同,那么它们可以构成方法重载C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载 20、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用 A 关键字。选择一项 21、在.NET中,Hashtable类所在的命名空间是 C 选择一项 22、在C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在以下代码中,有 B 处实现了拆箱。选择一项int age = 5;object o= age;o=10;age=(int)o;object oAge =age; 23、

41、在C#中,以下代码的运行结果是 B . (选择一项)Intnum =new int1,3,5;ArrayList arr=new ArrayList();For(int i=0;ib?a:b; Max = cMax?c:Max;38、 int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2。myArray322的值是 D A 9 B 2 C 6 D 越界39 在C#中,关于continue和break,以下说法正确的选项是 B A break是中断本次循环B continue是中断本次循环,进入一下次的循环C break是中断本次循环,进入一下次的循环D continue是中断整个循环40在C#中,关于while和dowhile,以下说法正确的选项是 C A while先执行然后判断条件是否成立 B while最少的循环次数是1次C dowhile先执行然后判断条件是否成立D dowhile最少的循环次数是0次41 “访问范围限定于只能在自己本身”是对以下哪个成员可访问性含义的正确描述 C A publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论