C程序设计语言期末考试题A有答案Word格式文档下载.doc

上传人:wj 文档编号:1236331 上传时间:2023-04-30 格式:DOC 页数:9 大小:147KB
下载 相关 举报
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第1页
第1页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第2页
第2页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第3页
第3页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第4页
第4页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第5页
第5页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第6页
第6页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第7页
第7页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第8页
第8页 / 共9页
C程序设计语言期末考试题A有答案Word格式文档下载.doc_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序设计语言期末考试题A有答案Word格式文档下载.doc

《C程序设计语言期末考试题A有答案Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《C程序设计语言期末考试题A有答案Word格式文档下载.doc(9页珍藏版)》请在冰点文库上搜索。

C程序设计语言期末考试题A有答案Word格式文档下载.doc

()3.VisualStudio控件的属性窗口中,按钮“A->

Z”点击后,属性列表会先按照功能分类排列属性后在每个单元中以名称排序。

二.单项选择题(每题2分,共40分)

一、(说明:

每题有且仅有一个正确答案,请将正确答案填入下表)

A

B

C

D

11

12

13

14

15

16

17

18

19

20

1.C#程序设计语言属于什么类型的编程语言:

a

A.高级语言B.自然语言C.机器语言D.汇编语言

2.如有inta=11;

则表达式(a++*1/3)的值是:

b

A.0B.3C.4D.12

3.类的字段和方法的默认访问修饰符是:

A.publicB.privateC.protectedD.internal

4.对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。

如圆周率PI始终为3.14。

现在要声明一个名为PI的圆周率常量,下面哪段代码是正确的?

A.constfloatPI;

PI=3.14f;

B.constfloatPI=3.14f;

C.floatconstPI;

D.floatconstPI=3.14f;

5.请问经过表达式a=3+3>

5?

0:

1的运算,变量a的最终值是什么?

c

A.6B.1C.0D.true

6.下列语句是MyClass的一部分,obj是MyClass的一个对象。

privateclasssubclass

{

publicintdata;

}

voidchange(refintx){ x=1;

}

publicvoidtest()

subClasss=newsubClass();

s.data=100;

change(refs.data);

Console.WriteLine(s.data);

}

则调用obj.test()后。

控制台输出(d)。

A.100B.101C.0D.1

7.用户自定义的异常类应该从哪个类中继承(d)

A.System.ArgumentExceptionB.System.IO.IOException

C.System.SystemExceptionD.System.ApplicationException

8.下面有关虚方法的描述正确的是(a)。

A.虚方法能在程序运行时,动态确定要调用的方法,因而比非虚方法更灵活,更方便

B.在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符

C.重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符

D.在重写虚方法时,需要同时带上override和virtual修饰符

9.下列语句声明了一个委托:

publicdelegateintmyCallBack(intx);

则用该委托产生的回调方法的原型应该是:

A.voidreceive(intx)B.intreceive(intnum)

C.intreceive()D.不确定的

10.C#中TestClass为一自定义类,其中有以下属性定义

publicvoidProperty{…}

使用以下语句创建了该类的对象,并使变量obj引用该对象:

TestClassobj=newTestClass();

那么,可通过什么方式访问类TestClass的Property属性(c)

A.TestClass.Progerty;

B.TestClass.Property();

C.obj.Property;

D.obj.Property();

11.已知类Base、MyClass的定义如下

classBase

publicvoidHello()

System.Console.WriteLine("

HelloinBase!

"

);

//先基后派

classDerived:

Base

