函数
一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在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、用函数的方法做兔子生兔子

C#语言基础——函数的更多相关文章

  1. 黑马程序员——C语言基础 函数

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)函数的定义 1> 任何一个C语言程序都是由一个或者多个程序段( ...

  2. C语言基础--函数

    函数概念: 1. C语言程序是由函数组成 2. 什么是函数? 函数就是一段具备特定功能的程序段 定义函数的目的: 定义函数的目的: 将一个功能封装以来方便复用 不使用函数的弊端: 1.重复代码太多, ...

  3. C语言基础:函数指针 分类: iOS学习 c语言基础 2015-06-10 21:55 15人阅读 评论(0) 收藏

    函数指针:指向函数的指针变量. 函数名相当于首地址. 函数指针定义:返回值类型  (*函数指针变量名)(参数类型1,参数类型2,....)=初始值 函数指针类型:返回值类型  (*)(参数类型1,参数 ...

  4. C语言基础:函数(Function) 分类: iOS学习 c语言基础 2015-06-10 21:48 14人阅读 评论(0) 收藏

    函数:一段具有某些特定功能的代码段. 使用函数的严格规定: 1.函数声明 2.函数定义 3.函数调用 函数声明:告知系统编译器该系统的函数名,函数参数,参数类型,参数个数,参数顺序等等,以便函数调用时 ...

  5. Java之--Java语言基础组成—函数

    Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...

  6. Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数 ...

  7. 第二十三节:Java语言基础-详细讲解函数与数组

    函数 函数在Java中称为方法,在其他语言中可能称为函数,函数,方法就是定义在类中具有特定功能的程序.函数,在Java中可称为方法. 函数的格式: 修饰符 返回值类型 函数名(参数类型 参数1, 参数 ...

  8. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

  9. GO学习-(12) Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...

随机推荐

  1. ValueInjecter----最好用的OOM(以微信消息转对象举例)

    使用数据实体的好处我这里就不多说了,但大家享受这些好处的时候,难免也对那些琐碎的赋值代码感到厌烦,基于此,我认为掌握一个oom的使用,还是很有必要的. 这种类型的工具有很多,比如automapper, ...

  2. Go语言实战 - 网站性能优化第一弹“七牛云存储”

    由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...

  3. Rxjava Subjects

    上次提到调用observable的publish和connect方法后可以将一个Observable发出的对象实时传递到订阅在上的subscriber. 这个和Rxjava中Subject的概念十分相 ...

  4. JavaScript版拼图小游戏

    慕课网上准备开个新的jQuery教程,花了3天空闲时间写了一个Javascript版的拼图小游戏,作为新教程配套的分析案例 拼图游戏网上有不少的实现案例了,但是此源码是我自己的实现,所以不做太多的比较 ...

  5. Android ButterKnife配置使用

    ButterKnife在GitHub的地址:https://github.com/JakeWharton/butterknife 最新的版本是:8.4.0 app 模块的build.gradle: a ...

  6. 如果你想深刻理解ASP.NET Core请求处理管道,可以试着写一个自定义的Server

    我们在上面对ASP.NET Core默认提供的具有跨平台能力的KestrelServer进行了详细介绍(<聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer& ...

  7. scikit-learn Adaboost类库使用小结

    在集成学习之Adaboost算法原理小结中,我们对Adaboost的算法原理做了一个总结.这里我们就从实用的角度对scikit-learn中Adaboost类库的使用做一个小结,重点对调参的注意事项做 ...

  8. highlight.js 代码高亮插件

    官网:https://highlightjs.org/ API:http://highlightjs.readthedocs.org/en/latest/api.html 1. 简单使用: <l ...

  9. 一行代码引入 ViewPager 无限循环 + 页码显示

    (出处:http://www.cnblogs.com/linguanh) 前序: 网上的这类 ViewPager 很多,但是很多都不够好,体现在 bug多.对少页面不支持,例如1~2张图片.功能整合不 ...

  10. 《HelloGitHub月刊》第09期

    <HelloGitHub>第09期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 前言 转眼就到年底了,月刊做到了第09期,感谢大家一路的支持和帮助