一、关于函数
C程序的执行开始于主函数,同样也结束于主函数
有些函数的功能是进行复杂的计算,并可向主调函数提供一个运算结果。该结果称为函数的返回值或函数值。 例如,max()、 sqrt()。
void函数没有返回值
二、定义函数
1.
函数类型(返回值的类型) 函数名(类型 变量1,类型 变量......)形参(形参表示为完成该模块功能所必须要的数据)
{
声明部分(定义所需变量)
语句(实现模块功能的语句)
}
2.无参函数:形参列表为空的函数。
①主调调用它时,不需向它传递数据
②常用来执行一组固定的操作
有参函数:主调调用它时,需向它传递数据,会把数据通过形参传递给它
return语句的一般形式为:
return 表达式;
或者 return;
return语句的作用是:
①设定函数的返回值;
②结束该函数的执行,并返回到主调函数继续执行。
3.利用函数求n的阶乘:
#include <stdio.h>
int zlyxz(int n)
{
int i,s=1;
for(i=1;i<=n;i++)
s=s*i;
return s;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",zlyxz(n));
}
4.
关于函数定义的几点说明:
1.每个形参应有自己的类型;
2.在定义函数时,应指定函数值的类型;
3.函数的返回值是通过函数中的return语句设定的;
4.如果函数的类型和return语句中表达式的类型不一致,则以函数类型为准,即函数类型决定返回值的类型。对数值型数据,系统会自动进行类型转换。
5.函数中可以有多个return语句,执行到哪一个return语句,哪个起作用。
三、函数的调用
关于函数调用的几点说明:
1.实参可以是常量、变量或表达式,但在调用时必须要有确定的值。
2.形参与实参的个数应一致,实参与形参的类型应相同或赋值兼容。
3. 如果调用的是无参函数,此时没有实参,但括号不能省略。
4. 在内存中,形参单元和实参单元是不同的存储单元。若在被调函数中改变形参的值,并不会影响对应实参的值。