函数及函数调用的几点说明: 令(1)一个完整的程序可由若干个文件组成,可用工程或文件包含 (# include)的方法对其编译; 令(2)C执行总是从main函数开始执行,调用其它函数后又返回到 main函数; 令(3)函数定义是独立的、平等的,不能嵌套定义但可相互调用; (4)函数的类型 ①库函数,由系统提供 ②自定义函数,即用户根据需要自己定义的函数 令(5)函数的形式 令①无参函数-主调函数无数据传送给被调函数可带或不带返回值 ②有参函数-主调函数与被调函数间有参数传递,主调函数可将实参 传送给被调函数的形参,被调函数的数据可返回主调函数。 上一页下一页 返回 第八章函数
上一页 下一页 返回 第八章 函数 函数及函数调用的几点说明: ❖ (1)一个完整的程序可由若干个文件组成,可用工程或文件包含 (#include)的方法对其编译; ❖ (2)C执行总是从main函数开始执行,调用其它函数后又返回到 main函数; ❖ (3)函数定义是独立的、平等的,不能嵌套定义但可相互调用; ❖ (4)函数的类型: ❖ ①库函数,由系统提供; ❖ ②自定义函数,即用户根据需要自己定义的函数 ❖ (5) 函数的形式: ❖ ①无参函数--主调函数无数据传送给被调函数,可带或不带返回值. ❖ ②有参函数--主调函数与被调函数间有参数传递,主调函数可将实参 传送给被调函数的形参,被调函数的数据可返回主调函数
§8.2函数定义的一般形式 1.无参函数的定义形式: 类型标识符函数名() 指出函数返回值的 声明部分 数据类型 句 注:当函数没有返回值,可以省略类型标 符 上一页下一页 返回 第八章函数
上一页 下一页 返回 第八章 函数 §8.2 函数定义的一般形式 ❖ 1.无参函数的定义形式: 类型标识符 函数名( ) { 声明部分 语句 } 注:当函数没有返回值,可以省略类型标 识符。 指出函数返回值的 数据类型
例8.1: main( p p2() p1(); p1() printf(*求*****米**\n”;} p2() i printf How do you do!ln”);} 上一页下一页 返回 第八章函数
上一页 下一页 返回 第八章 函数 例8.1: main( ) { p1( ); p2( ); p1( ); } p1( ) { printf (“***********************\ n” ; } p2( ) { printf (“_ _ _ _ _How_do_you_do!\n”) ; }
2有参函数的定义形式为: 指出函数返回值的 接收主调函数传 数据类型 递过来的实参 类型标识符函数名(类型标识符形式参数) 声明部分; 语句 上一页下一页 返回 第八章函数
上一页 下一页 返回 第八章 函数 2.有参函数的定义形式为: 类型标识符 函数名(类型标识符 形式参数) { 声明部分; 语句; } 指出函数返回值的 数据类型 接收主调函数传 递过来的实参
例82: 形参接收主调函数传递过 来的实参,当man函数中调 用max函数时a与b的值就 int max( int x, int y) 传递给了x和 main( fint a, b, C, int max(int x, int y) a=20;b=10; i int z C=max(a, b) Zxy ?x: y printf("max is %dn",c) return(z) 输出: max is 20 上一页下一页 返回 第八章函数
上一页 下一页 返回 第八章 函数 例8.2: int max(int x , int y) { int z; z= x>y ? x : y ; return(z) ; } 输出: max is 20 形参:接收主调函数传递过 来的实参,当main函数中调 用max函数时,a与b的值就 int max( int x, int y); 传递给了x和y. main( ) { int a, b, c; a=20; b=10; c=max(a, b); printf(“max is %d\n”,c); }