面向对象程序设计复习题文档.docx

上传人:b****4 文档编号:11564480 上传时间:2023-03-19 格式:DOCX 页数:19 大小:26.12KB
下载 相关 举报
面向对象程序设计复习题文档.docx_第1页
第1页 / 共19页
面向对象程序设计复习题文档.docx_第2页
第2页 / 共19页
面向对象程序设计复习题文档.docx_第3页
第3页 / 共19页
面向对象程序设计复习题文档.docx_第4页
第4页 / 共19页
面向对象程序设计复习题文档.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

面向对象程序设计复习题文档.docx

《面向对象程序设计复习题文档.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题文档.docx(19页珍藏版)》请在冰豆网上搜索。

面向对象程序设计复习题文档.docx

面向对象程序设计复习题文档

面向对象程序设计考试题型:

1)选择题10题,共20分

2)填空题10题,共20分

3)程序阅读题3题,共15分

4)程序填空题,10空,共20分

5)简答题3题,共15分

6)编程题1题,共10分

一、选择题:

1.属于C#语言的关键字()。

A.abstractB.camelC.SalaryD.Employ

答案:

A

2.C#语言中,值类型包括:

基本值类型、结构类型和()。

A.小数类型B.整数类型C.类类型D.枚举类型

答案:

D

3.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。

A.int[]arr=newint[10,20]

B.int[]arr=intnew[10,20]

C.int[,]arr=newint[10,20]

D.int[,]arr=newint[20;10]

答案:

C

4.在类作用域中能够通过直接使用该类的()成员名进行访问。

A.私有B.公用C.保护D.任何

答案:

D

5.小数类型和浮点类型都可以表示小数,正确说法:

()

A.两者没有任何区别

B.小数类型比浮点类型取值范围大

C.小数类型比浮点类型精度高

D.小数类型比浮点类型精度低

答案:

C

6.能作为C#程序的基本单位是()。

A.字符B.语句C.函数D.源程序文件

答案:

B

7.可用作C#程序用户标识符的一组标识符是()。

A.voiddefine+WORDB.a3_b3_123YN

C.for-abcCaseD.2aDOsizeof

答案:

B

8.引用类型主要有4种:

类类型、数组类型、接口类型和()。

A.对象类型B.字符串类型C.委托类型D.整数类型

答案:

C

9.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是()。

A.WriteLine()B.Write()C.WritetoEnd()D.Read()

答案:

A

10.建立访问键时,如“新建(N)”菜单中的“N”键,需在菜单标题的字母前添加的符号是()。

A.!

B.#C.$D.&

答案:

D

11.在C#.Net中,用来创建主菜单的对象是()。

A.MenuB.MenuItemC.MenuStripD.Item

答案:

C

12.在VC#.Net中,可以标识不同的对象的属性是()。

A.TextB.NameC.TitleD.Index

答案:

B

13.加载窗体时触发的事件是()。

A.ClickB.LoadC.GotFoucsD.DoubleClick

答案:

B

14.改变窗体的标题,需修改的窗体属性是()。

A.TextB.NameC.TitleD.Index

答案:

A

15.在接口的成员中,能包含的是().

A.私有数据成员B.方法C.公有数据成员D.常量

答案:

B

16.在C#中定义接口时,使用的关键字是()。

A.interfaceB.:

C.classD.overrides

答案:

A

17.在类的成员中,用于存储属性值得是()。

A.属性B.方法C.事件D.数据成员

答案:

成员变量

18.在C#中,定义派生类时,指定其基类应使用的符号是()。

A.InheritsB.:

C.ClassD.Overrides

答案:

B

19.类的以下特性中,可以用于方便地重用已有的代码和数据的是().

A.多态B.封装C.继承D.抽象

答案:

C

20.将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。

A.Str()B.CcharC.CStr()D.int.Parse();

答案:

D

21.字符串连接运算符包括&和()。

A.+B.-C.*D./

答案:

A

22.先判断条件的当循环语句是()。

A.do...whileB.whileC.while...doD.do...loop

答案:

B

23.VC#Net是一种面向()的语言。

A.机器B.过程C.对象D.事物

答案:

C

24.面向对象的语言具有继承性、多态性和____性。

