③、形式参数表列:说明参数的个数和类型 令书写格式:每一个参数都要写上数据类型和参数名;参数之 间以逗号分隔,无参数时一般写上void或什么也不写 ◆作用:表示从主调函数中接收多少数据以及每个数据的类型 float average (float al, float a2, float a3) 形参不能写成: O00.000 float a1 a2 a3 X ④、变量说明:说明函数中用到的除形参以外的其它变量 ⑤、语句部分:为了完成特定的功能而设计的一组语句
③、形式参数表列:说明参数的个数和类型 ❖书写格式 : 每一个参数都要写上数据类型和参数名;参数之 间以逗号分隔,无参数时一般写上void 或什么也不写 ❖作用: 表示从主调函数中接收多少数据以及每个数据的类型 float average(float a1, float a2, float a3) { …… } 形参不能写成: float a1, a2, a3 × ④、变量说明:说明函数中用到的除形参以外的其它变量 ⑤、语句部分:为了完成特定的功能而设计的一组语句
3、例 ①、打印一行信息“ How do you do!”函数的定义: void print message() print message(; printf( How do you do! n) ②、求整数x的n次幂(n>0) float power(int x, int n) =1 int il: float mul= ③、将指定的字符打印n次 for〔i=l;i<=n;i++) void print(char ch, int n) mul=mul*x i int i; for(i=0; i<n; i++) return(mul); putchar(ch ) mul-=power(5, 3 ); putchar("Ⅶn); print(*, 20) C
3、例: ①、打印一行信息“How do you do!”函数的定义: void print_message( ) { printf("How do you do!\n"); } ②、求整数x的n次幂(n>0) int power(int x, int n) { int i, mul=1; for (i=1; i<=n; i++) mul=mul*x; return(mul); } ; float mul=1; float ③、将指定的字符打印n次 void print(char ch, int n) { int i; for (i=0; i<n; i++) putchar(ch); putchar('\n'); } print_message( ); mul=power(5,3); print(‘*’,20);
33函数参数和函数的值 √形式参数和实际参数 √函数的返回值
3.3 函数参数和函数的值 ✓形式参数和实际参数 ✓函数的返回值
形式参数和实际参数 1、形式参数:定义函数时函数名后面括号内的变量 实际参数:调用函数时函数名后面括号内的变量 #include <stdio.h> int max(int x, int y); int max(int x, int y) void main( i int a, b, c, LI int z scanf("%d%d", &a, &b):i yixi c=max(a, b) printf(" Max%d n",c);
形式参数和实际参数 1、形式参数:定义函数时函数名后面括号内的变量 实际参数:调用函数时函数名后面括号内的变量 #include <stdio.h> int max(int x, int y); void main( ) { int a, b, c; scanf("%d%d", &a, &b); c=max(a, b); printf("Max=%d.\n", c); } int max(int x, int y) { int z; z=x>y?x:y; return(z); }
2、说明: ①、程序在编译时不为形参分配存储空间,只有当函数被调 用时,形参才被分配存储空间,并在调用结束后释放所占的 存储空间。 ②、形参只能是变量;而实参可以是常量、变量、表达式或 具有返回值的函数调用,但要求它们有确定的值。调用时将 实参的值赋给形参。 m=max 3, a+b); m=max(a, max(b, c)); ③、实参与形参的个数应相等,类型应一致或赋值兼容。 ④、C规定,实参对形参的数据传递是“值传递”,即单向 传递。只能由实参传给形参,而不能由形参传回来给实参。 在内存中,实参与形参占有不同的内存单元。 心U
2、说明: ①、程序在编译时不为形参分配存储空间,只有当函数被调 用时,形参才被分配存储空间,并在调用结束后释放所占的 存储空间。 ②、形参只能是变量;而实参可以是常量、变量、表达式或 具有返回值的函数调用,但要求它们有确定的值。调用时将 实参的值赋给形参。 m=max(3, a+b); m=max(a, max(b, c) ); ③、实参与形参的个数应相等,类型应一致或赋值兼容。 ④、C规定,实参对形参的数据传递是“值传递”,即单向 传递。只能由实参传给形参,而不能由形参传回来给实参。 在内存中,实参与形参占有不同的内存单元