
函数 > main() 目标要求 > int a,b,c; > scanf("%d,%d",&a,&b); > C=max(a,b); 讲课提纲 printf("Max is %d",c); 7 讲课内容 int max(int x,int y) > int z; > if(x>y) Z=Xj else 课后作业 Z=yi return(z); 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 函数 ➢ main() ➢ { int a,b,c; ➢ scanf("%d,%d",&a,&b); ➢ c=max(a,b); ➢ printf("Max is %d",c); ➢ } ➢ int max(int x, int y) ➢ { int z; ➢ if(x>y) z=x; ➢ else z=y; ➢ return(z); ➢ }

●●】 目标要求 模块化程序设计 讲课提纲 基本思想:将一个大的程序按功能 分割成一些小模块 讲课内容 开发方法: 自上向下,逐步分解, 分而治之 课后作业 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 模块化程序设计 ▪ 基本思想:将一个大的程序按功能 分割成一些小模块 ▪ 开发方法: 自上向下,逐步分解, 分而治之

●●● ●●● 免 函数的分类 目标要求 ■标准函数(库函数):由系统提供 。用户自定义函数:用户可根据需要自己编写。 讲课提纲 讲课内容 课后作业 退出 K
目标要求 课后作业 讲课提纲 讲课内容 退出 函数的分类 ◼ 标准函数(库函数):由系统提供 ◼ 用户自定义函数:用户可根据需要自己编写

● 第9章函数 ●● 函数定义的一般形式 函数返回值类 合法标识符 函数的参 型缺省int 数 目标要求 型 类型标识符 函数名(形式参数表) 函数声明部分: 讲课提纲 函数语句部分; 函数体 讲课内容 例 有参函数(现代格空 无参函数 int max(int x,int y) printstar() { dummy( int z; printf(****n")方} 课后作业 z=x>y?x:y, 或 return(z); printstar(void printf****n”)方 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 函数定义的一般形式 类型标识符 函数名(形式参数表) { 函数声明部分; 函数语句部分; } 函数返回值类 型缺省int 型 合法标识符 函数体 函数的参 数 例 有参函数(现代风格) int max(int x,int y) { int z; z=x>y?x:y; return(z); } 例 无参函数 printstar( ) { printf(“**********\n”); } 或 printstar(void ) { printf(“**********\n”); } 例 空函数 dummy( ) { } 第9章 函数

函数调用 ● ● > 函数的调用 目标要求 有参函数:函数名(参数); 讲课提纲 无参函数:函数名(); 讲课内容 课后作业 退出 K
目标要求 课后作业 讲课提纲 讲课内容 退出 函数调用 ➢ 函数的调用 有参函数:函数名(参数); 无参函数:函数名();

第9章函数 形式参数和实际参数 形式参数:在定义函数时函数名后面圆括号中的变量名 目标要求 实际参数:在主调用函数中调用一个函数时,函数名 后面圆括号中的表达式 例比较两个数并输出大者 mainO 讲课提纲 int a,b,c; scanf"od.d"&a.&b): c=max(a,b); 实参 c-max(a,b); (main函数) 讲课内容 printf"Max is %d",c); max(intk,inty)(max函数) 形参 { int Z, max(int x,int y) intz; z-x>y?x:y, 课后作业 z-x>y?x:y, return(z); return(z); 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 ➢ 形式参数:在定义函数时函数名后面圆括号中的变量名 ➢ 实际参数 :在主调用函数中调用一个函数时,函数名 后面圆括号中的表达式 例 比较两个数并输出大者 形式参数和实际参数 main() { int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("Max is %d",c); } max(int x, int y) { int z; z=x>y?x:y; return(z); } 实参 形参 c=max(a,b); (main 函数) max(int x, int y)(max 函数) { int z; z=x>y?x:y; return(z); } 第9章 函数

第9章函数 形式参数和实际参数 例计算x的立方 目标要求 #include a 1.2 float cube(float x) product 1.728 return(x*x*x); 讲课提纲 mainO 讲课内容 {float a,product; printf("Please input value of a:"); scanf("%f",&a); 课后作业 product-cube(a); printf("Cube of %.4f is %.4fn",a,product); 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 例 计算x的立方 形式参数和实际参数 #include float cube(float x) { return(x*x*x); } main() { float a, product; printf("Please input value of a:"); scanf("%f",&a); product=cube(a); printf(”Cube of %.4f is %.4f\n",a,product); } a product ×× ×× 1.2 1.2 1.728 x 第9章 函数

第9章函数 形式参数和实际参数 例交换两个数 调用前:x 7 y 11 目标要求 main() { int x=7,y=11; y printf("x-%d,ty=%d n",x,y); 调用: 讲课提纲 printf("swapped:n"); a; b: swap(x,y); 讲课内容 printf("x-%d,ty-%d n",x,y); swap: 7 V: swap(int a,int b) a b:7 课后作业 int temp; temp temp-a;a-b;b-temp; 调用结束: 7y:11 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 例 交换两个数 形式参数和实际参数 调用前:x: 7 y: 11 调用结束: x: 7 y: 11 main() { int x=7,y=11; printf("x=%d,\ty=%d\n",x,y); printf("swapped:\n"); swap(x,y); printf("x=%d,\ty=%d\n",x,y); } swap(int a,int b) { int temp; temp=a; a=b; b=temp; } 调用: a: 7 b: 11 x: 7 y: 11 swap: x: 7 y: 11 a: 11 b: 7 temp 第9章 函数

第9章函数 ●● 对被调用函数的声明 ma main 目标要求 loatot x.float y) 数原型声明*/ 9 zf"%f,%f",&a,&b求 讲课提纲 retuma.b); 被调函数出现在主调函数 之前,不必函数说明 printf("Max is %d n",d); mainO) 讲课内容 flo car269&& 数善部硒数可不作函数说明 数体*7 课后作业 e-dd by riet is %fc). 退出 K
目标要求 课后作业 讲课提纲 讲课内容 退出 对被调用函数的声明 main() { float add(float,float); /*函数原型声明 */ float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f",c); } float add(float x, float y) /*函数首部*/ { float z; /*函数体*/ z=x+y; return(z); } float add(float x, float y) { float z; z=x+y; return(z); } main() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); printf("sum is %f",c); } 被调函数出现在主调函数 之前,不必函数说明 main() { float a,b; int c; scanf("%f,%f",&a,&b); c=max(a,b); printf("Max is %d\n",c); } max(float x, float y) { float z; z=x>y?x:y; return(z); } int型函数可不作函数说明 第9章 函数

第9章函数 函数的返回值 返回语句: 目标要求 形式: return(表达式); 或 return 表达式; 或 return; 讲课提纲 功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数 讲课内容 说明: 函数中可有多个returni语句 若无return语句,遇}时,自动返回调用函数 课后作业 若函数类型与returni语句中表达式值的类型不一致, 按前者为准,自动转换 函数调用转换 void型函数 退出
目标要求 课后作业 讲课提纲 讲课内容 退出 ➢ 返回语句: ▪ 形式: return(表达式); 或 return 表达式; 或 return; ▪ 功能:使程序控制从被调用函数返回到调用函数中, 同时把返值带给调用函数 ▪ 说明: • 函数中可有多个return语句 • 若无return语句,遇}时,自动返回调用函数 • 若函数类型与return语句中表达式值的类型不一致, 按前者为准,自动转换-函数调用转换 • void型函数 函数的返回值 第9章 函数