C#语言基础——函数

Posted 这都不是事

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#语言基础——函数相关的知识,希望对你有一定的参考价值。

函数
一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其它函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
一、函数:能够独立完成某项功能的模块。
函数四要素:输入、输出、函数体、函数名
函数定义:
(static/public) 返回类型 函数名(参数类型 参数名,参数类型 参数名)
{
函数体
}
函数的调用:
返回变量类型 变量名 = 函数(实参值)
二、案例具体分析函数类型
用函数法求解阶乘的和,即1!+2!+3!+…+n!——四种函数类型

  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 }
View Code


三、例题
1、写一个函数,能够比较大小

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();
 }
 }
}
View Code


2、用函数的方法做兔子生兔子
 

 

以上是关于C#语言基础——函数的主要内容,如果未能解决你的问题,请参考以下文章

C# 最有用的(自定义)代码片段是啥? [关闭]

c#代码片段快速构建代码

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

是否可以动态编译和执行 C# 代码片段?

优化 C# 代码片段、ObservableCollection 和 AddRange

vscode用啥符号把某一段代码包起来,类似C#的#region?