A)封装B)拆箱C)封闭D)逻辑

答案:

A

25.以下叙述正确的是____

A)接口中可以有虚方法。

B)一个类可以实现多个接口。

C)接口可以被实例化。

D)接口中可以包含已实现的方法。

答案:

B

26..当整数a赋值给一个object对象时,整数a将会被____。

A)拆箱B)丢失C)装箱D)出错

答案:

C

27.floatf=-123.567F;inti=(int)f;i的值现在是_____?

A)123fB)123.56C)-123fD)-123

答案:

D

28.委托声明的关键字是____。

A)delegateB)deleteC)publicD)interface

答案:

A

29.在c#中using关键字的作用是_____

A)定义命名空间B)新建实例C)调用类D)引入命名空间

答案:

D

30.在c#中new关键字的作用是_____

A)新建对象实例B)定义命名空间C)调用类D)引入命名空间

答案:

A

31.在c#中利用sealed修饰的类_____。

A)密封,不能继承B)密封,可以继承C)表示基类D)表示抽象类

答案:

A

32.以下说法正确的是()。

A.接口可以实例化B.类只能实现一个接口

C.接口的成员都必须是未实现的D.接口的成员前面可以加访问修饰符

答案:

C

33.下列关于抽象类的说法错误的是()。

A.抽象类可以实例化B.抽象类可以包含抽象方法

C.抽象类可以包含抽象属性D.抽象类可以引用派生类的实例

答案:

A

34.下列关于重载的说法,错误的是()。

A.方法可以通过指定不同的参数个数重载

B.方法可以通过指定不同的参数类型重载

C.方法可以通过指定不同的参数传递方式重载

D.方法可以通过指定不同的返回值类型重载

答案:

D

31.关于虚方法实现多态,下列说法错误的是()。

A.定义虚方法使用关键字virtual

B.关键字virtual可以与override一起使用

C.虚方法是实现多态的一种应用形式

D.派生类是实现多态的一种应用形式

答案:

B

32.以下关于继承的说法错误的是()。

A..NET框架类库中,object类是所有类的基类

B.派生类不能直接访问基类的私有成员

C.protected修饰符既有公有成员的特点,又有私有成员的特点

D.基类对象不能引用派生类对象

答案:

D

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

A.规律性B.传递性C.重复性D.多样性

答案:

B

34.下列说法中,正确的是()。

A.派生类对象可以强制转换为基类对象

B.在任何情况下,基类对象都不能转换为派生类对象

C.接口不可以实例化,也不可以引用实现该接口的类的对象

D.基类对象可以访问派生类的成员

答案:

A

35、在C#中,下列常量定义正确的是(B)。

A.constdoublePI3.1415926;

B.constdoublee=2.7

C.definedoublePI3.1415926

D.definedoublee=2.7

36、以下c#代码:

usingSystem.Threading;

classApp

{

publicstaticvoidMain()

{

Timertimer=newTimer(newTimerCallback(CheckStatus),null,0,2000);

Console.Read();

}

staticvoidCheckSatus(Objectstate)

{

Console.WriteLine("正在进行检查...")

}

}

在使用代码创建定时器对象的时候,同时指定了定时器的事件,运行时将每隔两秒打印一行“正在运行检查...”,因此,TimerCallback是一个(A)。

A.委托

B.结构

C.函数

D.类名

37、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。

A.只读属性

B.只写属性

C.读写属性

D.不可读不可写的属性

38、阅读以下的C#代码:

publicclassTEApp

{

publicstaticvoidThrowException()

{

thrownewException();

}

publicstaticvoidMain()

{

try

{

Console.WriteLine("try");

ThrowException();

}

catch(Exceptione)

{

Console.WriteLine("catch");

}

finally

{

Console.WriteLine("finally");

}

}

}

请问代码运行结果是(A)。

A.trycatchfinally

B.try

C.trycatch

D.tryfinally

39、在C#中,一个类(B).(选择一项)

A.可以继承多个类

B.可以实现多个接口

C.在一个程序中只能有一个子类

D.只能实现一个接口

40、针对下面的C#代码:

usingSystem;

classTeststring

