C语言(四)函数

 函数:

1、函数的定义

2、形参、实参

3、函数的公式

4、无参无返回值 函数 函数的调用

5、无参有返回值 函数 函数的调用

6、带参无返回值 函数 函数的调用

7、带参有返回值 函数 函数的调用

8、变量的作用域I



1、函数的定义:具备某些功能的代码块,有自己的名字,有自己的功能。**函数可以称为方法。

 只要有函数(方法),可以在任何地方(其他的函数(方法))使用。

 好处:优化精简代码,模块化,提高可阅读性,复用性强,可维护性强。


 2、形参、实参

 形参:形式参数,媒介

 实参:实际参数,真正需要的内容

    (形参会把实参的值拷贝到这个函数里面)


 3、函数的公式

 有返回值(结构体 数据 基本数据类型...)

 无返回值,用viod 空

 (参数列表) 可以写任意多的参数,每一个参数用逗号隔开


 返回数据类型 函数名(参数列表){

 功能代码

    }


 一定要在调用函数上面(为了让编译器知道有这个函数)

 4、无参无返回值 函数 函数的调用

 公式:

 void 函数名(){

 功能代码

    }

 不需要得到结果,也不需要提供给它任何东西

 函数的调用:(无参无返回值)在需要这个函数的地方

     函数名();即可使用

        (有参):函数名(具体的值);

 每一个函数都是独立的整体,不能写在另外一个函数体里面

 void walk(){

        printf("走\n");

    }

 6、带参无返回值 函数 函数的调用

 参数:向外面函数要个东西,使用后调用可以变参数得不同结果。

 void 函数名(参数列表){

 功能代码

    }


 void walk(char *who){

    printf("%s走\n",who);

    }

    who是形参

 带参无返回值函数的调用:函数名(实参 具体的值);

 无参数的函数,里面只能是固定的内容

 有参数的函数,根据传入的参数内容去发生改变。

5、无参有返回值 函数 函数的调用

    1、return:(1)跳出函数 (2)并且如果是有返回值的函数,还会携带一个具体的值(3)把返回的值交给调用的地方使用

 注意:不要在跳出函数的后面(return)写功能代码,没任何意义,不会去执行,因为已经跳出。

    2、返回值:(1)return携带的值就是返回值(2)是一个具体的值是一个有实际值的变量(3)

 有返回值无参函数公式:

 返回值类型 函数名(){

 功能代码

 return与返回值类型相同的参数;

 }

有返回值有参数的函数公式,会跟调用的地方一样,要一些参数,加工完毕之后给调用的地方一个结果


 返回值char*代表message()它的数据类型;

 eg:char*message(){

 char*c="今天光棍节!";

 return c;

} 有返回值函数在使用的时候,它等价于它的返回值,即(eg:中)怎么去使用c就怎么去使用message()函数。

 使用条件:只需要一个计算的结果无需要指定条件

 目的:给调用函数的地方一个结果(给别人一个东西)不跟外部函数要参数只提供给调用函数一个具体值

 调用:函数名();调用的时候这个函数就是一个具体的值

char*chouJiang(){

     char*prizes[4]={"iPhone7","iPhone6s","iPhone6p","谢谢惠顾"};

     int rand=arc4random()%4;

     return prizes[rand];

 }



typedef struct Bag{

 char *color;

 char *name;

 int price;

}Bag;

Bag chooseBag(Bag list[3]){


 int rand = arc4random()%3;


 return list[rand];

}

 int main(int argc, const char * argv[]) {

 char*m=message();

 printf("%s\n",m);

 printf("恭喜您抽到了%s\n",chouJiang());


Bag lv = {"暖红色","LV包",99};

 Bag xiaoShuBao;

xiaoShuBao.price = 38;

    xiaoShuBao.name = "葫芦娃包";

    xiaoShuBao.color = "蓝色";


 Bag lvXingBao = {"迷彩色","骆驼包",600};


 Bag list[3] = {lv,xiaoShuBao,lvXingBao};


 Bag result = chooseBag(list);

 printf("恭喜 您抽到了 一个价值%d钱 %s颜色 的%s\n",result.price,result.color,result.name);


 return 0;

 }







 输入季节编号,进入某个季节的方法

 void loginSeason(){

        printf("请选择想穿越的季节:1、春天\n2、夏天\n3、秋天\n4、冬天\n");

 char *seasons[4] = {"春天","夏天","秋天","冬天"};

 int num = 0;

scanf("%d",&num);

        printf("恭喜您已经进入%s",seasons[num-1]);

    }

 乘法口诀函数

 void cfkj(){

 int i,j;

 for(i=1;i<=9;i++)

    {

 for(j=1;j<=i;j++)

        {

printf("%d*%d=%d ",j,i,i*j);

        }

printf("\n”);

               }

               }

 输入两个数字相加的函数

 void he(){

 int a,b;

        printf("请输入两个数字,我帮你求和\n");


    }



void flowers( char *flow[5]){

 for (int i=0; i<5; i++) {

 printf("让%s开花\n",flow[i]);

        }

}




#include 


int main(int argc, const char * argv[]) {

    walk();

    loginSeason();

    cfkj();

    he();


char *flow[5]={"水仙花" ,"月季花","牡丹花","菊花","百合花"};

    flowers(flow);

char *f[5]={"水仙花" ,"月季花","牡丹花","菊花","百合花"};

    flowers(f);


 return 0;

}

你可能感兴趣的:(C语言(四)函数)