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);


        }
    }
}

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

返回值

这里写图片描述

看个例子

这里写图片描述
这里写图片描述
这里写图片描述

参数

值传递

地址传递

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<numbers.Length;i++)
            {
                Console.Write("\t" + numbers[i]);
            }

            //调用函数
            Doubling(numbers);

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

这里写图片描述

这里写图片描述

引用型参数

输出型参数

可选参数

变量作用域

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值