函数 及小练习

函数:

程序中的函数:
什么是函数:一个独立的功能,比如,去饭店要土豆丝,不用管土豆丝怎么做的,只会吃就行。

没有人规定写程序一定要用函数,但是这是一种约定,能让自己更方便的约定。

函数的作用:提高代码的重用性,让代码的结构更加清晰;

函数的四种状态:

一、无返回值,无参数
public static void 函数名()
{
函数体
}

二、有返回值,无参数
public static 返回值类型 函数名()
{
上面一样的返回值类型 end = "";

return end;
}

三、无返回值,有参数
public static void 函数名(参数类型 变量名)
{
函数体
}

四、有返回值,有参数
public static int 函数名(int a, int b)
{
int c = a + b;
return c;
}

函数的注释:为了让第一次用的人知道这个函数是干什么的,需要哪些参数;
在函数的上一行,直接写三个/ : ///
会根据函数结构,自动生成以下注释内容:
/// <summary>
/// 针对于函数功能的介绍
/// </summary>
/// <param name="str">针对于传入参数的要求说明</param>
/// <returns>返回值的内容介绍</returns>
----------------------------------------------------------------------
一、
你好吗?
我很好,你呢?
我也很好!
那就好!
--------------------------
你好吗?
我很好,你呢?
我也很好!
那就好!
**************************
你好吗?
我很好,你呢?
我也很好!
那就好!
`````````````````````````
你好吗?
我很好,你呢?
我也很好!
那就好!

         public static void yi()
        {
            Console.WriteLine("你好吗?");
            Console.WriteLine("我很好,你呢?");
            Console.WriteLine("我也很好!");
            Console.WriteLine("那就好!");
        }
        static void Main(string[] args)
        {
            yi();
            Console.WriteLine("------------------------");
            yi();
            Console.WriteLine("*************************");
            yi();
            Console.WriteLine("``````````````````````````");
            Console.ReadLine();
         }

二、写一个函数,让这个函数返回 “今天中午吃啥?” 这句话;

        public static string er()
        {
            string a = "";
            Console.WriteLine("今天中午吃啥?");
            return a;//或者函数体直接写作  return "今天中午吃啥?";
        }
        static void Main(string[] args)
        {
            er();
            Console.ReadLine();
        }

三、往函数中添加一个参数,打印这个数 +10的结果;

        public static void san(int i)
        {
            int[] san = new[] { 1, 2, 3, 5, 7, 8, 34, 67, 88, 99, 100 };
            Console.WriteLine((san[i] + 10));
            //或者函数体直接写作  Console.WriteLine((i+10));
        }
        static void Main(string[] args)
        {
            san(6);
            Console.ReadLine();
        }

四、用户输入012,返回石头剪子布

        public static string si(int a)
        {
            string b = "";
            switch (a)
            {
                case 0: b = "石头"; break;
                case 1: b = "剪刀"; break;
                case 2: b = "布"; break;
                default: b = "输入有误!"; break;
            }
            return b;
        }
        static void Main(string[] args)
        {
            Console.Write("请输入手势(0/1/2):");
            int d = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(si(d));
            Console.ReadLine();
        }

五、三个数,返回这三个数的和

        public static void wu(int a, int b, int c)
        {
            Console.WriteLine((a + b + c));
        }
        static void Main(string[] args)
        {
            wu(3, 5, 8);
            Console.ReadLine();
        }

六、输入一个string数组,返回string,数组索引0-n全部内容的拼接

        public static string lv(string[] a)
        {
            string end = "";
            for (int i = 0; i < a.Length; i++)
            {
                end += a[i];
            }
            Console.WriteLine(end);
            return end;
        }
        static void Main(string[] args)
        {
            string[] a = new string[] { "我", "喜欢", "吃鱼", "!", "你", "呢" };
            lv(a);
            Console.ReadLine();
        }

七、创建一个学生结构体,姓名,性别,年龄,成绩,
需要一个函数,把一个学生的结构体变量传进来,返回“姓名:xxx,性别:xxx,年龄:xxx,成绩:xxx。”

        public struct Student            //第七题
        {
            public string Name;
            public string Sex;
            public int Old;
            public decimal score;
        }
        public enum Sex
        {
            男,
            女
        }
        public static string qi(Student ss)
        {
            string end = "";
            end = " 姓名:" + ss.Name + ",性别:" + ss.Sex + ",年龄:" + ss.Old + ",成绩:" + ss.score + "。";
            return end;
        }
        static void Main(string[] args)
        {
            Student s = new Student();
            s.Name = "小小";
            s.Sex = Sex.女.ToString();
            s.Old = 20;
            s.score = 99.99m;
            Console.WriteLine(qi(s));//第七题
            Console.ReadLine();
        }

八、传入一个字符串,返回“是纯数字”,“不是纯数字”

        public static string ba(string a)
        {
            string end = "";
            try
            {
                Convert.ToInt32(a);
                end = "是纯数字";
            }
            catch
            {
                end = "不是纯数字";
            }
            return end;
        }
        static void Main(string[] args)
        {
            string aa = "abcd12345";
            Console.WriteLine(ba(aa));

            Console.ReadLine();
        }

时间: 2024-10-07 07:15:58

函数 及小练习的相关文章

STL---对STL中的各类常用函数的小总结

STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Musser在惠普实验室工作时所开发出来的.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些"容器"有list,vector,set,map等,STL也是算法和其他一些组件的集合.这里的"容器"和算法的集合指的是世界

X86下,FF 25+ 导入表函数地址小测试

在X86下,JMP反汇编出来的FF 25加的是导入表的地址 测试代码如下: void JmpFunctionAddressOfImportTableInWinXP_X86() { DWORD dwOld = 0; ULONG_PTR v2 = 0; void* v1 = NULL; GetFunctionByImport_X86(GetModuleHandle(NULL), "MessageBoxA"); v1 = lpAddress; printf("%p\r\n"

php函数和小知识点

<?php //语句 //分支语句 /*$a=5; if($a==5) { echo "相等";} else { echo "budeng";}*/ //if //if...else //if...else..if //if的嵌套 /*switch($a) { case 1: echo "111"; break; case 2: echo "222"; break; case 3: echo "333"

如何做EL表达式能调用的函数-小例子(转)

先定义需要用el调用函数所在的类: 注意el所调用的方法必须是static的! Java代码 package com.qingsoft.el.function; public class CheckUsername { public static boolean check(Userinfo userinfo) { if(userinfo.getUsername().equals("admin")) { return true; } return false; } } 接下来定义tld

Scheme中lambda表达式与函数指针小例

SICP/Chapter2/Exercise-2.4 Lambda表达式语法 (lambda kw-formals body) 题目描述 用过程性表示方式重写序对的cons.car.cdr Scheme代码 (define (cons-24 x y) (lambda (m) (m x y))) (define (car-24 z) (z (lambda (p q) p))) 这段代码只有4行,但是逻辑关系并不好理解. 原因在于函数式语言的自顶向下实现方式不符合一般的逻辑习惯. lambda以类似

【C语言】 函数指针小谈

指针可以指向变量.数组,也可以指向函数,函数指针就是指向函数的指针 函数名实际是程序在内存中的起始地址.而指向函数的指针可以把地址传递给函数 也可以从函数返回给指向函数的指针.例如这个例子:通过一个函数求两个数的和 并通过函数指针调用该函数. #include<stdio.h> int sum(int a,int b);//求和函数的声明 void main() { int a,b; int (*fun)(int,int);//声明一个函数指针 printf("请输入两个整数:&qu

X64下 FF 25 + 00 00 00 00 + 导出表函数地址小测试

在X64的情况下,JMP反汇编出来的 FF 25 后面加的是 00 00 00 00 和导出表函数地址 测试代码如下: void JmpFunctionAddressOfExportTableInX64Using00() { DWORD OldProtect; ULONG_PTR v1 = (ULONG_PTR)GetProcAddress(LoadLibrary(L"user32.dll"), "MessageBoxA"); ULONG_PTR v2 = 0; p

使用函数的小细节

函数形参 建议尽量使用传引用调用,无需修改引用形参的值时就使用常量引用.(传值引用相当于拷贝一份实参的值给形参,在拷贝大的类对象或者容器对象比较低效,甚至有的类类型并不支持拷贝,函数只能通过引用形参访问该类型的对象)把函数不会改变的形参定义成(普通的)引用是一种比较常见的错误,这么做会给函数调用者一种误导,即函数可以修改它的实参的值.此外,使用引用而非常量引用也会极大地限制函数所能接受的实参类型.例如不能把 const 对象,字面值或者需要转换的对象传递给普通的引用形参. 如同所有的初始化一样,

DELPHI的 ShowMessage函数的小缺陷

今天我在XE7的IDE下调试我自己的LUA的时候发现个有意思的事情 我在LUA里调用一个DELPHI里绑定的函数 这个函数的原形如下 function lua_ShowMessage(l : PLua_State) : integer; cdecl; var n, i : Integer; msg : AnsiString; begin result := 0; n := lua_gettop(l); if n > 0 then begin msg := ''; for i := 1 to n

C语言写猜拳游戏中遇到的函数循环小问题

各位可能在初学C语言的时候都有写过猜拳游戏.但在写猜拳的函数时,避免不了会使用循环. 当函数被套在一个循环中的时候,你的计分变量可能就会被重置为函数体里的初始值.那么怎么解决这个问题? 其实很简单,你需要在循环体中加入一个累加变量,从而使得函数体的单循环计分通过main函数里的循环成为最后的总积分,并且由此来判断最终你的积分和输赢. 以下是我写的部分代码 ,欢迎指正! 1.函数体部分 int compare(int x,int y){ int j = 0;//函数外的每次循环会使得j的值初始化