c#期末考试复习题与答案.docx
- 文档编号:2100381
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:16
- 大小:21.33KB
c#期末考试复习题与答案.docx
《c#期末考试复习题与答案.docx》由会员分享,可在线阅读,更多相关《c#期末考试复习题与答案.docx(16页珍藏版)》请在冰豆网上搜索。
c#期末考试复习题与答案
基于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#中,所有类都是直接或间接地继承System.Object类而得来的。
(T)
12.在C艸,任何方法都不能实现多继承。
(F)
13.在C#中子类不能继承父类中用private修饰的成员变量和成员方法。
(F)
14.可以阻止某一个类被其他类继承。
(T)
15.使用FileInfo类的Copy()方法可以复制文件。
(T)
二、选择题(本大题共20个小题,每小题2分,共40分)
1.在C#中,表示一个字符串的变量应使用以下哪条语句定义?
B
A.CStringstr;
B.stringstr;
C.Dimstrasstring
D.char*str;
2.C#中MyClass为一自定义类,其中有以下方法定义:
A
publicvoidHello(){…}
使用以下语句创建了该类的对象,并使变量obj引用该对象,那么,访问类
MyClass的Hello方法正确的是:
MyClassobj=newMyClass();
A.obj.Hello();
B.obj:
:
Hello();
C.MyClass.Hello();
D.MyClass:
:
Hello();
3.分析下列程序中类MyClass的定义D
classBaseClass
{publicinti;}
classMyClass:
BaseClass
{publicnewinti;}
则下列语句在Console上的输出为.
MyClassy=newMyClass();
BaseClassx=y;
x.i=100;
Console.WriteLine("{0},{1}",x.i,y.i);//(提示:
注意类MyClass中的
new关键字)
A.0,0
B.100,100
C.0,100
D.100,0
4.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理
不同的派生类的需要,则应将该方法声明成_c_?
A.sealed方法
B.public方法
C.virtual方法
D.override方法
5.为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?
A
A.intNum=int.Parse(str);
B.intNum=str.Parse(int);
C.intNum=(int)str;
D.intNum=int.Parse(str,Globalization.NumberStyles.AllowThousand
s);
6.在C#语言中,下列能够作为变量名的是_C_?
A.if
B.3ab
C.a_3b
D.a-bc
7.以下程序的输出结果是_C_?
Usingsystem;
ClassExample1
{
PublicStaticvoidmain(){
Inta=5,b=4,c=6,d;
Console.Writeline(“{0}”,d=a>b?
(a>c?
a:
c):
b);
}
}
A.5
B.4
C.6
D.不确定
8.能正确表示逻辑关系“a>=10或a<=0'的C#语言表达式是_D_?
A.a>=10ora<=0
B.a>=10|a<=0
C.a>=10&&a<=0
D.a>=10||a<=0
9.以下关于for循环的说法不正确的是__A__?
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体语句
C.for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来?
10.有如下程序Usingsystem;C
ClassExample1
{
PublicStaticvoidmain()
{
Intx=1,a=0,b=0;
Switch(x)
{
Case0:
b++,break;
Case1:
a++,break;
Case2:
a++,b++;break;
}Console.Writeline(“a={0},b={1}”,a,b);
}}的输出结果是
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
11.关于C#语言的方法,下列叙述中正确的是A?
A.方法的定义不能嵌套,但方法调用可以嵌套
B.方法的定义可以嵌套,但方法调用不能嵌套
C.方法的定义和调用都不能嵌套
D.方法的定义和调用都可以嵌套
12.下列程序的结果是:
B
Usingsystem;
ClassExample1
{
Staticlongfib(intn)
{
If(n>2)return(fib(n-1)+fib(n-2));
Elsererurn
(2);
}PublicStaticvoidmain()
{Console.Writeline(“{0}”,fib(3));
}}
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法?
A.static
B.new
C.override
D.virtual
16.下列关于try…catch…finaly语句的说明中,不正确的是D?
A.catch块可以有多个
B.finaly
C.catch块也是可选的
D.可以只有try块
17.以下标识符中,正确的是A?
A._nName
B.typeof
C.6b
D.x5#
18.下面有关运算符的说法正确的是_D_
A.算术运算符不能对布尔类型,String*(字符串类型)和Object*(对象类型)进行算术运算
B.关系运算中的”==”和赋值运算符中的”二”是相同的
C.sizeof运算符用来查询某种数据类型或表达式的值在内存中所占懂得内存空间大小(字节数)
D.括号在运算符中的优先级中是最高的,它可以改变表达式的运算顺序
19.下面对抽象类描述不正确的是_C?
A.抽象类只能作为基类使用
B.抽象类不能定义对象
C.抽象类可以实例对象
D.可以实现多态
20.下面对异常说法不正确的是_D_
A.try/catch块为基本引发异常的组合
B.在捕获异常时,可以有多个catch块
C.无论异常是否发生,finally块总会执行
D.try块和finally不能连用
1.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?
A
A.stringstr="Tom\'sLivingRoom";
B.stringstr="Tom'sLivingRoom";
C.stringstr("Tom'sLivingRoom");
D.stringstr("Tom"sLivingRoom");
2.分析下列程序:
A
publicclassclass4
{
privatestring_sData="";
publicstringsData{set{_sData=value;}}
}
在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?
A.obj.sData="Itisfunny!
";
B.Console.WriteLine(obj.sData);
C.obj._sData=100;
D.obj.set(obj.sData);
3.分析下列程序中类MyClass的定义
classBaseClass
{publicinti;}
classMyClass:
BaseClass
{publicnewinti;}
则下列语句在Console上的输出为___D.
MyClassy=newMyClass();
BaseClassx=y;
x.i=100;
Console.WriteLine("{0},{1}",x.i,y.i);//(提示:
注意类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_?
A.a>=10ora<=0
B.a>=10|a<=0
C.a>=10&&a<=0
D.a>=10||a<=0
7.if语句后面的表达式应该是_B___?
A.逻辑表达式
B.条件表达式
C.算术表达式
D.任意表达式
8.以下叙述正确的是__D__?
A.do….while语句构成的循环不能用其他语句构成的循环来代替
B.do….while语句构成的循环只能用break语句退出
C.用do….while语句构成的循环,在while后的表达式为true时结束循环
D.用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式
9.以下程序的输出结果是:
C
ClassExample1
{
PublicStaticvoidmain()
{
IntI;
Int[]a=newint[10];
For(i=9;i>=0;i--)a[i]=10-I;
Console.Writeline(“{0},{1}{2}”,a[2],a[5],a[8]);
}}
A.258
B.741
C.852
D.369
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c# 期末考试 复习题 答案