(4)函数的种类 从使用的角度看: 从函数定义形式分 ①标准函数(库函数)①有参函数: 库函数是由系统提供的。在主调(用)函数和被调 如: getchar()、sin(x等。(用)函数之间通过参数 在程序中可以直接调用进行数据传递,如: 它们。附录A列出了C的 int cube (int x)){.…,} 部分库函数 ②无参函数: ②用户自定义函数。 如:例71中的cube函数 如: getchar() °在调用无参函数时,主调 函数不需要将数据传递给 无参函数 2005年3月
2005年3月 ⑷ 函数的种类 6 从函数定义形式分: ① 有参函数: 在主调(用)函数和被调 (用)函数之间通过参数 进行数据传递, 如: int cube (int x) { … } ② 无参函数: 如:getchar( ) 在调用无参函数时,主调 函数不需要将数据传递给 无参函数。 从使用的角度看: ① 标准函数(库函数) 库函数是由系统提供的。 如:getchar( )、sin(x)等。 在程序中可以直接调用 它们。附录A列出了C的 部分库函数。 ② 用户自定义函数。 如:例7.1中的cube函数
例7,2】无参函数的定义与调用 void welcome O { printi(".*兴Ⅶn"); printf( Welcome to China n") printi("次数Ⅶn") main( i welcome():] 程序的输出结果如下: kkk;::κkk::κκ☆κκκ火:κ::κκ Welcome to china k:::::::κκκk;;:::κκκκκκ;κ 2005年3月
2005年3月 【例 7 7.2】无参函数的定义与调用。 void welcome ( ) { printf("*********************************\n"); printf(" Welcome to China \n"); printf("*********************************\n"); } main( ) { welcome( );} 程序的输出结果如下: ********************************* Welcome to China *********************************
72.1函数的定义 8 函数定义的一般形式 函数类型函数名(类型名形式参数1,…) 说明语句 执行语句 类型省略时 例如:求两个数的最大值 默认为int int max(int x, int y) 类型 i int z; z=X>y?X: y9 没有形式参数 return(z) 为无参函数 2005年3月
2005年3月 8 7.2.1 函数的定义 函数定义的一般形式 函数类型 函数名(类型名 形式参数1,… ) { 说明语句 执行语句 } 例如:求两个数的最大值。 int max(int x,int y) { int z; z = x > y ? x : y; return( z ); } 类型省略时 默认为int 类型 没有形式参数 为无参函数
形参也可以这样定义 如下定义都是错误的 int max(x,y) int max(xy)或 int x,y? i int x, y; int max(x,y) i int z; int x,y,2y IZ=x>y?x: y z=x>y?X: y 或 return(z); return(z) int max(int x,y) 花括号中也可以为室,这种函数叫空函数。 不能在函数体内定义其他函数,即函数不能嵌套定义 2005年3月
2005年3月 9 int max(x,y) int x,y; { int z; z = x > y ? x : y; return( z ); } int max(x,y) { int x,y; …… } 或 int max(int x,y) { …… } 或 int max(x,y) int x,y,z; { z = x > y ? x : y; return( z ); } 花括号中也可以为空,这种函数叫空函数 。 不能在函数体内定义其他函数,即函数不能嵌套定义。 形参也可以这样定义 如下定义都是错误的 √
72.2函数的调用 10 函数调用的一般形式: 函数名(实参表列) 在C语言中,把函数调用也作为一个表达式。 因此凡是表达式可以出现的地方都可以出现函数 调用。例如: ① welcome(); 2 if (iabs(a)>max)max=iabs(a); 3m=max(c, max(a, b); 2005年3月
2005年3月 10 函数名(实参表列) 在C语言中,把函数调用也作为一个表达式。 因此凡是表达式可以出现的地方都可以出现函数 调用。例如: ① welcome( ); ② if (iabs (a)>max) max=iabs(a); ③ m=max(c,max(a,b)); 7.2.2 函数的调用 函数调用的一般形式: