C#学习笔记(七)——第六章:函数

博文适用于编程小白,基于《叩响C#之门》,传送门:链接:https://pan.baidu.com/s/1y2UegjDUJz-xrOQu3qKMjQ 密码:4v2n
《叩响C#之门》通俗易懂,又不失专业性,比传统的《C#入门经典》《C#从入门到精通》这类书好的多,是一本不可多得的好教材。


C#学习笔记(一)——第一章:初识编程
C#学习笔记(二)——第二章:变量
C#学习笔记(三)——一、二章内容练习及一些杂项
C#学习笔记(四)——第三章:运算符和表达式
C#学习笔记(五)——第四章:流程控制
C#学习笔记(六)——第五章:枚举、结构体和数组(还没写好)
C#学习笔记(七)——第六章:函数
C#学习笔记(八)——第七章:面向对象编程(一)




  • 一个小例子
  • 返回值
  • 参数
    • 值传递
    • 地址传递
    • 引用型参数
    • 输出型参数
    • 可选参数
  • 变量作用域

一个小例子

拉姆基尔森公式写一个判断某年某月某日是星期几的程序。

复习一下书中第三章的一个计算某年某月某日是星期几的一个公式——基姆拉尔森公式

//y-年,m-月,d-日
week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;

即,知道年份,月份,日,可求得那天是周几。

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

namespace ConsoleApp7
{
    class Program
    {
        static string CacalateWeekDay(int y,int m,int d)
        {
            int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
            string weekstring = "";
            switch(week)
            {
                case 0: weekstring = "星期日";break;
                case 1:weekstring = "星期一";break;
                case 2:weekstring = "星期二";break;
                case 3:weekstring = "星期三";break;
                case 4:weekstring = "星期四"; break;
                case 5:weekstring = "星期五"; break;
                case 6:weekstring = "星期六"; break;
                default:break;

            }
            return weekstring;
        }
        static void Main(string[] args)
        {
            Console.WriteLine("请按年月日输入要查询的日期,以回车键结束:");
            int y = Convert.ToInt32(Console.ReadLine());
            int m = Convert.ToInt32(Console.ReadLine());
            int d = Convert.ToInt32(Console.ReadLine());
            string weekday = CacalateWeekDay(y, m, d);
            Console.WriteLine("{0}年{1}月{2}日是{3}", y, m, d, weekday);


        }
    }
}

C#学习笔记(七)——第六章:函数_第1张图片
C#学习笔记(七)——第六章:函数_第2张图片
C#学习笔记(七)——第六章:函数_第3张图片
C#学习笔记(七)——第六章:函数_第4张图片
C#学习笔记(七)——第六章:函数_第5张图片

返回值

C#学习笔记(七)——第六章:函数_第6张图片

看个例子

C#学习笔记(七)——第六章:函数_第7张图片
C#学习笔记(七)——第六章:函数_第8张图片
这里写图片描述

参数

值传递

地址传递

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

namespace ConsoleApp7
{
    class Program
    {
        //定义函数:把数组里所有元素加倍
        static void Doubling(int[] array)
        {
            for(int i=0;i<array.Length;i++)
            {
                array[i] = 2 * array[i];
            }
        }

        //在主函数中调用之
        static void Main(string[] args)
        {
            //定义数组
            int[] numbers = { 1, 2, 3, 4, 5 };

            //输出原数组numbers
            Console.Write("之前:");
            for(int i=0;i"\t" + numbers[i]);
            }

            //调用函数
            Doubling(numbers);

            //输出变换后的数组
            Console.Write("\n之后:");
            for (int i = 0; i < numbers.Length; i++)
            {
                Console.Write("\t" + numbers[i]);
            }
        }
    }
}

这里写图片描述

C#学习笔记(七)——第六章:函数_第9张图片

引用型参数

输出型参数

可选参数

变量作用域

C#学习笔记(七)——第六章:函数_第10张图片
C#学习笔记(七)——第六章:函数_第11张图片
C#学习笔记(七)——第六章:函数_第12张图片
这里写图片描述
C#学习笔记(七)——第六章:函数_第13张图片

你可能感兴趣的:(C#,编程语言)