开胃小菜:从学习C语言开始,我们接触的第一个函数就是 main函数,叫作主函数,即为项目的入口点。一个项目允许有多个文件,但是只能有一个 main()函数,否则就会报错。因为以后写项目,绝对不止一个文件,运行的时候总不能一个一个的查吧,所以它直接找 main() 函数,从他开始。
函数这玩意有什么用?
-
理论一概没有,直接上例子,假如你现在是一个打王者超级六的小学生,因为有未成年防沉迷系统,你这周六打了三把王者,评分依次是 12.5,9.5,10.0 。到了下周六,你又打了三把,评分依次是8.9,12.0,8.0 。到了下下周六,你又又打了三把,评分依次是8.9,12.5,10.0 ,现在你想看看自己的平均实力,需要计算一下自己的均分,不用计算器,不用口算,直接C语言,于是你写了下面的代码。
-
这样的计算结果显然没有问题,但是你是否注意到,是不是这样就像个傻子一样明明都是 三个数相加然后除以三,都是相同的代码,你写了三遍,写完花都谢。
-
太麻烦怎么办? 函数 闪亮登场,这里的函数可不是高中说的x,y什么的,这里可以理解为是一个工具。比如:上述例子中既然都是求均分,他们的计算方法都相同,那就直接把这个算法在函数中写出来,之后想用直接调用,更加方便。
-
那么你说函数有什么用?直接看代码,代码数量减少,执行效率提高。说的直接一点,一次定义,终生调用。
函数这玩意怎么写?
#include<stdio.h> //这是头文件,最基础的就不多说了
int sum (int number_1, int number_2); //这一步是预定义函数,告诉主函数一会可能会用到这个函数,结构是:函数返回值类型 函数名(参数类型 参数名,参数类型 参数名,参数类型 参数名...);
int main(void) {
sum(23,89); //函数的调用,里面放入与函数形参对应的类型的实参
return 0;
}
//函数主体,里面有相应的算法,对应这里的算法就是两数相加:number_1+number_2
sum(int number_1, int number_2) {
printf("sum=%d\n", number_1+number_2);
}
}
运行结果:sum=112
简单地说,就是两步骤,第一声明函数,格式为:函数返回值类型 函数名(参数类型 参数名,参数类型 参数名,参数类型 参数名...);
,函数名要做到见名知意,几个参数看具体情况。第二定义函数,最好放于 main()函数之后再写,里面涉及具体的函数功能。求和那就将参数相加,求差那就将参数相减…
总结
函数讲究复用性,函数写的越好,复用性就越好。看上述的例子,难道 share()函数 仅仅能计算王者三次均分吗?显然不是,这与你输入的参数有关,只要你理解这个函数是干什么用的,输入不同的参数,结果的含义也不同。如果你输入你的语数英三门的成绩,那么得到的就是你三门的平均成绩。