案例描述
用键盘输入一组数据,求出这一组的平均值并输出。
案例分析
本案例中可以将“求一组数据的平均数”视为一个功能并提取出来,构造成一个函数,在实现案例中,先学习一下函数的相关定义及概念。
函数的定义
在C语言中,最基础的程序模块就是函数,函数被视为程序中的基本逻辑单位,一个C程序是由一个main()函数和若干个普通函数构成的。
返回值类型 函数名([[参数类型,参数名1],[参数类型,参数名2],…[参数类型,参数名n]])
{
函数体
……
return 返回值;
}
函数调用时的数据传递
函数的参数有两种,分别为实际函数和形式函数
1,形式函数
在定义函数时,函数名后的小括号的变量名称为形式参数或虚拟参数,简称形参,例如下面的的函数声明语句:
int func(int a,int b) ;
在此行代码中,变量a和变量b 就是形式参数,这样的参数不占用实际内存,仅仅为了标识函数的参数列表而而存在。
2,实际参数
当函数被调用时,函数名后小括号内的参数成为实际函数,简称实参,实参可以是常量,变量,表达式。例如下面的函数调用语句。
func(3,5) ;
此行代码是对函数function()的调用,当函数被调用时,形参是真正的变量,占有内存空间,在函数调用时,形参获得实参的数据,该数据在本次函数调用中有效,一旦调用完毕,形参的值就会被释放,另外需要注意的是,形参和实参之间的数据传输是单向的,即只能有实参输出给实参,不能由形参传递实参。
案例实现
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
int avg(int n)
{
int sum = 0;
int data;
int i = n ;
printf("请输入%d个数据:\n",n);
while(i > 0)
{
scanf("%d",&data);
sum += data;
i--;
}
int avg = sum / n ;
return avg;
}
int main()
{
int n = 3,a = 0 ;
a = avg( n );
printf ("这%d个数据的平均值为:%d\n",n,a);
system ("pause");
return 0;
}