#include <stdio. h> #include <math.h> main( double y( double x); double f,s,x; scanf(“%f”,&x); 6.9/y( exp(x))+y(sin(x)); =y(f*)/y( sgrt(x)) printf(“f=%fns=%fn”,f,s);
6 #include <stdio.h> #include <math.h> main( ) { double y ( double x ) ; double f , s , x ; scanf ( “%f ” , &x ) ; f = 6.9/y ( exp (x) ) + y ( sin (x) ) ; s=y ( f*f ) / y ( sqrt ( x ) ) ; printf ( “f=%f\ns=%f\n” , f , s ) ; }
对函数需要了解什么? 如何正确定义函数; 如何正确调用函数; 函数执行完如何返回; 如何在函数间传递数据(函数间数据通信)
7 如何正确定义函数; 如何正确调用函数; 函数执行完如何返回; 如何在函数间传递数据(函数间数据通信)。 对函数需要了解什么?
l、函数分类 1)根据定义分类 系统预定义库函数 用户自定义函数 2)根据参数分类 无参数函数 有参数函数 3)根据返回值分类 有返回值函数 无返回值函数
8 1、函数分类 1) 根据定义分类 系统预定义库函数 用户自定义函数 2) 根据参数分类 无参数函数 有参数函数 3) 根据返回值分类 有返回值函数 无返回值函数
4)根据函数的文件作用域分类 static函数 extern函数 5)根据函数的实现方法分类 递归函数 非递归函数 6)根据函数的应用及功能分类 数学函数 字符串处理函数 字符处理函数
9 4) 根据函数的文件作用域分类 static函数 extern函数 5) 根据函数的实现方法分类 递归函数 非递归函数 6) 根据函数的应用及功能分类 数学函数 字符串处理函数 字符处理函数 ……
2、函数定义、调用与返回 个C源程序可由若干函数组成(多个相互独立 的函数定义),但必须有一个也只能有一个maim函数 定义(函数名是规定的,函数体是自定义的),函数不 允许嵌套定义(函数中不能再定义另一个函数)。 C程序中所有函数间的关系是平等的。每个函 数都可以调用其他函数,或被其他函数调用,或自己 调用自己(递归调用)。main函数一般只由操作系统 调用它,引起程序的执行。 函数被调用执行中当遇到 return语句或函数体最 后的“}”时将返回到主调函数处或调用点的下 条语句继续执行。返回时可有返回值或没有返回值
10 2、函数定义、调用与返回 一个C源程序可由若干函数组成 (多个相互独立 的函数定义) , 但必须有一个也只能有一个main函数 定义 (函数名是规定的, 函数体是自定义的) , 函数不 允许嵌套定义(函数中不能再定义另一个函数)。 C程序中所有函数间的关系是平等的。 每个函 数都可以调用其他函数, 或被其他函数调用, 或自己 调用自己 (递归调用)。main函数一般只由操作系统 调用它, 引起程序的执行。 函数被调用执行中当遇到return语句或函数体最 后的“}” 时, 将返回到主调函数处或调用点的下一 条语句继续执行。返回时可有返回值或没有返回值