C#复习题精简版.docx

上传人:b****4 文档编号:27536104 上传时间:2023-07-02 格式:DOCX 页数:50 大小:53.74KB
下载 相关 举报
C#复习题精简版.docx_第1页
第1页 / 共50页
C#复习题精简版.docx_第2页
第2页 / 共50页
C#复习题精简版.docx_第3页
第3页 / 共50页
C#复习题精简版.docx_第4页
第4页 / 共50页
C#复习题精简版.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

C#复习题精简版.docx

《C#复习题精简版.docx》由会员分享,可在线阅读,更多相关《C#复习题精简版.docx(50页珍藏版)》请在冰豆网上搜索。

C#复习题精简版.docx

C#复习题精简版

C#程序习题

一、填空:

1.操作符(&&)被用来说明两个条件同为真的情况。

2.接口只能定义方法,实现要由(类)完成。

3.任何事物都是(对象),它可以是现实世界中的一个物理对象,可以是抽象的概念或规则。

4.(+=)运算符将左右操作数相加的结果赋值给左操作数。

5.(Array)是所有数组的基类。

6.如果一个属性里既有set访问器又有get访问器,那么该属性为(读写)属性。

7.如果一个属性里只有set访问器,那么该属性为( 只写 )属性。

8.在C#中,进行注释有两种方法:

使用s)。

9.在循环结构中,continue语句的作用是(结束本次循环,继续下一次循环)。

10.在C#中,可以通过(throw)语句无条件抛出异常。

11.C#通过(装箱)和(拆箱)机制,可以实现值类型和引用类型之间的转换。

12.当进入VS集成环境,如果没有显示“工具箱”窗口,应选择(视图)菜单的“工具箱”选项,以显示工具箱窗口。

13.每个枚举成员均具有相关联的常量值,默认时,第一个枚举成员的关联值为(0)。

14.结构的默认值是通过将所有值类型字段设置为它们的默认值,并将所有的引用类型字段设置为(null)。

15.当在程序中执行到(continue)语句时,将结束所在循环语句中循环体的一次执行。

16.在switch语句中,每个语句标号所含关键字case后面的表达式必须是(常量表达式)。

17.c#支持的循环有(for)、(while)、(dowhile)和(foreach)循环。

18.(“RP”);和(“RP”);的区别是(第一个输出RP后换行,第二个不换)。

19.c#中bool类型只有两个值分别是(true)和(false)。

20.传入某个属性的SET方法的隐含参数的名称是(value)

21.对于方法,参数传递分为值传递和 (引用传递)两种。

22.在C#程序中,程序的执行总是从(Main)方法开始的

23.在循环执行过程中,希望当某个条件满足时退出循环,使用(break)语句

24.数组定义与赋值语句如下:

int[]a={1,2,3,4,5};则a[2]的值是(3)

25.下列程序段执行后,a[4]的值为(4)。

int[]a={1,2,3,4,5};a[4]=a[a[2]];

26.要定义一个3行4列的单精度型二维数组f,使用的定义语句为(float[,]f=newfloat[3,4];)

27.定义方法时使用的参数是(形参),调用方法时使用的参数是(实参)。

28.数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为(void)。

29.C#中的字符串有两类,规则字符串和逐字字符串,定义逐字字符串时,应在其前面加上(@)号。

30.类的静态成员属于(类)所有,非静态成员属于类的实例所有。

31.要给属性对应的数据成员赋值,通常要使用set访问器,set访问器始终使用(value)来设置属性的值。

32.get访问器必须用(return)语句来返回。

33.C#中的属性通过(get)和(set)访问器来对属性的值进行读和写。

34.已知有类MyOwnClass,则其默认的构造函数为(MyOwnClass())。

35.元素类型为double的2行5列的二维数组共占用(80)字节的存储空间

36.当在程序中执行到(break)语句时,将结束本层循环类语句或switch语句的执行。

37.元素类型为int的10个元素的数组共占用(40)个字节的存储空间。

38.设x为int型变量,请写出描述“x是奇数”的C#语言表达式(x%2==1)。

39.浮点类型包括(float)、(double)和(decimal)。

40.枚举类型使用(enum)关键字声明。

41.在switch语句中,(default)语句是可选的,且若存在,只能有一个。

42.break语句只能用于循环语句或(switch)语句中。

43.如果intx的初始值为5,则执行表达式x-=3之后,x的值为

(2)。

44.(*=)运算符将左右操作数相乘的结果赋值给左操作数。

45.存储整数型变量应该使用关键字(int)来声明。

46.在带有(&&)操作符的语句中,如果其中两个条件都为真,则语句为真。

47.类的访问修饰(public)表示公共的访问级别,对所有其它类可见。