{

publicstaticvoidMain()

{

StringstrOriginal;

strOriginal=Console.ReadLine();

boolA=strOriginal.Equals("A");

Console.WriteLine(A.ToString());

intB=strOriginal.Length;

Console.WriteLine(B.ToString());

Console.ReadLine();

}

}

程序运行时.输入“AAAAA”(五个A的前面有三个空格)则程序输出为(B)

A.08

B.False8

C.-18

D.False5

41、以下的C#代码段:

publicstructPerson

{

publicstringName;

publicintAge;

}

publicstaticvoidMain()

{

FileStreamA;

PersonB;

//其他处理代码

以下说法正确的是(A)。

A.A为引用类型的变量,B为值类型的变量

B.A为值类型的变量,B为引用类型的变量

C.A和B都是值类型的变量

D.A和B都是引用类型的变量

42、以下的C#代码:

staticvoidMain(string[]args)

{

Console.WriteLine("运行结果:

{0}",Console.ReadLine());

Console.ReadLine();

}

代码运行结果为(D)。

A.在控制台窗口显示“运行结果:

B.在控制台窗口显示“运行结果:

{0}”

C.在控制台窗口显示“运行结果:

,Console.ReadLine”

D.如果用户在控制台输入“A”,那么程序将在控制台显示“运行结果:

A”

43、在C#中定义一个数组,正确的代码为(B)。

(选择一项)

A.intarraya=newint[5];

B.int[]arraya=newint[5];

C.intarraya=newint[];

D.int[5]arraya=newint;

44、在C#语言中,下列关于属性的描述正确的是(B).

A.属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性

B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏

C.要定义只读属性只需在属性名前加上readonly关键字

D.在C#的类中不能自定义属性

45、程序运行过程中发生的错误,叫作(C).

A.版本B.断点C.异常D.属性

46、在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(A)。

A.容器控件B.组合控件C.排列控件D.基类控件

 

47、阅读以下的C#代码:

   classA

    {

         publicA()

         {

               Console.WriteLine("A");

          }

     }

     classB:

A

     {

          publicB()

         {

             Console.WriteLine("B");

          }

     }

   classProgram

   {

       publicstaticvoidMain()

       {

           Bb=newB();

           Console.ReadLine();

       }

   }

上述代码运行后,将在控制台窗口输出(C)。

A.AB.BC.ABD.BA

 

48、在.NET中,以下关于命名空间的描述,正确的是(D)。

A.命名空间不可以进行嵌套

B.任一个.cs文件中,只能存在一个命名空间

C.便用private修饰的命名空间,其内部的类也不允许访问

D.命名空间使得代码更加有条理、结构更清晰

 

47、NET中,程序中的错误可以划分为以下三类,除了(D)。

  

A.逻辑错误

B.运行时错误

C.语法错误

D.自定义错误

48、以下关于C#中方法重载的说法不正确的是(B)。

(选择二项)

A.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载

B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载

C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载

D.如两个方法名字相同,而参数的类型对应顺序不同,那么它们可以构成方法重载

 

49、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用(A)关键字。

A.override

B.new

C.static

D.virtual

50、下列关于C#的异常处理的说发法,错误的是(BC)。

(选择二项)

A.Try块必须跟catch块组合使用,不能单独使用

B.一个try块可以跟随多个catch块

C.使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常

D.在try…catch…..finally块中,finally块肯定会执行

 

51、在.NET中,一些数据类型为引用类型,当引用类型的值为(B)时,表明没有引用任何对象。

A.Empty

B.null

C.Nothing

D.0

 

52、在C#中,接口与抽象基类的区别在于(D)。

A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法

B.抽象基类可以被实例化,而接口不能被实例化

C.抽象基类不能被实例化,而接口可以被实例化

D.抽象基类能够被继承,而接口只能被实现

53、在.NET中,文本框控件的(A)属性用来设置其是否是只读的。

A.ReadOnly

B.Locked

C.Lock

D.Style

 

 

54、在C#中,(c)访问修饰符修饰的变量只能由当前程序集访问。

A.public

B.protected

C.internal

D.private

 

55、在C#中,下列代码运行后,变量Max的值是(C)

inta=5,b=10,c=15,Max=0;

      Max=a>b?

a:

b;

      Max=c

c:

Max;

A.0B.5C.10D.15

56.下列不属于值类型的有(A)

A.classB.enumC.structD.int

57.以下说法正确的是(B)

A.构造函数名不必和类名相同

B.一个类可以声明多个构造函数

C.构造函数可以有返回值

D.编译器可以提供一个默认的带一个参数的构造函数

58.以下说法不正确的是(B)

A.一个类可以实现多个接口

B.一个类可以继承多个类

C.在C#中要在派生类中重新定义基类的虚函数必须在前面加override

D.子类能添加新方法

59.声明一个委托publicdelegateintmyCallBack(intx);则用该委托产生的回调方法的原型应该是(B)

A.voidmyCallBack(intx)

B.intreceive(intnum)

C.stringreceive(intx)

D.不确定的

60.C#的数据类型有(b)

a)值类型和调用类型;

b)值类型和引用类型;

