C语言之函数

目录

一、函数的定义

二、函数的参数

1、实际参数(实参)

2、形式参数(形参)

三、函数的调用

四、函数的返回

五、函数的声明


一、函数的定义

函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或多个值。

函数由函数头和函数体组成,函数头包括返回类型、函数名和参数表,函数体通常用大括号括起来,大括号又称为块。比如,下面的函数中,void是返回类型,sum是函数名,括号里面的是参数表,括号不可省略。

void sum(int begin,int end)  //函数头
{
	int i;
	int sum=0;
	for(i=begin;i<=end;i++)
	{
		sum=sum+i;
	}
	printf("%d到%d的和为%d\n",begin,end,sum);	
}  //函数体

二、函数的参数

当一个函数调用时可以向该函数的参数传递一个值,这个值叫做实际参数,简称实参函数的参数叫做形式参数,简称形参。

1、实际参数(实参)

真实传给函数的参数叫做实参。实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时都必须有确定的值,以便把这些值传递给形参。

2、形式参数(形参)

函数名后括号中的变量叫做形式参数,形式参数只在函数内有效。

#include<stdio.h>

void swap(int a,int b);

int main()
{
	int a=5,b=6;
	swap(a,b); //a,b均为实参
	printf("a=%d b=%d",a,b);
	return 0;
}

void swap(int a,int b) //int a,int b均为形参
{
	int t=a;
	a=b;
	b=t;
	printf("t=%d a=%d b=%d ",t,a,b);
}/*运行结果为:t=5 a=6 b=5 a=5 b=6*/

三、函数的调用

形式为:函数名(参数值); ()表示函数的调用,即使没有参数也不可省略,如果有参数则需要给出正确的数量和顺序。C语言在调用参数时,只能传值给函数,而不是把变量传进去。每个变量都有自己的空间变量,参量也位于这个独立的空间中,和其它函数没有关系。

#include<stdio.h>

void sum(int begin,int end)
{
	int i;
	int sum=0;
	for(i=begin;i<=end;i++)
		sum=sum+i;
	printf("%d到%d的和为%d\n",begin,end,sum);	
}

int main()
{
	sum(10,20); //调用了sum函数
	return 0;
}

四、函数的返回

函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return语句返回。return停止函数的执行,并送回一个值,有return;和return 表达式;两种形式。void 函数名(参数表) 不能使用带值的return,也可以没有return,调用的时候不能做返回值的赋值。如果函数有返回值,则必须使用带值的return。

int max(int a,int b)
{
	int ret;
	if(a>b)
		ret=a;
	else
		ret=b;
	
	return ret;  //函数返回ret的值
}

五、函数的声明

C语言的编译器自上而下分析代码,所以只有定义过的函数才能调用前面定义过的函数,如果函数定义在后面,则需要在函数调用前进行函数声明。函数通过函数原型进行声明,函数头,加“;”结尾,就构成了函数原型。

函数先定义再调用:

#include<stdio.h>

void sum(int begin,int end)  //定义
{
	int i;
	int sum=0;
	for(i=begin;i<=end;i++)
	{
		sum=sum+i;
	}
	printf("%d到%d的和为%d\n",begin,end,sum);	
}

int main()
{
	sum(10,20);
	sum(30,40);
	return 0;
}

函数先调用再声明:

#include<stdio.h>

void sum(int begin,int end);  //声明

int main()
{
	sum(10,20);
	sum(30,40);
	return 0;
}

void sum(int begin,int end)  //定义
{
	int i;
	int sum=0;
	for(i=begin;i<=end;i++)
	{
		sum=sum+i;
	}
	printf("%d到%d的和为%d\n",begin,end,sum);	
}

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝 颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值