48.常量被声明为字段,声明时在字段的类型前面使用(const)关键字。

49.(索引器)是一类特殊的属性,通过它们可以像引用数组一样引用自己的类。

50.有时不能确定一个方法的方法参数到底有几个,可以使用(params)关键字解决这个问题。

51.out和ref关键字类似,不同之处在于(ref)要求变量在作为参数传递之前必须进行初始化,而(out)不需要初始化。

52.(Main)方法是程序的入口点,程序控制在该方法中开始和结束。

53.方法签名由(方法名称)和参数列表组成。

54.(继承)是指派生类可以获得其基类特征的能力。

55.要在控制台程序运行时输入信息,可使用Console类的(ReadLine)方法。

56.在C#中类的默认访问修饰符是(internal)。

57.在C#中创建一个对象是,系统最先执行的是(构造函数)中的语句。

58.结构化的程序设计的3种基本结构是(顺序结构),(选择结构)和(循环结构)。

59.8/3的结果是

(2)。

60.具有n+1个元素的数组的索引是0至(n)。

61.在C#中每个short类型的变量占用(4)个字节的内存

62.在Array类中,可以对一维数组中的元素进行排序的方法是(Sort)。

63.C#是一种面向(对象)的语言。

64.在C#中,可以标识不同的对象的属性是(Name)。

65.继承具有(传递性),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。

66.C#中执行下列语句后,intn=21;n<<=1;n的值为(42)

67.在编写C#程序时,若需要对一个数组中的所有元素进行处理,则使用(foreach循环)循环体最好。

68.C#中每个char类型量占用

(2)个字节的内容。

69.在C#中,引用命名空间System的语句是(usingSystem;)

70.floatf=-123.567F;inti=(int)f.则i的值现在是(-123)。

71.委托声明的关键字是(delegate)。

72.要想在输出中换行,可以使用(\n)转义字符。

73.当整数a赋值给一个obiect对象时,整数a将会被(装箱)。

74.优先级最高的运算符是(())。

75.在c#的条件判断语句switchcase结构中,(default)子句用于指定在找不到匹配项时执行的动作。

76.在以下C#类中,(Console)是控制台类,利用它我们可以方便的进行控制台的输入输出。

77.Console是C#语言中的控制台类,它负责向控制台输出不同格式的字符串,在格式字符串中,可以使用(\t)来实现水平制表输出

78.在异常处理中,无论异常是否抛出,(finally)子句中的内容都会被执行。

79.C#语句末尾必须使用(;或分号)。

80.C#中,使用(string)关键字来声明一个字符串。

81.C#的值类型包括简单类型、结构类型和(枚举类型)。

82.对于定义为bool基本数据的数组,所有的元素都被默认初始化为(false)。

83.在C#中,用({})开始和结束方法体。

84.(object)类是所有类的基类。

85.在实例化对象时,系统自动调用该类的(构造函数)进行初始化。

86.在C#中类的实例化需要使用的关键字是(new)。

87.结构化异常处理用try…catch…finally语句,则可能出现异常的语句放在(try)块。

88.C#语言规定变量在使用之前必须先(声明)后使用。

89.在C#语言中,系统命名空间使用(using)关键字导入。

90.表达式“4*10>=65”的值为(false)。

91.计算表达式“10==10&&10>4+3”的结果为(true)。

92.计算表达式“10*10*10>10||2<2+3”结果为(true)。

93.循环语句“for(inti=30;i>=10;i=i-3)”循环次数为(7)次。

94.对于do-while循环结构,当while语句中的条件表达式的值为(false)时结束循环。

95.跳转语句中的(goto)语句可以将程序控制直接转移到标号指定的语句。

96.数组内的值都具有相同的(类型)。

97.有一个字符串的定义为strings=“helloworld!

”;在此字符串中,字符w的索引是(6)。

98.用来定义事件的关键字是(event)。

99.在C#中byte类型所占用的内存空间是

(2)个字节。

100.C#中的三元运算符是__:

____。

101.C#中,使用(属性)的功能来读写类中的字段,从而便于为这些字段提供保护。

102.C#的类定义中可以包含两种成员:

静态成员和非静态成员。

使用(static)关键字修饰的是静态成员,反之为非静态成员。

103.声明一个10行20列的二维整形数组的语句为:

(int[,]a=newint[10,20])。

104.构造函数在(创建对象)时被调用。

105.被调用的方法中的return语句可以用来向调用方法传递表达式的值。

106.在C#中,下列for循环的运行结果是(12345)。

107.for(inti=0;i<5;i++)

108.{

109.(++i);

110.}

111.在C#中,下列代码的运行结果是(654321)。

112.for(inti=6;i>0;i--)

113.{

114.(i--);

115.}

116.在C#中,下列代码的运行结果是(246)。

