一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子函数这个概念,用子程序实现模块的功能。在C#中,子程序的作用是由一个主函数和若干函数构成。有主函数调用其他函数,其它函数也可以互相调用。同一个函数可以被一个或多个函数调用任意次数。
在程序设计中,尝将一些常用的功能模块编写成函数,放在函数中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。
class Program
{
//函数类型
//第一种 没有参数 没有返回值
public void leijia()
{
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
static void Main(string[] args)
{
//Program hanshu = new Program();//第一种类型的调用
hanshu.leijia();
}
class Program
{
//第二种 没有返回值 有参数
public void leijia(int a)
{
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
static void Main(string[] args)
{
Console.Write("请输入一个正整数:");//第二种调用
int a = int.Parse(Console.ReadLine());
Program hanshu = new Program();
hanshu.leijia(a);
}
class Program
{
//第三种 有返回值 有参数 在下文中有用的才给它返回一个值
public int leijia1(int b) 返回什么类型就用什么类型 返回的是sum
{
int sum = 0;
for (int i = 1; i <= b; i++)
{
sum += i;
}
return sum;
}
}
static void Main(string[] args)
{
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
Program hanshu = new Program();
int sum=hanshu.leijia1(a);//第三种类型调用
Console.WriteLine(sum);
Console.ReadLine();
}
class Program
{
//第四种 有返回值 没参数
public int leijia2()
{
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;
}
return sum;
}
}
static void Main(string[] args)
{
Program hanshu = new Program();
int sum = hanshu.leijia2();//第四种调用
Console.WriteLine(sum);
Console.ReadLine();
}
函数可多次调用,函数可以自己调用自己,也可以被别的函数调用
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();
}