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

 namespace 函数
{
class Program
{
/// <summary>
/// 第一种:无返无参
/// </summary>
public void jiehe()
{
Console.Write("输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = ;
for (int i = ; i <= a; i++)
{
int jie = ;
for (int j = ; j <= i; j++)
{
jie *= j;
}
sum += jie;
}
Console.WriteLine(sum);
Console.ReadLine();
}
/// <summary>
/// 第二种:无返有参
/// </summary>
/// <param name="a"></param>
public void jiehe(int a)
{
int sum = ;
for (int i = ; i <= a; i++)
{
int jie = ;
for (int j = ; j <= i; j++)
{
jie *= j;
}
sum += jie;
}
Console.WriteLine(sum);
Console.ReadLine();
}
/// <summary>
/// 第三种:有返有参
/// </summary>
/// <param name="a"></param>
/// <returns></returns>
public int jiehe1(int a)
{
int sum = ;
for (int i = ; i <= a; i++)
{
int jie = ;
for (int j = ; j <= i; j++)
{
jie *= j;
}
sum += jie;
}
return sum;
}
/// <summary>
/// 第四种:有返无参
/// </summary>
/// <returns></returns>
public int jiehe2()
{
Console.Write("输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = ;
for (int i = ; i <= a; i++)
{
int jie = ;
for (int j = ; j <= i; j++)
{
jie *= j;
}
sum += jie;
}
return sum;
}
static void Main(string[] args)
{
//与上面第一到四种函数相对应,main主函数中的写法
// 第一种:无返无参:
Program hanshu = new Program();
hanshu.jiehe();
// 第二种:无返有参:
Console.Write("输入一个正整数:");
int a = int.Parse(Console.ReadLine());
Program hanshu = new Program();
hanshu.jiehe(a);
// 第三种:有返有参:
Console.Write("输入一个正整数:");
int a = int.Parse(Console.ReadLine());
Program hanshu = new Program();
int sum = hanshu.jiehe1(a);
Console.WriteLine(sum);
Console.ReadLine();
// 第四种:有返无参:
Program hanshu = new Program();
int sum = hanshu.jiehe2();
Console.WriteLine(sum);
Console.ReadLine();
}
}
}

三、例题
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 = ;
double b = , c = ;
Program hanshu = new Program();
double max = hanshu.Max( hanshu.Max(a, b),c);
Console.WriteLine(max);
Console.ReadLine();
}
}
}

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

最新文章

  1. ArcGIS Engine开发之量测功能
  2. Oracle视图时间戳转为Date
  3. mybatis+oracle添加一条数据并返回所添加数据的主键问题
  4. hdu 5340 Three Palindromes
  5. 归并排序 空间复杂度为O(1)的做法
  6. Tomcat内存设置详解
  7. 我对Burnside定理的理解
  8. billing是如何的拆分的?
  9. ExtJs4 笔记(12) Ext.toolbar.Toolbar 工具栏、Ext.toolbar.Paging 分页栏、Ext.ux.statusbar.StatusBar 状态栏
  10. vSphere HA状况:未知配置错误解决的方法
  11. 【Linux】文件存储结构
  12. RestTemplate 支持服务器内302重定向
  13. Android性能优化-内存泄漏的8个Case
  14. MidoNet 安装(Kilo RDO)(最老版)
  15. CentOS下多网卡绑定bond/多网卡聚合
  16. AbtestingGateway 复制请求到其他服务上
  17. 【例子】log4j.properties例子讲解
  18. python 之 基础
  19. opengl 实体和网格绘图函数(基础)(转)
  20. cacti安装

热门文章

  1. EasyPR--开发详解(6)SVM开发详解
  2. CSS样式表分类
  3. Failed to stop iptables.service: Unit iptables.service not loaded.
  4. Android笔记——Handler Runnable与Thread的区别
  5. WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
  6. 带搜索的ComboBox
  7. ASP.NET Core管道深度剖析(2):创建一个&ldquo;迷你版&rdquo;的管道来模拟真实管道请求处理流程
  8. mysql大小写敏感与校对规则
  9. 浅析MySQL基于ROW格式的二进制日志
  10. .Net 序列化(去除默认命名空间,添加编码)