117.int[]price=newint[]{1,2,3,4,5,6};

118.foreach(intpinprice)

119.{

120.if(p%2==0)

121.(p);

122.}

123.C#数组元素的下标从0开始。

124.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成死循环.。

125.专门产生伪随机数的类是Random类。

126.方法重载是指类的两个或两个以上的方法___同名_____,但形式参数列表不同的情况。

127.下面程序段执行后,sum的值为11

128.inti,sum=0;

129.for(i=0,sum=0;i<=10;i++,sum++);

130.下面循环语句的执行次数为6次。

131.for(inti=0;i<=10;i+=2){}

132.SubString()函数的功能是(获取子字符串)。

133.表达式2+5/10*10的值为

(2)。

134.C#程序的入口是(Main)方法。

135.类是一种数据结构,它使用class关键字声明。

136.类声明后,可以创建类的实例,创建类的实例要使用new关键字。

类的实例相当于一个变量。

创建类的实例的格式如:

类名对象名=new对象名()。

137.创建新对象时将调用类的构造函数。

它主要用来为对象分配存储空间,完成初始化操作。

138.在方法的参数列表中定义的参数称为(形参)。

139.类的方法声明中,若没有显式指定方法的访问修饰符,则默认为(private)。

140.静态属性只能通过(类)调用。

141.数据类型转换分为(隐式转换)和(显式转换)两种。

二、选择:

1.装箱是把值类型转换到(b)类型。

2.a)数组b)引用c)chard)string

3.静态构造函数只能对(a)数据成员进行初始化。

4.a)静态b)动态c)实例d)静态和实例

5.关于如下程序结构的描述中,哪一项是正确的(b)

for(;;){循环体;}

a)不执行循环体b)一直执行循环体,即死循环

c)执行循环体一次d)程序不符合语法要求

6.下列哪一个不是类成员的成员的是(d).

7.a)属性b)数组c)索引器d)while循环结构

8.枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(a)。

9.a)intb)sbytec)uintd)ulong

10.下列关于数组访问的描述中,哪些选项是正确的(d)。

a)数组元素索引是从0开始的b)对数组元素的所有访问都要进行边界检查

c)如果使用的索引小于0,或大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;

d)数组元素的访问是从1开始,到Length结束;

11.下列结构图对应于哪种结构(A是程序段,P是条件)(c)。

12.

a)while循环结构b)do…while循环结构

c)if…else…选择结构d)switch…case…选择结构

13.下列标识符命名正确的是(d)。

14.a)b)4footsc)val(7)d)_Years

15.面向对象编程中的“继承”的概念是指(b)

a)对象之间通过消息进行交互b)派生自同一个基类的不同类的对象具有一些共同特征

c)对象的内部细节被隐藏d)派生类对象可以不受限制地访问所有的基类对象

16.下列语句在控制台上的输出是什么(b)

if(true)

无输出b)FirstMessagec)SecondMessaged)FirstMessage

SecondMessage

17.下列类型中,哪些不属于引用类型(b)。

18.a)Stringb)intc)Classd)Delegate

19.数组pins的定义如下:

int[]pins=newint[4]{9,2,3,1};

则pins[1]=(b)

a)1b)2c)3d)9

20.调用方法时,如果想给方法传递任意个数的参数时,应选用哪个关键字(c)。

21.a)refb)outc)paramsd)无特殊要求

22.在C#中,表示一个字符串的变量应使用以下哪条语句定义(b)

a)CStringstr;b)stringstr;c)Dimstrasstringd)char*str;

23.C#中导入某一命名空间的关键字是(a)。

24.a)usingb)usec)importd)include

25.以下程序的输出结果是(d)。

26.enumColor

{Red,Green=2,Blue}

staticvoidMain(string[]args)

{

Colorc=0;

Colorc1=(Color)2;

("{0},{1}",c,c1);

Console.Read();

}

a)Green,Redb)Red,Greenc)Red,Blued)Green,Blue

27.下列标识符命名正确的是(a)。

28.a)X_25b)4footsc)&Yearsd)val(7)

29.如果左操作数大于右操作数,( d )运算符返回false。

30.a)=b)

31.下面哪个关键字不是用来修饰方法的参数(d)。

32.a)refb)paramsc)outd)in

33.有说明语句double[,]tab=newdouble[2,3];那么下面叙述正确的是(c)。

34.a)tab是一个数组维数不确定的数组,使用时可以任意调整

b)tab是一个有两个元素的一维数组,它的元素初始值分别是2,3

c)tab是一个二维数组,它的元素个数一共有6个

d)tab是一个不规则数组,数组元素的个数可以变化

35.下列关于“方法重载”的描述中,哪些选项是不正确的(b)。