c)引用类型和关系类型;

d)关系类型和调用类型;

61.下列描述错误的是(d)

a)类不可以多重继承而接口可以;

b)抽象类自身可以定义成员而接口不可以;

c)抽象类和接口都不能被实例化;

d)一个类可以有多个基类和多个基接口;

62.下列关于构造函数的描述正确的是(c)

a)构造函数可以声明返回类型。

b)构造函数不可以用private修饰

c)构造函数必须与类名相同

d)构造函数不能带参数

 

63.int[,]myArray3=newint[3,3]{5,6,2},{6,7,8},{9,3,2}};myArray3[2,3]的值是(d)

a)9

b)2

c)6

d)越界

 

64.如果要将窗体设置为透明的,则(b)

a)要将FormBoderStyle属性设置为None;

b)要将Opacity属性设置为小于100%的值;

c)要将locked属性设置为True;

d)要将Enabled属性设置为True;

二、填空题或选择题需掌握的知识点

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

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

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

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

5.当在程序中执行到break语句时,将结束所在循环语句的执行。

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

7.C#数组类型是一种引用类型,所有的数组都是从System命名空间的object类继承而来的引用对象。

8.枚举是从System.Enum类继承而来的类型。

9.一般将类的构造方法声明为public访问权限。

如果声明为private,就不能创建该类的对象。

10.类中声明的属性往往具有get()和set()两个函数。

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

12.传入某个属性的SET方法的隐含参数的名称是value。

13.C#的类不支持多重继承,但可以用多个接口来实现。

14.C#提供一个默认的无参构造函数,当实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构造函数。

应该写两个构造函数。

15.在方法定义中,virtual含义:

被virtual修饰的方法可以被子类覆写。

16、接口(interface)是指:

只含有公有抽象方法的类。

这些方法必须在子类中被实现。

17.在C#中可使用new修饰符显式隐藏从基类继承的成员。

18.在C#中要在派生类中重新定义基类的虚函数必须在前面加override。

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

20、通过interface关键字定义一个接口。

21、C#要求程序中的每个元素都要属于一个类。

22、在C#程序中,程序的执行总是从Main方法开始的。

23、在C#中,进行注释有两种方法:

使用“//”和使用“/*….*/“符号对,其中“//”只能进行单行注释。

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

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

26.请写出描述“-10<=x<=10”的C#语言表达式x>=-10&&x<=10。

27.在switch语句中,在分支的最后应有一条default语句

28.在C#语言中,实现循环语句主要有while、do---while和for

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

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

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

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

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

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

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

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

35.所谓装箱就是将一个值类型隐式地转换成一个object类型。

所谓拆箱就是将一个object类型显示式转换成一个值类型。

36.在类的成员声明时,若使用了protected修饰符则该成员只能在该类或其派生类中使用。

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

38.C#方法的参数有四种,分别是:

值参数(对应值传递)、引用参数(对应地址传递)、输出函数和函数数组,在形参中声明参数数组时应使用params关键字。

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

40.在声明类时,在类名前abstract修饰符,则声明的类只能作为其他类的基类,不能被实例化。

41.throw语句的作用是抛出一个异常。

42.catch从句捕捉并处理异常。

43.try块封装了可能引发异常的代码。

44.表示控件是否可以对用户交互作出响应的属性是Enabled。

45.表示是否显示控

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

当前位置:首页 > 经管营销 > 经济市场

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

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