基于c#的oop技术课程复习题。
一、 判断题(本大题共10个小题,每小题1分,共10分)
1. 在同一行上可以书写多条语句,每条语句间用分号分隔。(t )
2. 在数据类型转化时,只能通过类型转换关键字或convert类实现。(f )
3. 接口与类同样是面向对象程序设计的核心,是创建对象的模版。(f )
4. 委托是将方法作为参数传递给另一方法的一种数据类型。事件与委托没有关系。(f )
5. 可以重写私有的虚方法。(t )
6. 使用directory类的move()方法可以删除文件。(t )
7. 不能指定接口中方法的修饰符。(t )
8. 在定义数组时不允许为数组中的元素赋值。(f )
9. 接口与类同样是面向对象程序设计的核心,是创建对象的模版。(
10. 如果要实现重写,在基类的方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字。(t )
11. 在c#中,所有类都是直接或间接地继承类而得来的。(t )
12. 在c#中,任何方法都不能实现多继承。(f )
13. 在c#中,子类不能继承父类中用private修饰的成员变量和成员方法。(f )
14. 可以阻止某一个类被其他类继承。(t )
15. 使用fileinfo类的copy()方法可以复制文件。(t )
二、选择题(本大题共20个小题,每小题2分,共40分)
1. 在 c#中,表示一个字符串的变量应使用以下哪条语句定义? b
str;str;
str as string
* str;
2. c#中 myclass 为一自定义类,其中有以下方法定义:a
public void hello()
使用以下语句创建了该类的对象,并使变量 obj 引用该对象,那么,访问类myclass的hello方法正确的是:
myclass obj = new myclass();
3. 分析下列程序中类 myclass 的定义 d
class baseclass
class myclass:baseclass
public new int i;}
则下列语句在 console 上的输出为___
myclass y = new myclass();
baseclass x = y;
= 100;, 提示:注意类 myclass 中的 new 关键字)
a.0, 0
b.100, 100
c.0, 100
d.100, 0
4. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_c___
方法。方法。
方法。方法。
5. 为了将字符串 str=“123,456”转换成整数 123456,应该使用以下哪条语句? a
num =
num =
num = int)str;
num =
6. 在 c#语言中,下列能够作为变量名的是_c___
b.3ab7. 以下程序的输出结果是_c___
using system;
class example1
a.5 b.4
c.6 d.不确定。
8. 能正确表示逻辑关系“a>=10 或 a<=0”的 c#语言表达式是_d___
=10 or a<=0
=10|a<=0
=10&&a<=0
=10||a<=0
9. 以下关于 for 循环的说法不正确的是__a__
循环只能用于循环次数已经确定的情况。
循环是先判定表达式,后执行循环体语句。
循环中,可以用 break语句跳出循环体。
循环体语句中,可以包含多条语句,但要用花括号括起来。
10. 有如下程序 using system; c
class example1
} }的输出结果是
11. 关于 c#语言的方法,下列叙述中正确的是_a___
a.方法的定义不能嵌套,但方法调用可以嵌套。
b.方法的定义可以嵌套,但方法调用不能嵌套。
c.方法的定义和调用都不能嵌套。
d.方法的定义和调用都可以嵌套。
12. 下列程序的结果是: b
using system;
class example1
public static void main()
a.2 b.4
c.6 d.8
13. 调用重载方法时,系统根据___b___来选择具体的方法。
a.方法名。
b.参数的个数和类型。
c.参数名及参数个数。
d.方法的返回值类型。
14. 下列的___d___不是构造函数的特征。
a.构造函数的函数名和类名相同。
b.构造函数可以重载。
c.构造函数可以带有参数。
d.可以指定构造函数的返回值。
15. 已知类 b 是由类 a继承而来,类 a 中有一个为 m 的非虚方法,现在希望在类 b 中也定义一个名为 m 的方法,若希望编译时不出现警告信息,则在类 b中声明该方法时,应使用___b___方法。
16. 下列关于 try…catch…finaly语句的说明中,不正确的是___d___
块可以有多个。
块也是可选的。
d.可以只有 try块。
17. 以下标识符中,正确的是_a___
a._nname
c.6b18. 下面有关运算符的说法正确的是_d___
a.算术运算符不能对布尔类型,string*(字符串类型)和 object*(对象类型) 进行算术运算。
b.关系运算中的”= 和赋值运算符中的”=”是相同的。
运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)
d.括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序。
19. 下面对抽象类描述不正确的是__c___
a.抽象类只能作为基类使用。
b.抽象类不能定义对象。
c.抽象类可以实例对象。
d.可以实现多态。
20. 下面对异常说法不正确的是_d__
块为基本引发异常的组合。
b.在捕获异常时,可以有多个 catch块。
c.无论异常是否发生,finally块总会执行。
块和 finally 不能连用。
1. c#中,新建一字符串变量 str,并将字符串"tom's living room"保存到串中,则应该使用下列哪条语句? a
str = tom\'s living room";
str = tom's living room";
str("tom's living room");
str("tom"s living room");
2. 分析下列程序: a
public class class4
在 main 函数中,在成功创建该类的对象 obj 后,下列哪些语句是合法的?
= "it is funny!";
3. 分析下列程序中类 myclass 的定义
class baseclass
class myclass:baseclass
public new int i;}
则下列语句在 console 上的输出为___d___
myclass y = new myclass();
baseclass x = y;
= 100;, 提示:注意类 myclass 中的 new 关键字)
a.0, 0
b.100, 100
c.0, 100
d.100, 0
4. 在类的定义中,类的___b___描述了该类的对象的行为特征。
a.类名。b.方法。
c.所属的名字空间。
d.私有域。
5. 关于 c#程序的书写,下列不正确的说法是__d__
a.区分大小写。
b.一行可以写多条语句。
c.一条语句可写成多行。
d.一个类中只能有一个 main()方法,因此多个类中可以有多个 main()方法。
6. 能正确表示逻辑关系“a>=10 或 a<=0”的 c#语言表达式是_d___
C期末考试复习题
c 期末考试复习题。一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员...
C 期末考试复习题
一 选择题。1.在声明类时,下面的说法正确的是 c a.可以在类的声明中给数据成员赋初值 b.数据成员的数据类型可以是register 可以按任意顺序出现 d.没有用 private public protected定义的数据成员是公有成员。2.在一个类的定义中,包含有 c 成员的定义。a.数据 b...
c期末考试复习题
1.程序中主函数的名字为 a.main b.main c.main d.任意标识符。2.关于c 程序的书写,下列不正确的说法是 a.区分大小写 b.一行可以写多条语句 c.一条语句可写成多行。3.能正确表示逻辑关系 a 10 或a 0 的c 语言表达式是 a.a 10 or a 0 b.a 10 a...