【2017-03-05】函数基础、函数四种结构、ref和out参数、递归

一、函数基础

1、函数/方法:
非常抽象
独立完成某项功能的一个个体

2、函数的作用:

提高代码的重用性
提高功能开发的效率
提高程序代码的可维护性

3、分类

固定功能函数
高度抽象函数

4、函数四要素:
输入,输出,函数体,函数名。(函数体、函数名必须有,输入、输出不是必须有的!)

5、格式

public static 返回值类型 函数名(输入值类型参数,第二个,第三个,int a,string b)

{

return 上面的返回值类型

}

注:函数也是放在Main函数之外,在Class之内。花括号之内的为函数体。

6、函数基础练习题

(1)

定义一个函数,需要用户输入一个姓名
输出 “xxx,你好啊!”

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 练习1
{
    class Program
    {
        public static string 你好(string a)
        {

            string b = a + "你好啊";
            return b;
        }

        static void Main(string[] args)
        {
            Console.Write("请输入您的姓名:");
            string a = Console.ReadLine();
            string c = Program.你好(a);
            Console.Write(c);
            Console.ReadLine();
        }
    }
}

(2)

定义一个函数,需要用户输入两个姓名
输出“xxx和xxx你们的缘分指数是(1-100),散了吧/缘分不错!”

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 练习2
{
    class Program
    {
        public static string yf(string a, string b)
        {

            Random r = new Random();
            int c= r.Next(1, 101);
            string d;
            if (c < 50)
                d = a + "和" + b + "你们的缘分指数是" + c + ",不合适,散了吧!";
            else
                d = a + "和" + b + "你们的缘分指数是" + c + ",凑合过吧!";
            return d;
        }

        static void Main(string[] args)
        {
            Console.Write("请输入第一个姓名:");
            string a = Console.ReadLine();
            Console.Write("请输入第二个姓名:");
            string b = Console.ReadLine();
            string d = Program.yf(a,b);
            Console.Write(d);
            Console.ReadLine();
        }
    }
}

(3)

定义一个函数,计算乘除,需要用户输入两个数和一个运算符
按照输入的运算符,对两个数进行相对的运算,输出结果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 练习3
{
    class Program
    {
        public static double 计算(int a, int b, string c)
        {
            int d = 0;
            if (c == "*")
                d = a * b;
            else if (c == "/")
                d = a / b;
            return d;
        }

        static void Main(string[] args)
        {
            Console.Write("请输入第一个数:");
            int a = Convert.ToInt32(Console.ReadLine());

            Console.Write("请输入第二个数:");
            int b = Convert.ToInt32(Console.ReadLine());

            Console.Write("请输入运算符*或/:");
            string c = Console.ReadLine();
            double d = Program.计算(a, b, c);
            Console.Write(d);
            Console.ReadLine();
        }
    }
}

(4)

猜拳方法
定义一个猜拳方法,返回比试结果,需要输入两个手势
手势可以是0 1 2

输出结果:“选手1的手势是石头,选手2的手势是包袱,选手2获胜!”
“手势有误!”

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 练习4
{
    class Program
    {
        public static string 猜拳(int a, int b)
        {
            //0-剪刀,1-石头,2-布
            string c = "";
            string d = "";
            string e = "";
            if (a >= 0 && a <= 2 && b >= 0 && b <= 2)
            {
                if (a == 0)
                    c = "剪刀";
                else if (a == 1)
                    c = "石头";
                else if (a == 2)
                    c = "布";
                if (b == 0)
                    d = "剪刀";
                else if (b == 1)
                    d = "石头";
                else if (b == 2)
                    d = "布";
                if ((a - b == 1) || (a - b == -2))
                    e = "选手1的手势是" + c + "选手二的手势是" + d + "选手一获胜!";
                else if ((b - 1 == 1) || (b - a == -2))
                    e = "选手1的手势是" + c + "选手二的手势是" + d + "选手二获胜!";
            }
            else
                e = "输入有误!";
            return e;
        }
        static void Main(string[] args)
        {
            Console.Write("请输入第一个手势(0、1、2):");
            int a = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入第二个手势(0、1、2):");
            int b = Convert.ToInt32(Console.ReadLine());

            string f = Program.猜拳(a, b);
            Console.Write(f);

            Console.ReadLine();
        }
    }
}

函数的多种形态:
1、有参数,有返回值(上文的例子)
2、无参数,无返回值

3、有参数,无返回值

4、无参数,有返回值

函数返回多个值的办法:
ref - 可出可进                ref 调用外部变量

