hq金水

愿你是阳光,明媚不忧伤~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

知识点-----------函数

Posted on 2016-04-25 10:49  hq金水  阅读(172)  评论(0编辑  收藏  举报

函数

1、函数的功能只是为了让代码结构更加优化,除了递归,不能再解决新的问题,即以前用函数解决不了的,现在学了函数一样,没法解决。

2、函数的定义:

static  输出类型/返回类型     函数名  (输入类型/形参/实参)

{

运算

}

3、函数的调用:

在主函数中调用次函数

语法:

[数据类型  变量名]=函数名(空/实参)

注意:形参与实参一定要一一对应(个数、类型)

4、传值

是把a的值copy一下,扔到调用函数相对应的行参中,返回值可有可无,返回值是为了下次的应用。

一般基本类型(int,double,char,bool,DateTime)都是值类型,他们默认情况下会传值。

x的值变了,a的值不变。

程序代码:

  static void Main(string[] args)
        {
            int a = 10;
            Console.WriteLine(a);//10   1
            int b=Add(a);
            Console.WriteLine(a);//10
        }
        static int Add(int x)
        {
            Console.WriteLine(x);//10
            x++;
            Console.WriteLine(x);//11
            return x;
        }

    传址

把实参的地址传组函数的形参中去。形参与实参共用同一个数据空间。
一般引用类型(数组和字符串)都是传地址的。

x的值变了,那么a的值也变了。

程序代码:

   static void Main(string[] args)
        {
            int[] a = new int[3] { 3, 4, 5 };
            Add(a);
            foreach (int c in a)
            {
                Console.Write(c + "\t");
            }
        }
        static void Add(int []x)
        {
            for (int i = 0; i < x.Length; i++)
            {
                x[i] = x[i] + 100;
                Console.Write(x[i] + "\t");
            }
            Console.WriteLine();
            return ;
        }

 

5、函数的四种类型、累加求和

//无参无返

static void Main6575(string[]args)
{
//Console.WriteLine("请输入一个整数:");
//int a=Convert.ToInt32(Console.ReadLine());
Sum();
}
static void Sum()
{
Console.WriteLine("请输入一个整数:");
int a = Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i=1;i<=a;i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
}

 

//有参无返

static void Main43535435(string[] args)
{
Console.WriteLine("请输入一个整数:");
int a = Convert.ToInt32(Console.ReadLine());
Sum(a);
Console.WriteLine(a);
}
static void Sum(int x)
{
int Sum = 0;
for (int i = 1;i<=x;i++ )
{
Sum = Sum + i;
}
Console.WriteLine(Sum);
//return;
}

 

//无参有返

static void Main6576(string[] args)
{
int sum =Sum1();
Console.WriteLine(sum);
}
static int Sum1()
{ Console.WriteLine("请输入一个整数:");
int a=Convert.ToInt32(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
return sum;
}

//有参有返

static void Main1312(string []args) 
{
Console.WriteLine("请输入一个整数:");
int a = Convert.ToInt32(Console.ReadLine());
int b=Sum2(a);
Console.WriteLine("前{0}项的和是{1}",a,b);
}
static int Sum2(int x)
{
int sum = 0;
for (int i=1;i<=x;i++)
{
sum = sum + i;
}
//Console.WriteLine(sum);
return sum;
}