1、C#期末试题 选择题1.属于C#语言的关键字( A )。A. abstract B. camel C. Salary D. Employ2.C#语言中,值类型包括:基本值类型、结构类型和( D )。 A.小数类型 B.整数类型 C.类类型 D.枚举类型3.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的( C )。A. intarr = new int10,20B. intarr = int new10,20C. int,arr = new int10,20D. int,arr = new int20;105.以下正确的描述是( )。 A.函数的定义可以嵌套,函数的调用不可以嵌套
2、B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套9.可用作C#程序用户标识符的一组标识符是( B )。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof10.引用类型主要有4种:类类型、数组类型、接口类型和( )。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型2.在C#中,定义派生时,指定其基类应使用的语句是( )。A.Inherits B.: C.Class D.Overrides答案:B3.类的以下特性中,可以用于方便
3、地重用已有的代码和数据的是( ).A.多态 B.封装 C.继承 D.抽象答案:C4.在Array类中,可以对一维数组中的元素进行排序的方法是( A )。A.Sort() B.Clear() C.Copy() D.Reverse()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 为一自
4、定义类,其中有以下方法定义public void Hello().使用以下语句创建了该类的对象,并使变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类MyClass 的Hello 方法?( A )A. obj.Hello();B. obj:Hello();C. MyClass.Hello();D. MyClass:Hello();2. 分析下列C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1class MyClasspublic class subClassint i;若必须为类MyClass 添加访
5、问修饰符,并使MyClass 的可访问域保持不变,则应选择( C )A. private 访问只限于包含该成员的类,私有的B. protected 访问限于包含该成员的类及类的派生灯,保护的C. internal 访问只限于所在的程序集,只有在同一个程序集中才能访问D. public 访问不受限制,公共的还有一种是protected internal3. C#可以采用下列哪些技术来进行对象内部数据的隐藏?( BC )A. 静态成员B. 类成员的访问控制说明C. 属性D. 装箱(boxing)和拆箱(Unboxing)技术4. 分析下列程序:public class class4private
6、string _sData = “;public string sDataset_sData = value;在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?( A )A. obj.sData = “It is funny!”;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;则下列语句在Con
7、sole 上的输出为( D )MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(“0, 1”,x.i,y.i);(提示:注意类MyClass 中的new 关键字)A. 0, 0B. 100, 100C. 0, 100D. 100, 06. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成( C )A. sealed 方法 封闭类B. public 方法 公共类C. visual 方法 虚方法D. override 方法 重载基类7. 类MyClas
8、s 中有下列方法定义: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 参数!
9、C. 使用Params 参数!使用Params 参数!使用Params 参数!D. 使用Params 参数!使用两个整型参数!使用两个整型参数!8. 使用下列哪种方法可以减小一个ArrayList 对象的容量?( CD )A. 调用Remove 方法B. 调用Clear 方法C. 调用Trim(调整,修剪)ToSize 方法D. 设置Capacity 属性9. C#程序中,可使用try.catch 机制来处理程序出现的( B )错误.A. 语法B. 运行C. 逻辑D. 拼写10. C#中,在方法MyFunc 内部的try.catch 语句中,如果在try 代码块中发生异常,并且在当前的所有ca
10、tch 块中都没有找到合适的catch 块,则( C )A. .NET 运行时忽略该异常B. .NET 运行时马上强制退出该程序C. .NET 运行时继续在MyFunc 的调用堆栈中查找提供该异常处理的过程D. .NET 抛出一个新的”异常处理未找到”的异常在C#中,预处理器指令#region(地区,范围)和#endregion 的作用是( B )。A. 注释#region 和#endregion 之间的代码B. 为Code Editor 定义一段可折叠代码区C. #region 和#endregion 之间的代码在Debug 版本中不参加编译D. #region 和#endregion 之间
11、的代码在Release 版本中不参加编译 下列哪一个不是面向对象编程的特征 DA.继承B.多态 C.封装 D.统一接口 面向对象程序设计中的数据隐藏指的是。 DA.输入数据必须输入保密口令 B.数据经过加密处理 C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性 下列描述中,(D)是不正确的。 A. 面向对象程序设计可重用性较好; B. 对象之间通过消息进行信息传递;C. 多态性体现了行为共享; D. 面向对象方法的核心是继承; 在C#中,将路径名”C:Documents”存入字符串变量path中的正确语句是(A )A. path = C: Docments; B. path =
12、 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 ) int x=100; int y=+x; A.x=100 y=100 B.x=101 y=100 C.x=100 y=101 D.x=101 y=
13、101DC#中每个bool类型量占用( d )个字节的内容. A.4 B.2 C.8 D.1 C#中每个char类型量占用( b )个字节的内容. A.1 B.2 C.4 D.8 单选题 C#中每个int 类型的变量占用(c )个字节的内存。 A. 1 B. 2 C. 4 D. 8 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?( a ) A. decimal theMoney; B. int theMoney;C. string theMoney; D. dim theMoney as doubleC#中的类型float 对应.NET 类库中的 (a
14、) A. System.Single B. System.Double C. System.Int32 D. System.Int64 下列语句是类 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. 关系类型和调用类型
15、; 下列选项中,( C )是引用类型。 A. enum类型 B. struct类型 C. string类型 D. int类型 已知类A中的一个成员函数的说明如下:void Set(A a);则该函数的参数“A a”的含义是。C A.指向A的指针为a B.将变量a的地址赋给类AC.类A对象引用a用作函数的形参 D.变量A与a按位与后作函数参数 什么字符被用来放在其他字符串末尾使这些字符串连成一串? ( a )A. 加号(+) B. 减号(-) C. 问号(?) D. 星号(*) C#中,新建一字符串变量str,并将字符串”Toms Living Room”保存到串中,则应该使用下列哪条语句?(
16、a ) A.string str = “Toms Living Room”;B. string str = “string str = “Toms Living Room”; C.string str(“Toms Living Room”);D.string str(“Toms Living Room”); 在C#中,表示一个字符串的变量应使用以下哪条语句定义?( b) A. CString str; B. string str; C. Dim str as string D. char * str; 类MyClass 中有下列方法定义:public void testParams(param
17、s 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 参数
18、!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. 越界 单选题 下列语句创建了多少个string 对象?( a )string, strArray = new string3,4; A. 0 B. 3 C. 4 D. 12 单选题 数组pins的定义如下: int pins = new int4 9,2,3,1 ;则 pins1 =(b ) A. 1 B. 2 C
19、.3 D.9 单选题 数组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,e,d 以下哪个是可以变长的数组?( d) A. Array B. string C. stringN D. ArrayList 在System.Collection名字空间中,下列哪个类实现了一种数据结构,这种数据结构支持使用键值来索引结构中存放的对象?( d ) A.Stack类 B.
20、ArrayList类 C.Queue类 D.Hashtable 类 在Queue类中,Enqueue方法的作用是: ( d ) A.将队列末端元素出队列 B.将队列前端元素出队列 C.在队列前端压入新的元素 D.在队列末端压入新的元素 在Queue类中,移除并返回队列前端对象的方法是: ( c ) A.pop B.peek C.Dequeue D.Enqueue 向ArrayList中增加一元素,用下列哪个方法。( a ) A. Add B. Remove C. Insert D. Append 以下是一些C#中的枚举型的定义,其中错误的用法有( a) 。 A. public enum var
21、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
22、 MyClass( ) public static int counter; public static int increnentCounter() return +counter; return +counter; A. 在创建类的实例时初始化类的域 B. 因为是private的,因此不起任何作用 C. 防止创建类的实例 D.无意义 单选题 下列程序的输出是什么?(c )public class Base Private readonly string msg = “Base!”; Private Base()console.write(msg);/私有的 Protected Base(s
23、tring str):this()this.msg = str;Public class myclass:BasePublic myclass():base(ABC)console.write(“myclass”);Static void main()/控制台主程序入口 Myclass x = new myclass(); A. Base! B. myclass C. Base! Myclass! D. Myclass! Base! C#类myclass定义如下:public class myclass int count; private myclass(int I)count=I; 现在需
24、要为该类添加一个公有的构造函数,则下列函数定义正确的有(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().使用以下语句创建了该类的对象,并使
25、变量obj 引用该对象:MyClass obj = new MyClass();那么,可如何访问类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 tes
26、t(); D. abstract class c1 abstract public void test(); 类MyClass定义如下: namespace ClassLibrary1 public class MyClass internal class subclass int i ; 则类MyClass. Subclass的可访问域为: (b )A.在所有引用ClassLibrary1的程序集中可用, 但限于MyClass的内部 B.定义MyClass时所在的程序集 C.在所有引用ClassLibrary1的程序集中可用, 但限于MyClass的派生类中 D.访问不受限制 分析C#语句,
27、注意类subCalss没有访问修饰符. Namespace ClassLibrary1 Public class Mylass Class subClass int i; 若必须为类subClass添加访问修饰符,并使subClass的可访问修饰符保持不变,则应选择( c ) A. protected B. internal C. private D. public 分析下列C#语句,注意类MyClass 没有访问修饰符:namespace ClassLibrary1class MyClasspublic class subClassint i;若必须为类MyClass 添加访问修饰符,并使M
28、yClass 的可访问域保持不变,则应选择( c ) A. private 访问只限于包含该成员的类,私有的 B. protected 访问限于包含该成员的类及类的派生灯,保护的 C. internal 访问只限于所在的程序集,只有在同一个程序集中才能访问 D. public 访问不受限制,公共的还有一种是protected internal 在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?( a)A.将Name的set块删除 B.将Name的set块置空C.将Name的set块前加修饰符private D.将Name添加readonly修饰符 以下类MyClass 的属
29、性count 属于( a)属性.class MyClassint i;int count Get return i; A. 只读 B. 只写 C. 可读写 D. 不可读不可写 面向对象编程中的“继承”的概念是指( b ) A.派生类对象可以不受限制地访问所有的基类对象 B.派生自同一个基类的不同类的对象具有一些共同特征 C.对象之间通过消息进行交互 D.对象的内部细节被隐藏 类class1,class2,class3的定义如下:abstract class class1abstract public void test();class class2:class1public override void test() Console.write(“class2”);class class3:class2public override voi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1