有答案洛阳理工C#期末考试A卷docx.docx
- 文档编号:30508176
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:20
- 大小:21.04KB
有答案洛阳理工C#期末考试A卷docx.docx
《有答案洛阳理工C#期末考试A卷docx.docx》由会员分享,可在线阅读,更多相关《有答案洛阳理工C#期末考试A卷docx.docx(20页珍藏版)》请在冰豆网上搜索。
有答案洛阳理工C#期末考试A卷docx
洛阳理工学2010/2011学第一学面向对象程序设
期末考试试题卷
适用班级B100513/14/15/16考试时间12分
注意:
看清题目要求,书写整洁
一选择每小分3题共6)
1C中每int类型的变量占(个字节的内存
A.1B.2C.4
D.8
2C中,表示一个字符串的变量应使用以下哪条语句定义()
A.CStringstr;B.stringstr;C.Dimstrasstring
D.char*str;
3C编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用列哪条语句()
A.decimaltheMoney;B.inttheMoney;C.stringtheMoney;D.Dim
theMoneyasdouble
4C中,新建一字符串变st,并将字符呜浯?
?
楌楶杮删潯保存到串中
则应该使用下列哪条语句()
A.stringstr=Tom\'sLivingRoom;B.stringstr=Tom'sLivingRoom;
C.stringstr(Tom'sLivingRoom);D.stringstr(TomsLivingRoom)
5CMyClass为一自定义类,其中定义了以下方
publicvoidHello()
{
}
使用以下语句创建了该类的对象,并使变obj引用该对象
MyClassobj=newMyClass();
那么,可如何访问MyClassHello方法()
A.obj.Hello();B.obj:
:
Hello();C.MyClass.Hello();D.
MyClass:
:
Hello();
6分析下C语句,注意MyClass没有访问修饰符
namespaceClassLibrary1
{
classMyClass
{
publicclasssubclass
{
inti;
}
}
}
若必须为类MyClass添加访问修饰符,并使MyClass的可访问域保持不变,则应选择()。
A.privateB.protectedC.internalD.
public
7.分析下列程序:
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);
8.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成()。
A.sealed方法B.public方法C.virtual方法D.
override方法
9.类MyClass中有下列方法定义:
publicvoidtestParams(paramsint[]arr)
{
潃獮汯?
牗瑩?
尨使用Params参数!
);
}
publicvoidtestParams(intx,inty)
{
潃獮汯?
牗瑩?
尨使用两个整型参数!
);
}
请问上述方法重载有无二义性?
若没有,则下列语句的输出为().
MyClassx=newMyClass();
x.testParams(0);
x.testParams(0,1);
x.testParams(0,1,2);
A.有语义二义性;B.使用Params参数!
使用两个整型参数!
使用Params参数!
C.使用Params参数!
使用Params参数!
使用Params参数!
D.使用Params参数!
使用两个整型参数!
使用两个整型参数!
10.C#程序中,可使用try…catch机制来处理程序出现的()错误。
A.语法B.运行C.逻辑
D.拼写)(对象?
string11.下列语句创建了多少个string[,]strArray=newstring[3,4];
4C.3B.0A.
D.12
12.接口Animal定义如下:
publicinterfaceAnimal
{
voidMove();
}
)则下列抽象类的定义中,哪些是不合法的?
(
A.abstractclassCat:
Animal
{
abstractpublicvoidMove();
}
B.abstractclassCat:
Animal
{
virtualpublicvoidMove()
{
Console.Write(Move!
);
}
}
C.abstractclassCat:
Animal
{
publicvoidMove()
{
Console.Write(Move!
);
}
}
D.abstractclassCat:
Animal
{
publicvoidEat()
{
Console.Write(Eat!
);
}
}
13.在使用FileStream打开一个文件时,通过使用FileMode枚举类型的()成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。
A.AppendB.CreateC.CreateNew
D.Truncate
14.在类的定义中,类的()描述了该类的对象的行为特征。
A.类名B.方法C.所属的名字空间
D.私有域
15.以下类MyClass的属性count属于()属性.
classMyClass
{
inti;
intcount
{
get
{
returni;
}
}
}
A.只读B.只写C.可读写D.不可读不可写
16.已知类MyClass中事件MouseClicked定义如下:
publicstaticeventMouseClickedListenerMouseClicked;
执行下列语句:
MouseClicked+=newMouseClickedListener(obj.DoSomething);
MouseClicked+=newMouseClickedListener(obj.DoSomething);
然后引发该MouseClicked事件,其结果为:
()
A.obj.DoSomething方法被调用4次B.obj.DoSomething方法被调用2次
C.obj.DoSomething方法被调用1次D.obj.DoSomething
方法不会被调用
。
)(的值,下列正确的语句是x,要输出25的值为x假设变量17.
A.System.Console.writeline(“x”);B.
System.Console.WriteLine(“x”);
C.System.Console.WriteLine(“x={0}”,x);D.
System.Console.WriteLine(“x={x}”);
18.关于C#程序的书写,下列不正确的说法是()。
A.区分大小写B.一行可以写多条语句
C.一条语句可写成多行D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法
19.在C#语言中,下列能够作为变量名的是()。
A.ifB.3abC.a_3bD.a-bc
20.在C#语言中,下面的运算符中,优先级最高的是()。
A.%B.++C./=D.>>
21.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是()。
A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.
a>=10||a<=0
22.以下程序的输出结果是()。
usingSystem;
classExample1
{
publicstaticvoidMain()
{
inta=5,b=4,c=6,d;
Console.WriteLine(“{0}”,d=a>b?
(a>c?
a:
c):
b);
}
}
A.5B.4C.6D.不确定
23.有如下程序:
usingSystem;
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=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
24.以下关于for循环的说法不正确的是()。
A.for循环只能用于循环次数已经确定的情况B.for循环是先判定表达式,后执行循环体语句
C.for循环体语句中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
25.关于C#语言的方法,下列叙述中正确的是()。
A.方法的定义不能嵌套,但方法调用可以嵌套B.方法的定义可以嵌套,但方法调用不能嵌套
C.方法的定义和调用都不能嵌套D.方法的定义和调用都可以嵌套
26.以下所列的各个方法头中,正确的是()。
A.voidplay(vara:
Integer,varb:
Integer)B.voidplay(inta,b)
C.voidplay(inta,intb)D.Subplay(aasinteger,bas
integer)
27.下列程序的输出结果是()。
usingSystem;
classExample1
{
staticlongsub(intx,inty)
{
intz;
z=x*x+y*y;
returnz;
}
publicstaticvoidMain()
{
inta=30;
sub(5,2);
Console.WriteLine{0,a);
}
}
A.0B.29C.30D.无定
28以下对枚举的定义,正确的(
A.enuma={one,two,three}B.enuma{a1,a2,a3};
C.enuma=,,};D.enumaon,tw,”three};
29调用重载方法时,系统根(来选择具体的方法
C.B.A.
D.方法的返回值类不是构造函数的特征(30下列
A.构造函数的函数名和类名相B.构造函数可以重
构造函数可以带有参C.D.可以指定构造函数的返回)
2空共1分每程序填空二、1请补充程序,使输出结果:
a=20,b=10
classProgram
{
staticvoidMain()
{
inta=10,b=20;
Swap(1,2);
潃獮汯?
牗瑩?
湩引用传:
a={0},b={1},a,b);
Console.ReadLine();
}
publicstaticvoidSwap(3,4)
{
intz=x;
x=y;
y=z;
}
}
2定义一个抽象Vehicl,然后再定义它的一个派生TrucTruc类实Vehicl类抽象方法和虚拟方法。
请把程序补充完整
public5classVehicle
{
privatefloatspeed;
publicfloatSpeed
{
get{returnspeed;}
set{speed=value;}
}
publicVehicle(floatspeed)
{
this.speed=speed;
}
publicvirtualfloatRun(floatdistance)
{
returndistance/speed;
}
publicabstractvoidSpeak();
}
publicclassTruck:
Vehicle
{
privatefloatweight;
publicfloatWeight
{
get{returnweight;}
}
privatefloatload;
publicfloatLoad
{
get{returnload;}
}
publicTruck(intweight,intload):
base(50)
{
this.weight=weight;
this.load=load;
}
public6floatRun(floatdistance)
{
return(1+load/Weight/2)*base.Run(distance);
}
public7voidSpeak()
{
潃獮汯?
牗瑩?
湩.....);
}
}
下面这段程序的功能是把数a1=1,a2=1(n>2的每一项求出来3到文C:
\num.tx文件中去,然后我们根据要求的数列项从文件中把该项读出来请把程序补充完整
staticvoidMain()
{
FileStreamfs1=newFileStream(8,FileMode.Create);
for(ushorta=1,b=1;a<=10000;9)
{
ushortt=b;
b=a;
a=t;
fs1.WriteByte((byte)(a/256));/写入
fs1.WriteByte((byte)(a%256));/写入
}
fs1.Position=0;
潃獮汯?
牗瑩请输入要读取的数列:
);
inti=int.Parse(Console.ReadLine());
fs1.Position=2*i;
intx=10;
:
+x);
数列项潃獮汯?
牗瑩?
湩fs1.Close();
Console.ReadLine();
三编程每1分题共2
1编写一个矩形类,私有数据成员为矩形的长le)和(wid,无参构造函数lewi设置,有参构造函数设置长le)和(wid的值。
另外,类还包括求形的周长、求矩形的面积、取矩形的长度、取矩形的宽度、修改矩形的长度和宽为对应的形参值等公用方法
2编写出一个通用的人员类Perso,该类具有姓名Nam、性别Se、年Ag)等域。
然后Person类的继承得到一个学生类Studen,该类能够存学生门课的成绩,并能求出平均成绩,要求对该类的构造函数进行重载,至给出三个形式。
最后编程Studen类的功能进行验
洛阳理工学2010/201学年第一学面向对象程序设
期末考试评分标准
适用班级B100513/14/15/16考试时间12分
注意:
看清题目要求,书写整洁
四选择每小分3题6)
1-CBAA6-1CACB
11-1DDABA16-2BCDCB
21-2DCCAA26-3CCBBD
五程序填空每分1空共21.ref2.refb3refint4refint5.abstract6override7override
8尠?
屜屜畮?
硴局?
屜畮?
硴9.a+=a=a+10.256*fs1.ReadByte()+
fs1.ReadByte()六编程每1分题共2
1编写一个矩形类,私有数据成员为矩形的长le)和(wid,无参构造函数lewi设置,有参构造函数设置长le)和(wid的值。
另外,类还包括求形的周长、求矩形的面积、取矩形的长度、取矩形的宽度、修改矩形的长度和宽为对应的形参值等公用方法
参考答
Rectangleclas
{
privatfloalen;/
/privatfloawid;
/无参构造函
publiRectangle()
{
thi.len=0;
thi.wid=0;
}
/有参构造函
width)Rectanglepublifloalength,floa{
thi.len=length;
thi.wid=width;
}
/取矩形的长
GetLength()publifloa{
returthi.len;
}
/取矩形的宽
GetWidth()floapubli
{
.wid;
thiretur
}
//修改矩形的长度
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分floatlength)publicvoidSetLegth({
this.len=length;
}
//修改矩形的宽度
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分width)SetWidth(voidfloatpublic{
this.wid=width;
}
//求矩形的周长
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分publicfloatGetGirth()
{
return(this.len+this.wid)*2;
}
//求矩形的面积
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分floatGetArea()public
{
returnthis.len*this.wid;
}
}
2.编写出一个通用的人员类(Person),该类具有姓名(Name)、性别(Sex)、年龄(Age)等域。
然后对Person类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩,要求对该类的构造函数进行重载,至少给出三个形式。
最后编程对Student类的功能进行验证。
参考答案:
//通用的人员类:
Person
。
。
。
。
。
。
。
。
。
。
。
。
。
。
2分classPerson
{
protectedstringName;
protectedstringSex;
Age;
intprotected
publicPerson()
{
}
publicPerson(stringname,stringsex,intage)
{
this.Name=name;
this.Sex=sex;
this.Age=age;
}
}
//继承自人员类的学生类:
Student
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分PersonclassStudent:
{
//用于存储5门课成绩的整型数组
privateint[]Score;
//构造函数1
publicStudent()
{
this.Name=张三;
this.Sex=男;
this.Age=20;
this.Score=newint[]{60,70,80,90,100};
}
//构造函数2
publicStudent(stringname,stringsex,intage,int[]score)
:
base(name,sex,age)
{
this.Score=score;
}
//构造函数3
。
。
。
。
。
。
。
。
。
。
。
。
。
。
2分[]score)Student(publicint{
this.Name=王五;
this.Sex=男;
this.Age=19;
this.Score=score;
}
//求平均成绩
。
。
。
。
。
。
。
。
。
。
。
。
。
。
1分floatAvg()public
{
inttotal=0;
for(inti=0;i { total=total+Score[i]; } returntotal/Score.Length; } 。 。 。 。 。 。 。 。 。 。 。 。 。 。 1分voidDisplay()public { Console.WriteLine(姓名: ほ屽,this.Name); Console.WriteLine(性别: ほ屽,this.Sex); Console.WriteLine(年龄: ほ屽,this.Age); Console.Write(成绩: ); foreach(intKinthis.Score) { Console.Write(K+? ); } Console.WriteLine(平均成绩是: ほ屽,Avg()); Console.WriteLine(); } } classProgram { 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3分staticvoidMain(string[]args) { Studentstu1=newStudent(); stu1.Display(); Studentstu2=newStudent(李四,女,20,newint[]{65,75,85,95,100}); stu2.Display(); Studentstu3=newStudent(newint[]{70,75,80,85,90}); stu3.Display(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 洛阳 理工 C# 期末考试 docx