c#试题库包括所有课后题及答案文档格式.docx
《c#试题库包括所有课后题及答案文档格式.docx》由会员分享,可在线阅读,更多相关《c#试题库包括所有课后题及答案文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
(B)
A,sbyteB.byteC.intD.float
⑺以下数组声明语句中,不正确的有。
(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个元素的写法为。
A.a[10]B.a[2,1]C.a[3,0]D.a[4,1]
(10)以下赋值语句中,正确的有。
A.shortX=5000QB.ushortY=50000;
C.longX=1000intY=xD.doublex=20;
decimalY=x
(11)以下拆箱转换语句中,正确的有。
A.
object
o;
inti=
=(int)o;
B.
o=10.5;
inti=
=(int)o;
C.
float
f=(float)o;
D.
f=(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的值为。
A.2.9B.2.5C.2.1D.2
(16)设bool型变量a和b的取值分别为true和false,那么表达式a&
&
(a||!
b)和
a|(a&
b)的值分别为。
A.truetrueB.truefalseC.falsefalseD.falsetrue
(17)设int型变量x的值为9,那么表达式x--+x--+x-■的值为,而表达
式--x+--x+--x的值为。
A.27B.24C.21D.18
(18)设int型变量x和y的取值分别为3和2,那么执行下面语句后z的值
为。
intz=(x++%y==0)?
++x:
(x/y==1)?
++y:
--y;
A1B.2C.3D.4
(19)设int型变量X的值为-5,那么表达式X<
<
-(X>
>
2)的值为。
A.-20B.-10C.-9D.10
(20)下列有关switch语句的描述中,正确的有。
A.至少应包含一个case分支B.每个case分支都必须有break语句
C.必须包含default语句D.default语句之后的case分支无效
(21)下面语句执行后y的值为。
intx=0,y=0;
while(x<
10)y+=(x+=2);
A.10B.20C.30D.55
(22)下面语句执行后y的值为。
intx=1,y=1;
do
y<
=(++x);
4);
A.16B.64C.138D.512
(23)以下循环语句的执行次数为。
for(inti=0,x=0;
i<
10;
i++)
for(intj=i;
j>
0;
j--)
x++;
A.45B.55C.81D.100
(24)下面语句的输出结果的值为。
intx=1,y=15;
if(y%x==0)
Console.Write(x);
while(x++<
y/2);
A.35B.135C.1357D.13515
(25)下面的语句中所计算的数学表达式为。
for(intx=0,y=1,z=1;
z<
x+=y,y*=++z){}
A.1+2+4+6+...+20B.1+2+2?
+23+...+210
C.1+1*2+2*3+...+9*10D.1!
+2!
+3!
+…+10!
(26)以下语句中会产生死循环的有。
A.intx=1,y=0;
while(true)if((x+=(y++))>
100)break;
B.for(;
;
);
C.for(intx=100,y=1;
y<
)if(x%y==0)Console.WriteLine(y++);
D.for(inti=10;
i>
i--)for(intj=0;
j<
i;
j++);
(27)下面有关构造函数和析构函数的说法,不正确的有。
A.构造函数和析构函数都不能有返回值
B可以定义静态的构造函数
C一个类可以有多个构造函数
D.—个类可以有多个析构函数
(28)下面有关属性的说法,不正确的有。
A.属件可以有默认值
B.属性可以不和任何字段相关联
C.属性的get访问函数是不带参数的特殊方法
D.属性的set访问函数是没有返回值特殊方法
(29)以下不能作为复合赋值操作符被重载的有。
A.+=B.*=C.&
二D.~=
(30)下面有关事件的说法,不正确的有。
A.delegate是所有事件的元类型
B.事件应当被定义为public,否则就不能被外部对象引发
C.一个事件可以关联多个事件处理方法
D.多个事件可以使用一个事件处理方法
(31)类的成员中,不能定义为静态的有。
A.析构函数B.属性C.索引函数D.事件
(32)要从派生类中访问基类的成员,应使用关键字。
A.newB.thisC.baseD.override
(33)下面有关抽象类的说法,正确的有。
A.抽象类中至少应有一个抽象方法
B.抽象类中的方法不能提供实现代码
C.抽象类的派生类必须实现该抽象类的所有抽象方法
D.抽象类不能被实例化,因此不能定义公有构造函数
(34)下面有关虚拟方法和抽象方法的说法,正确的有。
A.二者都不提供方法的实现代码
B.二者都不能使用private修饰符
C.一个方法可以同时使用virtual和abstract修饰符
D.虚拟方法可以作为抽象方法的重写实现
(35)下面有关密封类和密封方法的说法,正确的有。
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#中,表示一个字符串的变量应使用以下条语句定义。
A.CStringstr;
B.stringstr;
C.DimstrasstringD.char*str;
(41)在C#编制的财务程序中,应使用条语句来创建一个存储流动资金金额的
临时变量。
A.decimaltheMoney;
B.inttheMoney;
C.stringtheMoney;
D.DimtheMoneyasdouble
(42)C#中,新建一字符串变量str,并将字符串”Tom'
sLivingRoom”保存到串中,则应该
使用下列条语句。
A.stringstr='
sLlEongRoom”B.stringstr=“Tom'
sLivingRoom”
C.stringstr(“Tom'
sLivingRoomD.stringstr(“Tom'
sLivingRoom”);
(43)在类的定义中,类的描述了该类的对象的行为特征.(B)
A.类名B.方法C.所属的名字空间D.私有字段
(44)下列语句中定义的变量属于引用类型变量有。
A.IInformationinfo;
//IInformation为一接口类型名
B.MyStructx;
//MyStruct为一结构类型名
C.int[]arr;
D.MyEnumy;
〃MyEnum为已定义的枚举类型名
(45)在下列函数结束后,马上从内存中清除的是.(AE)
voidTest()
{
inti=100;
int[]arr=newint[10];
stringstr=thisisatest”
objectr=newSystem.DateTime(1999,9,9);
}
A.变量iB.数组变量arr
C.变量str所引用的字符串对象D.变量r所