C试题Word格式文档下载.docx

上传人:b****6 文档编号:18613518 上传时间:2022-12-29 格式:DOCX 页数:16 大小:21.80KB
下载 相关 举报
C试题Word格式文档下载.docx_第1页
第1页 / 共16页
C试题Word格式文档下载.docx_第2页
第2页 / 共16页
C试题Word格式文档下载.docx_第3页
第3页 / 共16页
C试题Word格式文档下载.docx_第4页
第4页 / 共16页
C试题Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C试题Word格式文档下载.docx

《C试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C试题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

C试题Word格式文档下载.docx

Console.WriteLine("

int:

i={0}"

i);

object:

obj={0}"

obj);

输出结果为

i=20;

obj=10;

 

5、说明下面给出了一些变量名的例子是合法的还是非法的

inti;

//合法

intNo.1;

//不合法含有非法字符

stringtotal;

charuse;

//不合法与关键字名称相同

char@use;

floatMain;

//不合法与函数名称相同

6、写出下面程序运行的结果

usingSystem;

enumWeekday

Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday

};

classTest

publicstaticvoidMain()

Weekdayday;

day=(Weekday)3;

Console.WriteLine(day);

程序的输出是

3

7、写出计算函数值

程序,尽量简短

floatx,y,z;

try{

z=Math.Sqrt(x*x-y*y);

}