36.a)方法重载可以扩充现有类的功能

b)构造函数不可以重载

c)方法ConsoleW(int_value)是方法ConsoleW(string_value)的重载

d)方法重载即“同样的方法名但传递的参数不同”

37.下列标识符命名正确的是(c)。

38.a)exam-1b)Mainc)_monthsd)

39.下列关于数组的描述中,哪些选项是不正确的(d)。

a)String类中的许多方法都能用在数组中

b)类是所有数组的基类

c)String类本身可以被看做是一个对象的数组

d)数组可以用来处理数据类型不同的批量数据

40.在类的定义中,类的(b)描述了该类的对象的行为特征。

41.a)类名b)方法c)所属的命名空间d)私有域

42.枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(d)。

43.a)uintb)sbytec)ulongd)int

44.面向对象三个基本原则是(c)。

45.a)抽象,继承,派生b)类,对象,方法

c)继承,封装,多态d)对象,属性,方法

46.分析下列代码段,运行结果是什么(d)。

47.StaticvoidMain(string[]args)

{

string[]words=newstring[]{“a”,“b”,“c”};

foreach(intwordinwords)

{

word=“abc”;

(word);

}

();

}

a)abcb)abcabcabcc)bcacabd)不能正确编译

48.在数组中对于for和foreach语句,下列那些选项中的说法不正确(b)。

49.a)foreach语句能使你不用索引就可以遍历整个数组

b)foreach语句总是从索引1遍历到索引Length

c)foreach总是遍历整个数组

d)如果需要修改数组元素就必须使用for语句

50.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对(b)进行初始化,静态构造函数只能对静态成员进行初始化。

51.a)静态成员b)静态成员和非静态成员c)非静态成员d)动态成员

52.在C#中,(b)表示“”。

53.a)空字符b)空串c)空值d)以上都不是

54.在C#中无需编写任何代码就能将int型数值转换为double型数值,称为(b)。

55.a)显式转换b)隐式转换c)数据类型转换d)变换

56.下面属于合法变量名的是(A)。

57.a)P_qrb)123mnpc)chard)x-y

58.表达式12/4-2+5*4%5/2的值为(A)。

59.a)1b)3c)4d)10

60.下面代码的输出结果是(d)。

intx=5;

inty=x++;

(y);

y=++x;

(y);

a)56b)67c)56d)57

61.当month等于6时,下面代码的输出结果是(c)。

intdays=0;

switch(month)

{

case2:

days=28;

break;

case4:

case6:

case9:

case11:

days=30;

break;

default:

days=31;

break;

}

a)0b)28c)30d)31

62.如果x=35,y=80,下面代码的输出结果是(b)。

if(x<-10||x>30)

{

if(y>=100)

{

("危险");

}

else

{

("报警");

}

}

else

{

("安全");

}

a)危险b)报警c)报警安全d)危险安全

63.下面代码运行后,s的值是(B)。

64.ints=0;

for(inti=1;i<100;i++)

{

if(s>10)

{

break;

}

if(i%2==0)

{

s+=i;

}

}

a)20b)12c)10d)6

65.下面代码实现数组array的冒泡排序,画线处应填入(d)。

66.int[]array={20,56,38,45};

inttemp;

for(inti=0;i<3;i++)

{

for(intj=0;j<_____;j++)

{

if(a[j]

{

temp=a[j];

array[j]=a[j+1];

array[j+1]=temp;

}

}

}

a)4-ib)ic)i+1d)3-i

67.下面代码的输出结果是(c)。

68.staticvoidMain(string[]args)

{

intradius=2;

doublearea=GetArea(radius);

(area);

();

}

privatestaticdoubleGetArea(intr)

{

return*r*r;

}

a)2b)3.14c)d)

69.下面代码的运行结果是(D)

staticvoidMain(string[]args)

{

intnum1=34;

intnum2=55;

Increase(refnum1,num2);

("{0}和{1}",num1,num2);

();

}

privatestaticvoidIncrease(refintnum1,intnum2)

{

num1++;

num2++;

}

a)35和56b)34和55c)34和56d)35和55

70.在C#中创建类的实例需要使用的关键字是(C)

AthisBbaseCnewDas

71.在C#语言中,方法重载的主要方式有两种,包括(D)和参数类型不同的重载。

72.A:

参数名称不同的重载B:

返回类型不同的重载

C:

方法名不同的重载D:

参数个数不同的重载

73.下列选项中,不属于值类型的是(A)

A.struct32C

74.声明doublea;intb;下列哪个选项中的表达式能够正确的进行类型转换(B)

A.a=(decimal)b;B。

a=b;C.a=(int)b;D.b=a;

75.下列哪个语句不是C#2010提供的循环语句(a)

a)do…loop

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1