out - 只出不进

递归:
递进去,归还回来的一个过程
使用的方法:
函数调用它本身

函数一遇到return就会立即停止后面代码的执行,跳出函数,执行调用本身后面归还的代码。

时间: 2025-01-11 17:21:22

【2017-03-05】函数基础、函数四种结构、ref和out参数、递归的相关文章

速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

[源码下载] 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函数返回值 可变函数 匿名函数 闭包函数 回调函数 示例1.函数的相关知识点 1(基础)function/function1.php <?php /** * 函数的相关知识点 1(基础) */ // 可以在相关的 function 声明语句之前调用该函数 f1(); function f1() { echo "f1"; echo "<br />"; } // 这里调用

【2017-03-09】SQL Server 数据库基础、四种约束

一.数据库和内存的区别 数据库:一些存储在硬盘上的数据文件 内存:计算机临时存储的一些数据 二.常用数据库 .Net - SQL Server PHP - MySql Java - Oreacl 三.SQL Server使用方法 1.新建数据库 右键点击"数据库",点击"新建数据库".在弹出的页面中给新建数据库起名字,点击确认. 2.新建表 找到新建的数据库,右键点击新建数据库中的"表",点击"新建表".编辑列名,数据类型 数

获得内核函数地址的四种方法

本文以获取内核函数 sys_open()的地址为例.   1)从System.map文件中直接得到地址:      $ grep sys_open /usr/src/linux/System.map      2)使用 nm 命令:      $ nm vmlinuz | grep sys_open      3)从 /proc/kallsyms 文件获得地址:      $ cat /proc/kallsyms | grep sys_open      4)使用 kallsyms_lookup

【Python学习】函数参数传递方法四种(位置,关键字,默认值,包裹位置,包裹关键字传递)

1. 位置传递: #--coding:utf-8-- def send(name,address): return 'package is sent to %s, located in %s' %(name, address) print(send('winnie','shanghai')) 2. 关键字传递 def run(name,length, date): return '%s ran %s on %s' %(name,length,date) #关键字传递时,可以无视参数顺序,名字对了

C++语言基础(24)-四种类型转换运算符(static_cast、dynamic_cast、const_cast和reinterpret_cast)

一.static_cast static_cast 只能用于良性转换,这样的转换风险较低,一般不会发生什么意外,如: #include <iostream> #include <cstdlib> using namespace std; class Complex{ public: Complex(double real = 0.0, double imag = 0.0): m_real(real), m_imag(imag){ } public: operator double(

函数,函数的四种定义,

函数 1.函数的关键字  function 复习 var 是js的关键字,用于表示声明变量,声明是在内存模块完成,定义(=)是执行模块完成. var 客园在内存模块提前(js代码执行前)完成所以有变量提升这个功能. function 也是js1的关键字,用于声明和定义函数的,声明和定义都在内存模块完成. function 也是内存模块提前完成,所以有函数提升这个功能. 变量提升和函数提升 都叫预解释.都是浏览器的. 2,函数的定义:函数具有一定的功能的代码块. 函数是通过function 定义的

函数基础之定义,三种形式,返回值

函数基础 函数的定义 函数是一种思想. 在程序中,函数就是具备某一功能的功能,事先讲工具准备好就是函数的定义,遇到场景拿来就用就是函数的调用. 为何用函数 我们如果过不使用函数的话,写程序时将会遇到三个问题: 1.程序冗长 2.程序的扩展性差 3.程序的可读性差 如何使用函数 定义函数 先定义函数,后调用: 定义函数 def 函数名(param1,param2....): """ 函数功能的描述信息 :param1 描述 :param2 描述 :return 返回值 code

PHP页面间参数传递的四种方法详解

2016-04-16 定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.--------------------------------------------------------------------------------第一种:使用客户端浏览器的cookie.cookie很容易理解,就是一个临时文件,可以把它看成一个储藏室,浏览器在浏览的过程中记录一些信息,就暂时存放在这里.在page01中设置一个coo

第七章、函数基础之定义函数的三种方式03

目录 第七章.函数基础之定义函数的三种方式03 一.无参函数 二.有参函数 三.空函数 第七章.函数基础之定义函数的三种方式03 一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介 在函数阶段括号没有参数就是无参函数.调用时不需要传入实参 如果函数体代码逻辑不需要依赖外部传入值,必须定义成无参函数 def func(): print('hello nick') func() # hello nick 二.有参函数 在函数阶段括号有参数就是有参函数.调用时需要传入实参 如果函数体代码逻辑需