第5章函数 5.1 函数的定义 ◆5.2函数的调用 5.3函数的声明 5.4函数参数的传值 5.5嵌套调用和递归调用 5.6变量的使用范围和存储类别
第5章 函数 5.1 函数的定义 5.2 函数的调用 5.3 函数的声明 5.4 函数参数的传值 5.5 嵌套调用和递归调用 5.6 变量的使用范围和存储类别
函数定义完毕,需要使用一下,验证函数定义是否 实际参数简称实参,可以是常量、变量、表达式, 实参的个数、类型应该跟形参一一对应匹配。实参 主要用于给形参一一对应传送数据。3,5)就是函数 调用,其中3和5就是函数的两个整型实参,它们用 于给a,b赋值。 函数调用 函数名(实际参数1,实际参数2,.);
函数定义完毕,需要使用一下,验证函数定义是否 正确。 使用数学函数f的过程示例:假设有a=3; b = 5; 将a和b的值代入函数f,求得: c = f(a, b) = f(3,5) = 3 + 5 = 8。 使用C程序的函数,称为函数调用。 函数调用的格式为: 函数名(实际参数1, 实际参数2,. ); 实际参数简称实参,可以是常量、变量、表达式, 实参的个数、类型应该跟形参一一对应匹配。实参 主要用于给形参一一对应传送数据。f(3,5) 就是函数 调用,其中3和5就是函数的两个整型实参,它们用 于给a,b赋值
在主函数中使用函数: int main() 主函数*/ { int c; /心定义存放结果的变量*/ c=f(3,5); /*调用函数f,将得到的值赋给c* printf(“c=%dn”,c;/输出c的值*/ return 0 输入 a 输出 3 Ja+b f3,5) 3+5=8
在主函数中使用f函数: int main( ) /* 主函数*/ { int c; /* 定义存放结果的变量*/ c = f (3, 5); /*调用函数f, 将得到的值赋给c*/ printf (“c = %d\n”,c); /*输出c的值 */ return 0; } 3 5 3 + 5= 8 8 f a b s 3 5 a + b 输入 输出 f(3,5) 8 8 c
标记了执行顺序的完整程序如下: #include <stdio.h> 5 int f(int a,int b) *定义函数 6 7 int s; 楼数 8 s=a 9 return s 传眉给形参 10 撤销形参的内存 1 int main *定义主函数*1 { 3 int c; 11 c=f3,5): *调用函数f*/ 12 printf ("c =%d\n",c); 13 return 0; 14 3
标记了执行顺序的完整程序如下: #include <stdio.h> int f(int a, int b) /* 定义函数f */ { int s; s = a + b; return s; } int main( ) /* 定义主函数 */ { int c; c = f(3,5); /* 调用函数f */ printf ("c = %d\n",c); return 0; } 5 6 7 8 9 10 1 2 3 4 12 13 14 给形参分配内存 实参传值给形参 11 将结果传回给函数 f(3,5) = s; 撤销形参的内存
使用函数调用的形式 (1)函数调用作为一条语句; (2)函数有明确的返回值时,函数调用可以当 做普通变量使用,作为表达式的一部分。 (3)函数有明确的返回值时,函数调用可以作 为其他函数的实参
使用函数调用的形式 (1)函数调用作为一条语句; (2)函数有明确的返回值时,函数调用可以当 做普通变量使用,作为表达式的一部分。 (3)函数有明确的返回值时,函数调用可以作 为其他函数的实参