C语言函数
日常分享:时而仰望星空,时而埋头苦干,不断告诉自己,要一往无前。
一、函数是什么?
在学数学的过程中,我们经常遇到函数,比如:f(x)=x等等,但是你了解C语言中的函数吗?详细见:维基百科。
在这里说说我自己的看法:函数就是一段可以反复使用的代码,用它来能够独立的完成一个功能,还能使我们的代码看起来更整洁。
二、函数分类
1.库函数
库函数,可以直接实现一些功能,不需要我们再去实现,就可以把结果打印在屏幕上。
比如:计算n的k次方,我们可以直接使用(pow)
代码如下(示例):
#include<stdio.h>
#include<math.h>
int main()
{
int n = 0;
int k = 0;
scanf("%d%d", &n, &k);
int ret = pow(n, k);
printf("%d", ret);
return 0;
}
为什么会有库函数呢?大概是为了方便程序员们进行软件开发把。
怎么学习库函数呢?
可以去:www.cplusplus.com看看
简单的总结:C语言常用的库函数:
IO函数
操作字符串的函数
内存操作函数
数学和其他函数
2.自定义函数
库函数肯定不能把程序员想用的函数都包含了吧,所以有更重要的自定义函数。自定义函数跟库函数一样,有函数名,返回值类型,以及参数。但这些都是由我们自己设计的。
(示例):
类型 函数名(参数...)
{
语句
}
来举个例子
#include<stdio.h>
int max(int x, int y)
{
return x > y ? x : y;
}
int main()
{
int a = 1;
int b = 2;
int ret = max(a, b);
printf("%d", ret);
return 0;
}
———————————————————————————————————————
#include<stdio.h>
void meun()
{
printf("好好学习");
}
int main()
{
meun();
return 0;
}
自定义函数的参数可以是0个,也可以是很多个,这给留下了很大的发挥空间。
三.递归
递归是函数一个很重要的思想。
1.什么是递归呢?
递归作为一种算法在程序设计中广泛使用,它就是程序本身去反复的调用函数,可以把一个复杂的问题转化为一个规模较小的问题来解决。
2.递归的必要条件
存在限制条件,一定要存在限制条件,没有限制条件的话就变成无线循环了,并且每次递归都要接近这个限制条件。
例如:
#include<stdio.h>
int main()
{
printf("好好学习\n");
main();
return 0;
}
这是最简单的递归,但他没有限制条件,这是个错误的示范。
3.递归算阶乘
#include<stdio.h>
int factorial(int x)
{
if (x == 1)//限制条件
{
return x;
}
else
{
return x * factorial(x - 1);//每次-1向限制条件靠近
}
}
int main()
{
int n;
scanf("%d", &n);
int ret = factorial(n);
printf("%d", ret);
return 0;
}
希望对大家与有所帮助哈!