您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2C#试题库(包括所有课后题及答案)
C#试题库(这个题太多,只是为了方便看前半部分的课后题及解答,貌似有几个答案和老师讲的不一样,仅供参考)计算机高级语言部分一选择题(1)以下不属于.NET编程语言的是。(A)A.JavaB.C#C.VC.NETD.VB.NET(2)C#语言经编译后得到的是。(D)A.扩编指令B.机器指令C.本机指令D.Microsoft中间语言指令(3)C#程序的执行过程是。(D)A.从程序的第一个方法开始,到最后个方法结束B.从程序的Main方法开始,到最后一个方法结束C.从程序的第一个方法开始,到Main方法结束D.从程序的Main方法开始,到Main方法结束(4)Console标准的输入和输出设备分别是和。(AC)A.键盘B鼠标C.屏幕D.打印机(5)以下属于c#简单值数据类型的有。(AC)A.int类型B.int[]类型C.char类型D.枚举类型(6)要使用变量age来存储人的年龄,则将其声明为类型最为适合。(B)A,sbyteB.byteC.intD.float(7)以下数组声明语句中,不正确的有。(BC)A.int[]a;B.inta[]=newint[2]C.int[]a=={1,3};D.int[]a=int[]{1,3};(8)以下多维数组声明语句中,不正确的有。(C)A.int[,]a=newint[2,3];B.int[,]a={{1,2,3}};C.int[2,3]a=newint[2,3];D.int[,]a={{1,2,3},{2,3}};(9)若多维数组a有4行3列,那么数组中第10个元素的写法为。(C)A.a[10]B.a[2,1]C.a[3,0]D.a[4,1](10)以下赋值语句中,正确的有。(B)A.shortX=50000;B.ushortY=50000;C.longX=1000;intY=x;D.doublex=20;decimalY=x;(11)以下拆箱转换语句中,正确的有。(D)A.objecto;inti=(int)o;B.objecto=10.5;inti=(int)o;C.objecto=10.5;floatf=(float)o;D.objecto=10.5;floatf=(float)(double)o;(12)可以作用于结构类型的访问限制修饰符有。(ABCD)A.publicB.protectedC.privateD.internal(13)c#程序中,方法的签名由以下哪几部分组成。(AB)A.方法名B.参数列表C.返回类型D.方法执行体(14)以下属于合法c#变量名的有。(AD)A.XJ23B.classC.5yD.@ch(15)设double型变量x和y的取值分别为12.5和5.0,那么表达式x/y+(int)(x/y)-(int)x/y的值为。(C)A.2.9B.2.5C.2.1D.2(16)设bool型变量a和b的取值分别为true和false,那么表达式a&&(a||!b)和a|(a&&b)的值分别为。(A)A.truetrueB.truefalseC.falsefalseD.falsetrue(17)设int型变量x的值为9,那么表达式x--+x--+x--的值为,而表达式--x+--x+--x的值为。(BC)A.27B.24C.21D.18(18)设int型变量x和y的取值分别为3和2,那么执行下面语句后z的值为。(A)intz=(x++%y==0)?++x:(x/y==1)?++y:--y;A1B.2C.3D.4(19)设int型变量X的值为-5,那么表达式X-(X2)的值为。(A)A.-20B.-10C.-9D.10(20)下列有关switch语句的描述中,正确的有。(A)A.至少应包含一个case分支B.每个case分支都必须有break语句C.必须包含default语句D.default语句之后的case分支无效(21)下面语句执行后y的值为。(C)intx=0,y=0;while(x10)y+=(x+=2);A.10B.20C.30D.55(22)下面语句执行后y的值为。(D)intx=1,y=1;doy=(++x);while(x4);A.16B.64C.138D.512(23)以下循环语句的执行次数为。(A)for(inti=0,x=0;i10;i++)for(intj=i;j0;j--)x++;A.45B.55C.81D.100(24)下面语句的输出结果的值为。(B)intx=1,y=15;doif(y%x==0)Console.Write(x);while(x++y/2);A.35B.135C.1357D.13515(25)下面的语句中所计算的数学表达式为。(D)for(intx=0,y=1,z=1;z10;x+=y,y*=++z){}A.1+2+4+6+...+20B.1+2+22+23+...+210C.1+1*2+2*3+...+9*10D.1!+2!+3!+...+10!(26)以下语句中会产生死循环的有。(BC)A.intx=1,y=0;while(true)if((x+=(y++))100)break;B.for(;;);C.for(intx=100,y=1;y10;)if(x%y==0)Console.WriteLine(y++);D.for(inti=10;i0;i--)for(intj=0;ji;j++);(27)下面有关构造函数和析构函数的说法,不正确的有。(D)A.构造函数和析构函数都不能有返回值B可以定义静态的构造函数C一个类可以有多个构造函数D.一个类可以有多个析构函数(28)下面有关属性的说法,不正确的有。(A)A.属件可以有默认值B.属性可以不和任何字段相关联C.属性的get访问函数是不带参数的特殊方法D.属性的set访问函数是没有返回值特殊方法(29)以下不能作为复合赋值操作符被重载的有。(D)A.+=B.*=C.&=D.~=(30)下面有关事件的说法,不正确的有。(B)A.delegate是所有事件的元类型B.事件应当被定义为public,否则就不能被外部对象引发C.一个事件可以关联多个事件处理方法D.多个事件可以使用一个事件处理方法(31)类的成员中,不能定义为静态的有。(AC)A.析构函数B.属性C.索引函数D.事件(32)要从派生类中访问基类的成员,应使用关键字。(C)A.newB.thisC.baseD.override(33)下面有关抽象类的说法,正确的有。(C)A.抽象类中至少应有一个抽象方法B.抽象类中的方法不能提供实现代码C.抽象类的派生类必须实现该抽象类的所有抽象方法D.抽象类不能被实例化,因此不能定义公有构造函数(34)下面有关虚拟方法和抽象方法的说法,正确的有。(B)A.二者都不提供方法的实现代码B.二者都不能使用private修饰符C.一个方法可以同时使用virtual和abstract修饰符D.虚拟方法可以作为抽象方法的重写实现(35)下面有关密封类和密封方法的说法,正确的有。(C)A.密封类中的所有方法部不能被重载B.密封方法不能被重写,也不能重载其他方法C.密封方法不能是静态的D.派生类中的方法不能与基类中的密封方法同名(36)接口中定义的方法,不能使用的修饰符有。(ABD)A.publicB.abstractC.newD.static(37)是独立于CPU的指令集,它可以被高效地转换为特定于某种CPU的代码.(C)A.CLRB.CLSC.MSILMicrosoft中间语言D.XMLWebService(38)关于C#语言的基本语法,下列说法是正确的有。(AC)A.C#语言使用using关键字来引用.NET预定义的名字空间;B.用C#编写的程序中,Main函数是唯一允许的全局函数;C.C#语言中使用的名称严格区分大小写;D.C#中一条语句必须写在一行内;(39)C#中每个int类型的变量占用_______个字节的内存.A.1B.2C.4D.8E.12(40)在C#中,表示一个字符串的变量应使用以下条语句定义。(B)A.CStringstr;B.stringstr;C.DimstrasstringD.char*str;(41)在C#编制的财务程序中,应使用条语句来创建一个存储流动资金金额的临时变量。(A)A.decimaltheMoney;B.inttheMoney;C.stringtheMoney;D.DimtheMoneyasdouble(42)C#中,新建一字符串变量str,并将字符串”Tom'sLivingRoom”保存到串中,则应该使用下列条语句。(A)A.stringstr=“Tom\'sLivingRoom”;B.stringstr=“Tom'sLivingRoom”;C.stringstr(“Tom'sLivingRoom”);D.stringstr(“Tom”sLivingRoom”);(43)在类的定义中,类的描述了该类的对象的行为特征.(B)A.类名B.方法C.所属的名字空间D.私有字段(44)下列语句中定义的变量属于引用类型变量有。(AC)A.IInformationinfo;//IInformation为一接口类型名B.MyStructx;//MyStruct为一结构类型名C.int[]arr;D.MyEnumy;//MyEnum为已定义的枚举类型名(45)在下列函数结束后,马上从内存中清除的是_________.(AB)voidTest(){inti=100;int[]arr=newint[10];stringstr=“thisisatest”;objectr=newSystem.DateTime(1999,9,9);}A.变量iB.数组变量arrC.变量str所引用的字符串对象D.变量r所引用的DataTime对象(46)C#中MyClass为一自定义类,其中有以下方法定义publicvoidHello(){..}使用以下语句创建了该类的对象,并使变量obj引用该对象:MyClassobj=newMyClass();那么,访问类MyClass的Hello方法是条语句。(A)A.obj.Hello();B.obj::Hello();C.MyClass.Hello();D.MyClass::Hello();(47)分析下列C#语句,注意类MyClass没有访问修饰符:namespaceClassLibrary1{classMyClass{publicclasssubClass{inti;}}}若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择_________.(C)A.privateB.protectedC.internalD.publicE.protectedinternal(48)C#可以采用下列哪些技术来进行对象内部数据的隐藏?(BC)A.静态成员B.类成员的访问控制说明C.属性D.装箱(boxing)和拆箱(Unboxing)技术(49)分析下列程序:publicclassclass4{privatestring_sData=;publicstringsData{set{_sData=value;}}}在Main函数中,在成功创建该类的对象,并将其引用保存到变量obj后,下列合法的语句有_____________。(A)A.obj.sData=“Itisfunny!”;B.Console.WriteLine(obj.sData);C.obj._sData=100;D.obj.set(obj.sData);(50)在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以满足不同的派生类的需要,则应将该方法声明成_________.(C)A.sealed方法B.public方法C.visual方法D.override方法(51)使用下列哪种方法可以减小一个ArrayList对象的容量?(CD)A.调用Remove方法B.调用Clear方法C.调用TrimToSize方法
本文标题:2C#试题库(包括所有课后题及答案)
链接地址:https://www.777doc.com/doc-4153397 .html