|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!该教程合用于做高校PPT教程,PPT电子档下载:高校.net课件教程,.net基本教程下载(五)
申明:本教程是从下面的电子档中拷贝上去的,下文中一切的图片均未显现,如必要更好的浏览体验,请点击下面链接下载电子档。
本章要点:
1,办法的观点
2,办法的界说
3,办法的挪用
4,参数传送中的范例转换
5,参数的值传送和援用传送
6,办法的嵌套挪用与递回挪用
5.1循规蹈矩学实际
5.1.1C#中的程序模块——办法
5.1.2办法的界说
[格局]:办法润色符数据范例申明符办法名([情势参数申明列表])/*界说办法头*/
{变量、数组的界说语句;
别的可实行部分
}
【例5-1】编写一个办法,用来求恣意两个整数之间的一切数的平方和。
【例5-2】编写一个完成以下功效的函数:请求用户输出姓名,然后输入五行以下信息:“接待您,***同道。这里是C#编程天下!”
5.1.3办法的挪用
[格局1]:办法名([实践参数列表])
[格局2]:工具名.办法名([实践参数列表])
比方,上一章编程中利用的语句“randomObj.Next();”就是挪用工具randomObj的Next办法。
[格局3]:类名.办法名([实践参数列表])
【例5-3】编写程序挪用例5-1中的历程pfh。
【例5-4】编写程序挪用例5-2中的历程Welcome。
5.1.4参数传送中的范例转换
【例5-5】剖析以下程序的实行了局。
[程序代码]
usingSystem;
classA_5_5
{
staticfloatSqr(floatk)//参数为float型
{
return(k*k);
}
publicstaticvoidMain()
{
inty;floatyy;
y=6;
yy=Sqr(y);//挪用Sqr办法
Console.WriteLine("{0}的平方是{1}",y,yy);//输入
}
}
5.1.5参数的传送:值传送、援用传送和输入参数
所谓参数传送是指实参把数据传给形参的体例,C#中的参数传送可分红四种:值传送、援用传送、输入参数和参数数组。
1.值传送
当利用“值传送”的体例来传送参数时,实参把值复制一份传给形参,形参吸收了实参的值后与实参已不再存在任何接洽。
2.援用传送
当利用“援用传送”体例传送参数时,挪用者给了被挪用办法间接会见和修正挪用者的原始数据的权力。在办法中对形参举行修正也就修正了对应的实参,这类体例又称双向传送。
在C#中要经由过程援用体例传送数据,需利用关头字ref。利用办法是在界说办法时,在按援用传送的情势参数的范例申明符前加上关头字ref,在挪用办法时,在按援用传送的实践参数之前加上关头字ref。
3.输入参数
若将援用传送中的关头字ref用out交换,则参数就酿成了输入参数。也同意在被调办法中修正与输入参数绝对应的实参的值。输入参数一般用来指定由被挪用办法对参数举行初始化。
【例5-7】使用援用传送完成例5-6的功效。
5.1.6变量的性命期和感化域
1.变量的性命期
变量的延续周期(也称为性命周期)是指该变量在内存中存在的周期。
办法中的部分变量有一个主动的性命周期。主动性命周期变量是在程序实行抵达它们的声明语句时由程序主动创立的;也就是说,声明的程序块被激活时,它们存在;而在它们声明的程序块加入时,开释它们。我们把具有主动性命周期的变量称为主动变量或部分变量。
2.变量的感化域
变量可以利用的程序段称变量的感化域。
变量的感化域有以下划定规矩:
(1)在程序块中声明的部分变量或援用仅可在该程序块大概在嵌套于该程序块的程序块中被利用。
(2)类的成员具有类的感化局限而且在类的声明空间中能够被看到。
(3)当程序块嵌套于办法体中,而且在外层程序块中的一个标识符和内层程序块中界说的标识符有不异的名字时,将会发生毛病。
3.静态变量
静态变量是用static界说的变量,静态变量的性命周期是从界说它们的类被载进内存时入手下手,直到程序运转停止时为止。界说它们的类被载进内存时,就已为这些变量分派了存储空间,并对它们举行了初始化。但静态变量相称于部分变量,其感化域与部分变量不异。
usingSystem;
classA_5_8
{staticinta=3,b;//①
publicstaticvoidMain()//②
{intc=6;//③
a=a+2;b=b+2;c=c+2;//④
func1();//⑤Console.WriteLine("{0},{1},{2}",a,b,c);//⑥
}
staticvoidfunc1()
{intb=2,c=3;//⑦
a=a+2;b=b+2;c=c+2;//⑧
Console.WriteLine("{0},{1},{2}",a,b,c);//⑨
}
}
</p>5.1.7办法的嵌套与递回挪用
1.办法的嵌套挪用
【例5-9】编写一个函数求以下的函数值。
2.办法的递回挪用
【例5-10】多少团体排成一个队领苹果,已知第一团体的领的苹果数为1个,从第二团体入手下手每一个人领的苹果数是前一团体领的苹果数的2倍再加3,问第n团体领了几个苹果?
一样平常来讲假如某个成绩可以用递返来求解,该成绩必定可以回结成一个函数公式,如本题求第n团体领的苹果数,用函数apple(n)暗示,则本题的apple(n)可形貌以下。
从程序计划的角度来讲,递回历程必需办理两个成绩:一是递回盘算的公式,二是递回停止的前提。本题能够写成:
递回盘算公式:apple(n)=2*apple(n-1)+3n>1
递回停止前提:apple(1)=1
但凡可以暗示成上述式子的数学成绩都可以用递返来完成,在递回函数中一样平常可接纳双分支语句来完成:
if(递回停止前提)return(递回停止值);
elsereturn(递回盘算公式);
5.2典范实例练才能
5.2.1典范实例一:求孪生质数
【实例标题】
编写程序求出100以内的一切孪生质数,所谓孪生质数是指两个质数,它们的差为2,如5和7、11和13等都是孪生质数。请求:判别某数是不是为质数要用一个办法来完成,编写成Windows使用程序。程序的计划界面如-5所示,程序的运转界面如-6所示。
5.2.2典范实例二:校园歌手评分
【实例标题】
某黉舍要举行校园歌手年夜奖赛,如今要让盘算机为选手评分,评分准绳为:从多少个评委的打分中往失落一个最低分往失落一个最高分,剩下的得分取均匀便是选手的得分。请求:依据评委的打分求出选手的得分需编写成一个办法,请求编写成Windows使用程序。程序的计划界面如-7所示,程序的运转界面如-8所示。
5.3上机实习重使用
5.3.1上机实习一:求两个正整数的最至公约数与最小公倍数
【实习标题】
编写一个办法,该办法的功效是用展转除余法求两个数的最至公约数和最小公倍数。
5.3.2上机实习二:完成方阵转置
【实习标题】
编写一个办法用来把某方阵举行转置,然后挪用它举行考证。
也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。 |
|