【2017-3-5】函数 递归
(一)函数的定义:
非常抽象,独立完成某项功能的独立个体。
作用:1提高代码的重用性
2提高功能开发的效率性
3提高程序代码的可维护性
函数分为 固定功能函数 高度抽象函数
函数的4要素:输入 输出 函数名 函数体
函数的多种形态:
1. 有参数有返回值
public static 返回值类型 函数名(需要的参数,可以多个,多种数据类型)
{
函数体
return 返回返回值类型的数据
}
2. 有参数无返回值的
public ststic void 函数名(参数)
{
函数体
}
3. 有返回值无参数的
public ststic int 函数名()
{
函数体
}
4. 无返回值无参数的
public static void()
{
函数体
}
(二) 返回两个值的情况
1. ref 调用外部变量,函数中对对变量的任何改变都会映射到变量本身。
例:public static int test ( ref int a , int b )
{
a = 5;
retrun a + b ;
}
static void Main ( string [ ] arg s )
{
int i = 2 ;
int j = 10;
int c = program.test (ref i , j )
Console.WriteLine( i );
Console.WriteLine( c );
}
输出结果 i = 5
c = 15
2. out 在函数方法中只出不进,不将值带入方法内部,但能够将内部的值带出。
例:public static int test ( out int a , int b )
{
a = 5;
retrun a + b ;
}
static void Main ( string [ ] arg s )
{
int i = 0 ;
int j = 10;
int c = program.test (ref i , j )
Console.WriteLine( i );
Console.WriteLine( c );
}
输出结果 i = 5
c = 15
(三)递归
递进去,归还回来的过程
使用的方法:函数调用它本身
菲波那契数列练习:
class Program { public static void va( int a,int b) { int c = a + b; if (c > 10000) { return; } Console.WriteLine(c+","); va(b,c); } static void Main(string[] args) { int a = 1; int b = 1; Program.va(a,b); Console.ReadLine(); } }