注意:【】里的是吐槽的话,不重要,可以不看
目录
结语:C语言学习中,如文章中有错误,希望您能海涵,并敬请您的指正。
引言--什么是函数?
多年以后,一位头秃的程序员面对着屏幕上无报错显示但无法运行的某个算法函数而抓耳挠腮时,一定会回想起他在小学二年级课堂上第一次认识函数的那个遥远的下午。
所以到底什么是函数呢?用大白话讲,函数就是给它传入某一个值(多元函数的情况下是传入多个值),它会再返回给你另一个值,例如,函数y=x+114514,我把x=0传入给它,那么它就会返回给我114514这个数据。C语言的函数同样是如此,但是除了这些,C语言里的函数也有奇葩存在,有不给你返回值的函数,也有不要传入值的函数,下面,我们开启函数之旅吧!【棒读】
一、函数框架的创建
如果你想要创建一个函数,那么你首先要给这个函数取一个名字,命名规则:只能用数字、大小写字母、下划线这三个好基友进行排列组合构成,三个好基友不必都用,但取名时不能将数字作为函数名的第一个字符。孩子的名字取好了,我们就要给函数像定义一个变量那样定义一个函数类型,那有人就要问了,哎呀,这个函数类型有什么用啊?【棒读】,函数类型关系着函数返回给我们的值的类型,即返回值的类型,比如说,你要创造的是计算阶乘的函数,那么你肯定希望这个函数返回给你一个整数(就是阶乘的结果),那我们就定义这个函数为int类型的就好了嘛。定义了函数类型,我们就来到第三步,设置传入参数的个数及类型,还是以计算阶乘为例,这个函数仅需要知道算谁的阶乘就可以了,那么就只需要一个参数,并且这个参数的类型是int类型,当然,这个参数也要有名字哦。
根据上述三步,我们就把一个函数的框架做好了,如图所示:
int LiLongDan(int a)//计算阶乘
{
//{}里面填的是函数内容
}
读者,有没有感到匪夷所思,我们创造了计算阶乘的这个函数的框架,但是这个二蛋作者居然把函数取名为LiLongDan,这合法吗?合法,但是,这道德吗?并不道德。耶稣见了这个函数名也猜不到他是算阶乘的,所以,起一个正确合理的名字,让别人观其名而立马知其用,是一个程序员最基本的素养。那我们赶快改一下。
int Factorial (int a)//阶乘的英文是Factorial,这样函数的功能是不是一目了然呢
{
;
}
这样是不是就顺眼多了?而且还上档次了呢。
(顺便给出函数的框架,如下图,看不懂可以选择无视)
return_type fun_name(形式参数)
{
;//函数内容
}
接下来,我们就要编辑函数里的内容了。
二、函数内容的编写
还是以阶乘为例,如何在函数内部编写代码实现函数功能呢?我们不妨类比一下,先写一个只利用主函数实现阶乘计算的代码,如下图所示。
#includ