文档介绍:第5章函数
函数的引例
函数的定义与调用
函数的嵌套调用
数组作实参
变量的存储类别
实例的部分程序
函数的引例
【】计算xy的值
请注意:C语言中没有乘方运算符
解法1:调用库函数pow ,计算xy
#include <>
#include <>
int main( )
{ double x , y , z ;
printf("Input data:");
scanf("%lf%lf",&x,&y);
z=pow(x,y);
printf("%lf的%lf次方是%lf\n",x,y,z);
return 0;
}
计算xy
必须加此行
pow要求x和y为double
Input data:
解法2:调用自编函数mypow,计算xy
若库中未提供求xy的函数,则用户先编写后再使用
#include <>
#include <>
}
double mypow ( double x, double y )
{ int i; double z ;
z = ;
for ( i = 1; i <= y ; i++ ) z= z* x ;
return z ;
main( )
{ ……
z= pow (x,y);
……
}
mypow
【】调用函数,输出若干个“*”
程序1:每行输出10个“*”,共输出三行。
void myprint ( )
{ int i ;
for (i=1; i<=10; i++)
printf ("*" ) ;
printf ("\n" ) ;
}
main ( )
{ myprint ( ) ;
myprint ( ) ;
myprint ( ) ;
}
无参函数
**********
**********
**********
#include <>
输出一行10个“*”
【】调用函数,输出若干个“*”
程序2:每行输出 n 个“*”,共输出三行。
void myprint_n (int n)
{ int i ;
for (i=1; i<=n; i++)
printf ("*" ) ;
printf ("\n" ) ;
}
main ( )
{ myprint_n(5);
myprint_n(10);
myprint_n(15);
}
有参函数
*****
**********
***************
#include <>
输出一行n个“*”
需要解决的问题:
一个函数调用另一个函数,应具备什么条件?
函数应该如何编写?
各函数的位置在哪里?
函数的定义与调用
函数的定义
函数的调用
函数的调用过程
函数的返回值
被调函数的原型说明
函数的定义
【】编写求 n!(n>0)的函数
{ int i ; long y=1 ;
for ( i = 1; i <= n ; i++ )
y = y * i ;
return y ;
}
函数的首部
函数值
的类型
函数体
函数值
参数的个数与类型
函数名
long myfac ( int n )