目录
1.C语言函数定义
2.函数的形参和实参
3.函数的调用
1.C语言函数的定义
首先,让我们了解什么是C语言函数,作一个简单的介绍。
函数的本质是一段可以重复使用的代码,这段代码被提前编写好了,放到指定的文件中,使用时直接调用就可以了。
接着,介绍函数的定义。
(1)C语言无参函数的定义
如果函数不接收用户传递的数据,则定义时就不用带参数。形式如下:
dataType functionName(){
//body
}
dataType是返回值类型,它可以是C语言中任何数据类型。 functionName是函数名,body是函数体,它是函数需要执行的代码,是函数的主体部分。如果有返回值,在函数体中要用return语句返回。
例如,定义一个函数,计算从10加到200的值:
#include<stdio.h>
int sum(){
int i,sum=0;
for(i=10;i<=200;i++){
sum+=i;
}
int main (){
int a=sum();
printf("The sum is %d\n",a);
return 0;
}
运行结果就不说了哦
有的函数不需要返回值,或者返回值类型不确定,那么可以用void表示,void表示“空类型”或“ 无类型”,也就代表没有return返回语句。
2.C语言有参函数的定义
函数定义时给出的参数称为形式参数;函数调用时给出的参数称为实际参数。
同样用以上的例子来介绍
#inlcude <stido.h>
int sum(int m,int n){
int i,sum=0;
for(i=m;i<=n;i++){
sum+=i;
}
return 0;
}
int main(){
int begin=5,int end=85;
int reuslt=sum(begin,end);
printf("The sum form %d to %d is %d\n",beign,end,result);
return result;
}
2.函数的形参和实参
对于形参和实参,我们举一个例子来更好理解它。
#inlcude<stdio.h>
int sum(int m,int n){
int i;
for(i=m+1;i<=n;i++){
m+=i;
}
return 0;
}
int main(){
int a,b,total;
printf("Input two numbers");
scanf("%d %d ",&a,&b);
total=sum(a,b);
printf("a=%d,b=%d",a,b);
printf("total=%d",total);
return 0;
}
运行结果就省略了
在这段代码中,函数定义处的m和n是形参,函数调用处的a和b是实参,通过scanf()可以读取用户输入的数据,在调用sum()函数时,这份数据就会传递给m和n.
3.函数的调用
在前面,函数的调用就提到了。接下来,深入了解函数的调用
在C语言中,函数的调用有许多形式。例如,
1.z=max(a,b) m=n+max(a,b)
2.printf("%d",a); scanf("%d",&m)
3.printf(“%d",max(m,n) ) total(max(a,b),min(m,n))
对于函数,不可以嵌套定义,但可以嵌套调用。例如计算1!+2!+......+(n-1)!
#include<stdio.h>
long factorial(int n-1){
int i;
long result=1;
for(i=1;i<=n-1;i++){
result *=i;
}
return result;
long sum(long n-1){
int i;
long result=0;
for (i=1;i<=n-1;i++){
result +=factorial(i);
}
return result;
}
int main(){
printf(“1!+2!+......+(n-1)!=%d",sum(10));
return 0;
}
运行结果就省略了
解释一下:sum()的定义出现了对factorial()的调用,printf()的定义出现了对sum()调用,而printf()又被main()调用,所以它们整体的调用关系:
main()-->printf()-->sum()-->factorial()
关于函数我只是简单介绍一下,涉及的比较少。