第八章函数 ★C是模块化程序设计语言 C程序 源程序文件1源程序文件源程序文件n 预编译命令 函数1 数 n 说明部分 执行部分 C程序结构 但C是函数式语言 但必须有且只能有一个名为main的主函数 但C程序的执行总是从main函数开始,在main中结束 程序中函数都是平行的,不能嵌套定义,可以嵌套调用
C是模块化程序设计语言 源程序文件1 预编译命令 说明部分 执行部分 函数1 函数n 源程序文件i 源程序文件n C程序 C程序结构 C是函数式语言 必须有且只能有一个名为main的主函数 C程序的执行总是从main函数开始,在main中结束 程序中函数都是平行的,不能嵌套定义,可以嵌套调用 第八章 函数
例如下面是一个C源程序,它由两个函数组成, 即main与max函数 main( maino i int a, b i int a, b Int c scanf( %od, %d",&a, &b) scanf(" %od, %od", &a, &b) c-max(a c=max(a, b) printf("Max is %dn", c) printf( Max is %dn",c) max(x, y) max(int x, int y) Int x, y; i int z Int z Z-x>y? y ZXy!Xy, return(z returne
main() { int a,b; int c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(int x, int y) { int z; z=x>y?x:y; return(z); } 例如下面是一个C源程序,它由两个函数组成, 即 main 与 max 函数 main() { int a,b; int c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max( x, y) int x , y ; { int z; z=x>y?x:y; return(z); }
函数分类 标准函数(库函数:由系统提供) 例如 printf函数、sqt函数 2、用户自定义函数:例如:上面程序中的 max函数 max(int x, int y) Int Z, z=X>y?x: y return(z);
函数分类 1、标准函数(库函数:由系统提供 ): 例如:printf 函数 、sqrt函数. 2、用户自定义函数 : 例如:上面程序中的 max 函数 max(int x, int y) { int z; z=x>y?x:y; return(z); }
省略时为int类型 函教的定义 void类型是无返回 ★一般格式 值 形参 函数类型函数名(形参类型说明表) 说明部分 函数体 语句部分 例有衾函斯代风格) 例无参函数 printstar( { printf(***n”) 为空
函数的定义 一般格式 函数体 函数类型 函数名(形参类型说明表) { 说明部分 语句部分 } 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 有参函数(现代风格) int max(int x, y) { int z; z=x>y?x:y; return(z); } 例 空函数 dummy( ) { } 函数体为空 例 无参函数 printstar( ) { printf(“**********\n”); } 省略时为 int 类型 void 类型是无返回 值 形参
main §8.3函数的返回值 0 int c, a-l, b-2, 返回语句形式 c=add(a, b) printf((“c=%d”,c) return(表达式); 或 return表达式 int add(int x, int y) f int z; 或 return;] Fx+y; return(z); 功能:使程序控制从被调用} 演示 函数返回到调用函数中,同时把返值带给调用 函数 函数结束标志:遇到 return语旬或执行至 最后一个}
§8.3 函数的返回值 返回语句形式: return(表达式); 或 return 表达式; 或 [return;] 功能:使程序控制从被调用 函数返回到调用函数中,同时把返值带给调用 函数 函数结束标志: 遇到 return 语句 或执行到 最后一个 } main() { int c , a=1 , b=2; c=add(a,b); printf( “c= %d ”,c); } int add(int x, int y) { int z; z=x+y ; return(z); } 演示