接触C语言中的函数,让我们来探索这函数的一方天地

目录

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()

关于函数我只是简单介绍一下,涉及的比较少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值