catch{

z=Math.Sqrt(y*y-x*x);

finally{

z=z+x;

8、简述Coad与Yourdon方法的五个层次和四个组成部分(8、9、10任选一题目)

Coad与Yourdon在设计阶段继续采用面向对象分析阶段中提到的五个层次(对象、和类、结构、属性、服务和主题)这有助于从分析到设计的过渡。

按照Coad与Yourdon面向对象设计方法,在设计阶段中利用这五个层次,建立系统的四个组成成分:

问题论域,用户界面,任务管理和数据管理。

9、类的成员有哪几种类型

成员常量代表与类相关联的常量值

域即类中的变量

成员方法复杂执行类中的计算和其它操作

属性用于定义类中的值并对它们进行读写

事件用于说明发生了什么事情

索引指示器允许像使用数组那样为类添加路径列表

操作符定义类中特有的操作

构造函数和析构函数分别用于对类的实例进行初始化和销毁

10、同set访问器和get访问器写一个程序片段表示:

旅馆对住宿人员进行登记,要记录的信息有:

客人姓名、性别、所住的房间号、已住宿的天数。

这里,客人的姓名和性别一经确定就不能再更改了,用户可以要求改变房间,住宿的天数当然也是不断变化的。

程序清单

我们在类的构造函数中对客人的姓名和性别进行初始化,在四个属性中,客人的姓名和性别是只读的故只具有get访问器;

房间号和住宿天数允许改变同时具有set访问器和get访问器

publicclassCustomer

publicenumsex

man,

woman,

privatestrings_name;

publicstringName

get{

returns_name;

privatesexm_sex;

publicsexSex

returnm_sex;

privatestrings_no;

publicstringNo

returns_no;

set{

if(s_no!

=value){

s_no=value;

privateinti_day;

publicintDay{

returni_day;

if(i_day!

i_day=value;

publicvoidCustomer(stringname,sexsex,stringno,intday)

s_name=name;

m_sex=sex;

s_no=no;

i_day=day;

11、事件的预订是通过OkButton.Click+=newEventHandler(OkButtonClick);

来实现的那么事件的撤消是采用

OkButton.Click-=newEventHandler(OkButtonClick);

12、看下面的例子

abstractclassA

publicabstractvoidF();

sealedclassB:

A

publicoverridevoidF(){

//F的具体实现代码

如果我们尝试写下面的代码

classC:

B{}

请问是否会报错,如果报错请说明原因。

会报错

C#会指出这个错误告诉你B是一个密封类不能试图从B中派生任何类

13、读下列代码看是否有错误,如果有请指出,并写出正确的代码:

namespaceN1.N2

classA{}

namespaceN3

usingN1;

classB:

N2.A{}

错误内容:

N2.A{}//错误,N2未知

正确代码:

classB{}

usingN1.N2;

14、文件的同步操作和异步操作的区别在那里

同步和异步操作之间的主要区别:

在同步I/O操作中,方法将一直处于等待状态,直到I/O操作完成。

而在异步I/O操作中,在开始了I/O操作后,程序的方法可以转移去执行其它的操作,这样大大提高了程序执行的效率。

15、说说文件和流之间的区别和联系

文件(file)和流(stream)即有区别又有联系。

文件是在各种媒质上(可移动磁盘、硬盘、CD等)永久存储的数据的有序集合。

它是一种进行数据读写操作的基本对象。

通常情况下文件按照树状目录进行组织,每个文件都有文件名,文件所在路径,创建时间访问、权限等属性。

流非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象。

流为我们提供了连续的字节流存储空间,虽然数据实际存储的位置可以不连续,甚至可以分布在多个磁盘上,但我们看到的是封装以后的数据结构,是连续的字节流抽象结构。

这和一个文件也可以分布在磁盘上的多个扇区一样。

除了和磁盘文件直接相关的文件流以外,流有多种类型,流可以分布在网络中、内存中或者是磁带中。

16、程序清单

classVehicle//定义汽车类

publicintwheels;

//公有成员轮子个数

protectedfloatweight;

//保护成员重量

publicvoidF(){

wheels=4;

//允许访问自身成员

weight=10;

//允许访问自身成员

classtrain//定义火车类

publicintnum;

//公有成员车厢数目

privateintpassengers;

//私有成员乘客数

privatefloatweight;

//私有成员重量

num=5;

weight=100;

Vehiclev1=newVehicle();

v1.wheels=4;

//允许访问v1的公有成员

weight=6;

classCar:

Vehicle//定义轿车类

intpassengers;

V1.wheels=4;

V1.weight=6;

//允许访问v1的保护成员

根据上述代码中关于车辆的类的代码示例,请添加上构造函数,验证一下构造函数中参数的传递

publicVehicle(){;

publicVehicle(intw,floatg){

wheels=w;

weight=g;

publicvoidShow(){

Console.WriteLine(“thewheelofvehicleis:

{0}”,wheels);

Console.WriteLine(“theweightofvehicleis:

{0}”,weight);

publicTrain(){;

publicTrain(intn,intp,floatw){

num=n;

passengers=p;

weight=w;

Console.WriteLine(“thenumoftrainis:

{0}”,num);

Console.WriteLine(“theweightoftrainis:

Console.WriteLine(“thePassengerstraincaris:

{0}”,Passengers);

publicCar(intw,floatg,intp):

base(w,g)

newpublicvoidShow(){

Console.WriteLine(“thewheelofcaris:

Console.WriteLine(“theweightofcaris:

Console.WriteLine(“thePassengersofcaris:

publicstaticvoidMain(){

Vehiclev1=newVehicle(4,5);

Traint1=newTrain();

Traint2=newTrain(10,100,100);

Carc1=newCar(4,2,4);

v1.show();

t1.show();

t2.show();

c1.show();

程序的运行结果为:

thewheelofvehicleis:

theweightofvehicleis:

0

thenumoftrainis:

theweightoftrainis:

thePassengersoftrainis:

10

100

thewheelofcaris:

4

theweightofcaris:

2

thePassengersofcaris4

17、请解释一下析构函数及其作用,在C#语言中可否省略析构函数?

析构函数的名字与类名相同,只是在前面加了一个符号“~”。

析构函数不接受任

何参数,也不返回任何值。

如果你试图声明其它任何一个以符号“~”开头而不与类名相同的方法。

和试图让析构函数返回一个值一样,编译器都会产生一个错误。

在类的实例超出范围时,我们希望确保它所占的存储能被收回。

C#中提供了析构

函数,用于专门释放被占用的系统资源。

可以省略,而在C#中垃圾收集器会帮助我们完成析构函数做的工作。

18、已知一棵具有n个结点的完全二叉树被顺序存储于一维数组的A[1]-A[n]元素中,试编写一个算法打印出编号为i的结点的双亲和所有孩子。

主要程序清单如下:

voidRequest(intA[],intn,inti)

if(i>

n)

System.Windows.Forms.MessageBox.Show(“编号为”+i.ToString()+“的结点不存在!

”);

else

intj=i/2;

//下标为J的结点是下标为I的结点的双亲

if(j>

0)

{

System.Windows.Forms.MessageBox.Show(i.ToString()+“双亲编号为:

”+A[j].ToString());

else

System.Windows.Forms.MessageBox.Show(i.ToString()+“没有双亲结点”);

if(2*i<

System.Windows.Forms.MessageBox.Show(i.ToString()+“左子女是”+A[2*i].ToString());

System.Windows.Forms.MessageBox.Show(i.ToString()+“右子女是”+A[2*i+1].ToString());

elseif(2*i==n)

System.Windows.Forms.MessageBox.Show(i.ToString()+“没有右子女”);

System.Windows.Forms.MessageBox.Show(i.ToString()+“没有子女”);

19、下面的例子则用于删除当前目录下的所有文件

usingSystem.IO;

classFileTest

Areyousuretodeleteallthefilesincurrentdirectory?

"

Press'

Y'

thenentertocontinue,anyotherkeytoabort"

inta=Console.Read();

if(a=='

||a=='

y'

){

Deletingthefiles..."

else{

canceledbyuser"

return;

Directorydir=newDirectory("

."

foreach(Filefindir.GetFiles())

f.Delete();

把程序稍做改动,删除当前目录下的所有扩展名为.exe的文件

把最后一段代码改写为

foreach(Filefindir.GetFiles(“*.exe”))

20、下面的代码中利用Directory的CreateDirectory和CreateDirectories方法创建一级和二级子目录

classDirectoryTest

Directoryd=newDirectory("

c:

\\c#"

Directoryd1;

Directoryd2;

Try

d1=d.CreateSubdirectory("

file1"

catch(IOExceptione)

directoryfile1failedbecause:

{0}"

e);

try

d2=d.CreateSubdirectories("

file1\\file2"

//等于d2=d1.CreateSubDirectory("

file2"

directoryfile2failedbecause:

Createdirectorysuccessfully!

同样我们可以进行目录删除操作请写出程序清单:

\\c#\\file1"

Directory[]subdir;

subdir=d.GetDirectories();

catch(DirectoryNotFoundExceptione)

Cannotfindsuchadirectorybecause:

foreach(Directorydirinsubdir){

dir.Delete();

d.Delete();

Deletesuccessfully!

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

当前位置:首页 > PPT模板 > 商务科技

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

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