函數
一個較大的程序通常應分爲若干個程序塊,每個模塊用來實現一個特定的功能。全部的高級語言中都有子程序這個概念,用子程序實現模塊的功能。在C#語言中,子程序的做用是由一個主函數和若干個函數構成。由主函數調用其它函數,其它函數也能夠互相調用。同一個函數能夠被一個或多個函數調用任意屢次。
在程序設計中,常將一些經常使用的功能模塊編寫成函數,放在函數庫中供公共選用。要善於利用函數,以減小重複編寫程序段的工做量。
1、函數:可以獨立完成某項功能的模塊。
函數四要素:輸入、輸出、函數體、函數名
函數定義:
(static/public) 返回類型 函數名(參數類型 參數名,參數類型 參數名)
{
函數體
}
函數的調用:
返回變量類型 變量名 = 函數(實參值)
2、案例具體分析函數類型
用函數法求解階乘的和,即1!+2!+3!+…+n!——四種函數類型ide
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 }
3、例題
一、寫一個函數,可以比較大小函數
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(); } } }
二、用函數的方法作兔子生兔子
spa