您好,欢迎访问三七文档
C#程序设计语言属于什么类型的编程语言?[单选](C)A汇编语言B机器语言C高级语言D自然语言下列关于计算机软件特征的描述中,哪两个选项是正确的?[多选](BC)教材第1页A.计算机软件可以循环运用,没有生命周期B.计算机软件标志一定功能、完成一定任务或产生一定结果C.计算机软件是指令按照特定的循序组织,能够使计算机具有信息处理能力D.计算机软件价格昂贵,仅适用于专业科研人员的工作应用VisualStudio控件的属性窗口中,按钮“A—Z”点击后,属性列表会按照什么顺序进行排列?[单选](C)A.按照功能分类排列属性B.按照大小排列各属性C.按照名称排列属性D.先按照功能分类排列属性后在每个单元中以名称排序声明int32a=3,经过运算int32b=a|0xFFFFFFFF,变量b的最终值为(C)[单选]教材56~57页A.0B.4294967295C.无法编译通过D.-1分析:“0x”表示“FFFFFFFF”是十六进制数,“F”相当于十进制中的15;“|”是按位“或”运算,a|0xFFFFFFFF的运算结果表述成十进制为:4294967295;而int32类型能表示的数值范围是-2147483648到2147483647之间。请问经过表达式a=3+15?0:1的运算,变量a的最终值是什么?[单选](B)教材59页,3.5.9条件运算符与条件表达式A.3B.1C.0D.4设置inta=3.从以下选项中,选出所以变量result的值为true的表达式。[多选](ABCD)A.boolresult=!(a++3)B.boolresult=(++a3)C.boolresult=(a++=3)D.boolresult=(~a==-4)分析:选项A,a++是“先用后加”,即在进行(a++3)运算时,a仍然等于3,还没有被加1,所以运算结果为false,经过“!”取反,最后运算结果为true;选项B,++a是“先加后用”,即在进行(++a3)运算时,a已经被加1等于4,所以运算结果为true;选项D,此题需要将数字转换成二进制后,才能看出比较的结果。将-4转换为二进制的过程如下:首先将4转换为二进制为:100,由于是负数,然后在最前面补一个“1”表示负数,即-4的二进制为“1100”;将a(等于3)转换为二进制为:11,由于-4需要4位二进制表示,为了和它比较,所以将a(等于3)的二进制也补足4位,即a(等于3)的二进制为:0011;“~”是按位取反,“~a”等于1100,和-4的二进制正好是一样的;从以下选项中,选出所以变量result的返回值是false的表达式。[多选](AC)A.boolresult=(1!=1)B.boolresult=0//编译通不过C.boolresult=(4==5)D.boolresult=(1=1)//编译通不过隐式类型转换就是不需要声明目标类型就可以进行的转换。[单选](A)A.正确B.错误在C#2005编程环境中,常量的值可以在代码中被修改。[单选](B)A.正确B.错误以下哪段代码,最合理地实现了以下结构图描述的流程?[单选](C)假真开始X=0Y=XY=-X结束Awitch(x=0){casetrue;y=x;break;casefalse;y=-xbreak;}C:if(x=0)y=x;elsey=-xD:if(x=0)y=-x;elsey=x;关于如下程序结构的描述中,哪一项是正确的?[单选](B)for(;;){循环体;}A:不执行循环体B:一直执行循环体,即死循环C:执行循环体一次D:程序不符合语法要求通常计算机程序总是由若干条语句组成的,组成程序的常用的结构分别是下列哪几种?[多选](ABC)教材61页A:分支结构B:循环结构C:顺序结构D:跳转结构下面这段程序要完成的功能是:从输入的字符串中找出小写字母并显示到终端.请检查下列代码,找出所有错误的代码,并在错误代码行后填入该行完整的正确代码.usingSystem;publicclassProgram{staticvoidMain(string[]args){stringinputString=Console.ReadLine();stringlowerCase=string.Empty;foreach(charchininputString)if(ch=‘a’||ch=‘z’)//错误,正确为:if(ch=‘a’&&ch=‘z’)lowerCase+=ch.ToString;Console.writeLine(“小写字母有:”+lowerCase);}}下面的程序实现的是:对数组myArray中数据的升序冒泡排序,请完成下面的程序填空.例如:数组{1,5,16,8,4,3,9},冒泡排序后为{1,3,4,5,8,9,16}请分析下列代码段,并在空白行补全VisualC#代码.usingSystempublicclassProgram{}以下是一个可行的冒泡排序实现:int[]myArray={1,5,16,8,4,3,9};inti,j,t;for(j=0;jmyArray.Length-1;j++)for(i=0;imyArray.Length-(j+1);i++)if(myArray[i]myArray[i+1]){t=myArray[i];myArray[i]=myArray[i+1];myArray[i+1]=t;}C#中TestClass为一自定义类,其中有以下属性定义publicvoidProperty{…}使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClassobj=newTestClass();那么,可通过什么方式访问类TestClass的Property属性?[单选](A)A:Obj,Property;B:MyClass.Property;C:obj::Property;D:obj.Property();在类TestClass中的构造函数有如下载:publicTestClass(paramsint[]_value){Console.WriteLine(“paramscontructor!”);}publicTestClass(intx,inty){Console.WriteLine(“twointcontructor!”);}运行下面代码后,TestClassobj1=newTestClass(0);TestClassobj2=newTestClass(1,3);TestClassobj3=newTestClass(1,3,4)最后的输出结果是什么?[单选](D)教材97页A:paramscontructor!twointcontructor!twointcontructor!B:paramscontructor!paramscontructor!paramscontructor!C:无法编译通过D:paramscontructor!twointcontructor!paramscontructor!在控制台程序中必须有一个staticvoidMain(),下列关于这个方法的描述中,哪些是正确的?[多选](ACD)教材第102页A.这个方法叫做入口点函数B.该方法不可以有返回类型C.声明Main()方法时既可以使用参数,也可以不使用D.必须在结构或类的内部下列关于“方法重载”的描述中,哪些选项是正确的?[多选](ACD)教材105页A.方法重载可以扩充现有类的功能B.构造函数不可以重载C.方法ConsoleW(int_value)是方法ConsoleW(string_value)的重载D.方法重载即“同样的方法名但传递的参数不同”属性就是实体的抽象,比如,对象猫可以有重量,身长等属性。[单选](A)A.正确B.错误下面程序中两个方法需要实现的功能分别是:int数组相加,即数组中的每项依次相加;以及string类型的相加,即把一串字符串接到另一串字符串后面。请分析下列代码段,并在空白行补全VisualC#代码。(修改题)①staticint[]Add(int[]array1,int[]array2){int[]result=newint[array1.Length];for(inti=0;iarray1.Length;i++)result[i]=array1[i]+array2[i];returnresult;}②staticstringAdd(stringstr1,stringstr2){stringspaceStr=““,result=null;result=str1+spaceStr+str2;returnresult:}staticvoidMain(string[]args){int[]a={1,2,3},b={4,5,6};int[]SumArray=newint[3];stringstr1=“Visual”,str2=“Studio”;stringSumString=null;SumArray=Add(a,b);SumString=Add(str1,str2);}分析:实现程序功能的代码题目中已经实现了,需要你补填的仅是两个“方法头”,“方法头”包括:返回值类型,方法名称,参数列表,根据已经实现的功能代码来反推出上述三项内容;因为在Main函数中直接使用方法名调用了该方法(没有通过“对象名.方法名”来调用),所以要加个static关键字;下列关于继承说法中,哪个选项是正确的?[单选](A)A.继承是指派生类可以获取其基类特征的能力B.继承最主要的优点是提高代码性能C.派生类可以继承多个基类的方法和属性D.派生类必须通过base关键字调用基类的构造函数下述代码用于定义一个接口,请选出错误的代码行。[多选](CDE)interfaceIFile{intA;A.}BvoiddisFile();}CA=3;D.{EintdelFile()下列关于派生类和抽象类的描述中,哪些选项是错误的?[多选](CD)A.在C#中派生类可使用base修饰符访问基类的成员B.在C#中要在派生类中重新定义基类的虚函数必须在前面加override//如果不加override,派生类中定义的函数只是隐藏基类的函数,而没有重新定义C.抽象类必须包含一个或多个抽象成员//教材125页D.声明为abstract类的方法必须同时进行声明和实现一般情况下,异常类存放在什么命名空间中?[单选](B)A.生成异常类所在的命名空间B.System.Exception命名空间C.System.Diagnostics命名空间D.System命名空间用户自定义的异常类应该从哪个类中继承?[单选](D)A.System.ArgumentExceptionB.System.IO.IOExceptionC.System.SystemExceptionD.System.ApplicationException下面哪些是System.Exception的属性?[多选](ABCD)教材144页A.InnerException属性B.Source属性C.Message属性D.HelpLink属性try块是不可以实现嵌套的,但是一个try块可以对应多个catch块。[单选](B)try块是可以嵌套的A.正确B.错误分析下列代码段:StaticvoidMain(string[]args){string[]words=newstring[]{“a”,“b”,“c”};foreach(intwordinwords)//应该为string{word=“abc”;//在foreach语句中,该变量是只读的,所以不能赋值;Console.WriteLine(word);}Console.ReadKey();}运行结果是什么?[单选](D)A.abcB.abcabcabcC.bcacabD.不能正确编译有一个二维数组申明为int[,]myarray={{1,2,3,4},{2,3,4,5},{3,4,5,6
本文标题:2C#试题有答案
链接地址:https://www.777doc.com/doc-4153334 .html