{

HelloinDerived!

则下列语句在控制台中的输出结果为__c___。

Derivedx=newDerived();

x.Hello();

A.HelloinBase!

B.HelloinDerived!

C.HelloinBase!

D.HelloinDerived!

HelloinBase!

12.下列关于接口的说法中,哪个选项是正确的?

(d)

A.一个类可以有多个基类和多个基接口

B.抽象类和接口都不能被实例化

C.抽象类和接口都可以对成员方法进行实现

D.派生类可以不实现抽象基类的抽象方法,但必须实现继承的接口的方法

13.下列关于构造函数的描述中,哪个选项是正确的?

(a)

A.构造函数必须与类名相同B.构造函数不可以用private修饰

C.构造函数不能带参数D.构造函数可以声明返回类型

14.引用数组元素时,数组下标的数据类型可以允许哪项类型?

(c)

A.整型常量B.整型表达式

C.整型常量或整型表达式D.任何类型的表达式

15.以下类MyClass的属性count属于__c___属性。

classMyClass

inti;

intcount

get{returni;

}

A.只读B.只写C.可读写D.不可读不可写

16.要让用户选择和浏览要打开的文件,应使用什么对话框?

(b)

A.FileDialogB.OpenFileDialo

C.SaveFileDialoD.FolderBrowserDialog

17.在VisualStudio2005中,假设你正在单步调试某个应用程序。

程序从入口开始,调用某个私有方法将产生异常。

现在代码运行到如图所示位置,应该使用下面哪种方式进一步调试?

a

A.使用逐语句调试B.使用逐过程调试

C.跳出调试D.停止调试

18..NETFramework2.0中,处理异常是很有用的功能。

一个try代码块可以有多个catch块于之对应。

在多个catch块中,下面哪个异常应该最后捕获?

A.System.Exception类B.System.SystemException类

C.System.ApplicationException类D.System.StackOverflowException类

19.在二维坐标系中,通常需要保存一组点的坐标。

使用二维数组是一个解决方案。

下面哪段代码正确初始化了2行2列的整数二维数组?

A.int[,]array=newint[2,2];

B.int[][]array=newint[2][2];

C.int[,]array=newint[2][2];

D.int[][]array=newint[2,2];

20.已经定义了一个Season枚举,它有4个成员Spring,Summer,Autumn,Winter。

现在需要定义一个名为currentSeason的Season枚举,并将其赋值为Spring,应使用下面哪段代码?

d

A.SeasoncurrentSeason=Spring;

B.currentSeason=Spring;

C.currentSeason=Season.Spring;

D.SeasoncurrentSeason=Season.Spring;

三.简答题(每题5分,共10分)

1.类与对象有什么区别?

答:

类是用来描述某种具有相同属性和行为的事物,对象是类的一种具体表现。

2.什么叫多态性,在C#语言中如何实现多态?

多态性是指一段程序能够处理多种类型对象的能力。

四.综合题(共40分)

1.下面这段程序要完成的功能是:

从输入的字符串中找出小写字母并输出到终端。

请检查下列代码,找出所有错误的代码,并写出该行完整的正确代码。

(4分)

1.usingSystem;

2.publicclassProgram

3.{

4.staticvoidMain(string[]args)

5.{

6.stringinputString=Console.ReadLine();

7.stringlowerCase=string.Empty;

8.foreach(charchininputString)

9.if(ch>

='

a'

||ch<

z'

10.lowerCase+=ch.ToString;

11.Console.WriteLine("

小写字母有:

+lowerCase);

12.}

13.}

更正以下两句:

9.if(ch>

&

ch<

10.lowerCase+=ch.ToString();

2.下述代码用于重写Message方法。

请分析下述代码,并更正错误代码行。

1.interfaceIMsg

2.{

3.voidMessage();

4.}

5.publicclassMyClass:

IMsg

6.{

7.publicvirtualvoidMessage()

8.{

9.Console.WriteLine("

MyClass"

10.}

11.}

12.publicclassMyDerivedClass:

MyClass

13.{

14.publicvoidMessage()

15.{

16.Console.WriteLine("

MyDerivedClass"

17.}

18.}

第14行:

更正为:

publicoverridevoidMessage()

3.下面代码功能是对数组进行遍历,请分析下列代码段并在空白行补全C#代码。

staticvoidMain(string[]argz)

string[]myString={"

windows"

"

form"

dialog"

};

foreach(

(1))

{

Console.WriteLine(str);

}

(1):

stringstrinmyString

4.下面程序中两个方法需要实现的功能是:

int数组相加,即数组中的每项相加,

以及string类型的相加,即把一串字符串接到另一串字符串后面。

请分析下列代码段,并在空白行补全visualC#代码。

(6分)

(1)

int[]result=newint[array1.Length];

for(inti=0;

i<

array1.Length;

i++)

result[i]=array1[i]+array2[i];

returnresult;

(2){

stringspaceStr="

"

result=null;

result=str1+spaceStr+str2;

staticvoidMain(string[]arges)

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

int[]sumArray=newint[3];

stringstr1="

visual"

str2="

studio"

;

stringsumString=null;

sumArray=Add(a,b);

sumString=Add(str1,str2);

1,staticint[]Add(int[]array1,int[]array2)

2.staticstringAdd(stringstr1,stringstr2)

5.下列程序段的作用是对字符串数组myArray进行排序后输出“RubyMarkNormanKinger”,请补全代码完成该功能。

staticvoidMain(string[]args)

string[]myArray=newstring[]{"

Kinger"

"

Norman"

Ruby"

Mark"

};

Sort(myArray);

foreach(stringstrinmyArray)

Console.Write(str+"

"

publicstaticvoidSort(string[]array)

stringstr;

for(intj=0;

j<

array.Length-2;

j++)

for(inti=0;

i<

array.Length-j-1;

i++)

str=array[i];

array[i]=array[i+1];

array[i+1]=str;

6.比尔在教他的女儿面向对象的知识。

他写了一个类Bill和一个接口IPrintname。

现在他希望女儿能够写一个类Jennifer,继承自Bill,重写基类函数WhoAmI(),将输出改为“Jennifer”;

并且实现接口IPrintname,该接口只有一个方法Print,这个方法的实现会在控制台打印调用WhoAmI函数的结果(即:

“Jennifer”)。

publicclassBill

publicvirtualstringWhoAmI()

{

return"

Bill"

}

publicinterfaceIPrintname

voidPrint();

publicclassJennifer:

Bill,IPrintname

publicoverridestringWhoAmI()

Jennifer"

publicvoidPrint()

Console.WriteLine(WhoAmI());

7.下列Shape类是一个表示形状的抽象类,Area()为求图形面积的函数,Total()则是一个通用的用求不同形状的图形面积总和的函数。

请从Shape类派生矩形类(Rectangle)、圆形类(Circle),给出具体的求面积函数。

并在主函数中写出计算如图所示图形面积的语句。

(共10分)

namespacetest

classProgram

staticvoidMain(string[]args)

rectanglerec1=newrectangle(30,5);

rectanglerec2=newrectangle(30,5);

circlecir1=newcircle(6);

circlecir2=newcircle(6);

circlecir3=newcircle(6);

shape[]s=newshape[5];

s[0]=rec1;

s[1]=rec2;

s[2]=cir1;

s[3]=cir2;

s[4]=cir3;

Console.WriteLine(total(s));

staticdoubletotal(shape[]s)

doublesum=0.0;

intn=s.Length;

//for(inti=0;

n;

//sum+=s[i].area();

foreach(shapeshins)

{

sum+=sh.area();

}

returnsum;

abstractclassshape

publicabstractdoublearea();

classrectangle:

shape

doublea,b;

publicrectangle(doublex,doubley)

a=x;

b=y;

publicoverridedoublearea()

returna*b;

classcircle:

doubler;

publiccircle(doubler)

this.r=r;

return3.14*r*r;

第9页共9页

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2