函数
一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其它函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
一、函数:能够独立完成某项功能的模块。
函数四要素:输入、输出、函数体、函数名
函数定义:
(static/public) 返回类型 函数名(参数类型 参数名,参数类型 参数名)
{
函数体
}
函数的调用:
返回变量类型 变量名 = 函数(实参值)
二、案例具体分析函数类型
用函数法求解阶乘的和,即1!+2!+3!+…+n!——四种函数类型
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 namespace 函数 2 { 3 class Program 4 { 5 /// <summary> 6 /// 第一种:无返无参 7 /// </summary> 8 public void jiehe() 9 { 10 Console.Write("输入一个正整数:"); 11 int a = int.Parse(Console.ReadLine()); 12 int sum = 0; 13 for (int i = 1; i <= a; i++) 14 { 15 int jie = 1; 16 for (int j = 1; j <= i; j++) 17 { 18 jie *= j; 19 } 20 sum += jie; 21 } 22 Console.WriteLine(sum); 23 Console.ReadLine(); 24 } 25 /// <summary> 26 /// 第二种:无返有参 27 /// </summary> 28 /// <param name="a"></param> 29 public void jiehe(int a) 30 { 31 int sum = 0; 32 for (int i = 1; i <= a; i++) 33 { 34 int jie = 1; 35 for (int j = 1; j <= i; j++) 36 { 37 jie *= j; 38 } 39 sum += jie; 40 } 41 Console.WriteLine(sum); 42 Console.ReadLine(); 43 } 44 /// <summary> 45 /// 第三种:有返有参 46 /// </summary> 47 /// <param name="a"></param> 48 /// <returns></returns> 49 public int jiehe1(int a) 50 { 51 int sum = 0; 52 for (int i = 1; i <= a; i++) 53 { 54 int jie = 1; 55 for (int j = 1; j <= i; j++) 56 { 57 jie *= j; 58 } 59 sum += jie; 60 } 61 return sum; 62 } 63 /// <summary> 64 /// 第四种:有返无参 65 /// </summary> 66 /// <returns></returns> 67 public int jiehe2() 68 { 69 Console.Write("输入一个正整数:"); 70 int a = int.Parse(Console.ReadLine()); 71 int sum = 0; 72 for (int i = 1; i <= a; i++) 73 { 74 int jie = 1; 75 for (int j = 1; j <= i; j++) 76 { 77 jie *= j; 78 } 79 sum += jie; 80 } 81 return sum; 82 } 83 static void Main(string[] args) 84 { 85 //与上面第一到四种函数相对应,main主函数中的写法 86 // 第一种:无返无参: 87 Program hanshu = new Program(); 88 hanshu.jiehe(); 89 // 第二种:无返有参: 90 Console.Write("输入一个正整数:"); 91 int a = int.Parse(Console.ReadLine()); 92 Program hanshu = new Program(); 93 hanshu.jiehe(a); 94 // 第三种:有返有参: 95 Console.Write("输入一个正整数:"); 96 int a = int.Parse(Console.ReadLine()); 97 Program hanshu = new Program(); 98 int sum = hanshu.jiehe1(a); 99 Console.WriteLine(sum); 100 Console.ReadLine(); 101 // 第四种:有返无参: 102 Program hanshu = new Program(); 103 int sum = hanshu.jiehe2(); 104 Console.WriteLine(sum); 105 Console.ReadLine(); 106 } 107 } 108 }
三、例题
1、写一个函数,能够比较大小
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
namespace Hanshu { class Program { /// <summary> /// 输入两个数比较大小,返回较大的 /// </summary> /// <param name="a"></param> /// <param name="b"></param> /// <returns></returns> public double Max(double a ,double b) { if (a > b) { return a; } else { return b; } } static void Main(string[] args) { //写一个函数,能够比较大小 //三个数比较大小 double a = 3; double b = 5, c = 2; Program hanshu = new Program(); double max = hanshu.Max( hanshu.Max(a, b),c); Console.WriteLine(max); Console.ReadLine(); } } }
2、用函数的方法做兔子生兔子