「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」。
为什么需要函数
避免了重复性操作
有利于程序的模块化
什么叫函数
逻辑上:能够完成特定功能的独立的代码块
物理上:能够接收数据
能够对接收的数据进行处理
能够将数据的处理结果返回
可以不接受数据也可以不返回任何值
# include<stdio.h>
int f(void)
{
return 10;
}
int main(void)
{
int j = 11;
j = f()
printf("%d\n",j);
return 0;
}
如何定义函数
数据类型 函数名(参数1, 参数2,... , 参数n)
{
语句块;
}
1、函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法。
2、return 表达式;的含义:
终止被调函数,向主调函数返回表达式的值。
如果表达式为空,则只终止函数,不向被调函数返回任何值。
break是用来终止循环和switch的,return是用来终止函数的。
3、函数返回值的类型也称为函数的类型,因为如果函数名前的返回值类型和函数执行体中的return表达式;中表达式的类型不同的话,则最终函数返回值的类型 以函数名前的返回值类型为准
#include<stdio.h>
int f()
{
return 10.5;
}
int main(void)
{
int i = 132;
double x = 1.1;
x = f();
printf("lf\n",x);
return 0;
}
函数的分类
有参函数和无参函数 有返回值函数和无返回值函数 库函数和用户自定义函数 普通函数和主函数(main函数)一个程序必须有且只能有一个主函数。主函数可以调用普通函数,普通函数不能调用主函数。
注意的问题
在函数的定义中一定不要相互调用或者调用自己,会出现死循环。
函数的定义与声明缺一不可。声明可以有多个,但是定义只能有一个。
//函数数据类型可以是 void (空类型,不带返回值的), int, float, double, 指针类型(int *, char *s)
//返回两个数字最大的一个 int max(int a, int b) { return ((a > b) ? a : b); }
//计算三个数字之和 int sum(int a, int b, int c) { return a + b + c; }
//计算字符串长度 int _lang(char str) { int l = 0; while((str+l) != '\0' && ++l) ; return l; }