1 / 38
文档名称:

C语言08函数.ppt

格式:ppt   大小:796KB   页数:38页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言08函数.ppt

上传人:文库旗舰店 2018/9/10 文件大小:796 KB

下载得到文件列表

C语言08函数.ppt

相关文档

文档介绍

文档介绍:第八章函数函数的定义、返回值和调用方法函数参数及其传递方式函数的嵌套与递归调用数组作为函数参数变量的存储属性*、返回值和调用方法函数的定义一般形式现代风格传统风格函数类型函数名(形参类型说明表){ 说明部分 语句部分}函数类型函数名(形参表)形参类型说明{ 说明部分 语句部分}函数返回值类型缺省int型无返回值void合法标识符入口参数定义函数体例1有参函数(现代风格)intmax(intx,inty){intz;z=x>y?x:y;return(z);}例2判断正误intmax(intx,y){intz;z=x>y?x:y;return(z);}例2判断正误intmax(intx,y)(×){intz;z=x>y?x:y;return(z);}例2判断正误intmax(intx,inty){intz;z=x>y?x:y;return(z);}例3无参函数printstar(){printf(“**********\n”);}或printstar(void){printf(“**********\n”);}例4空函数dummy(){}例有参函数(传统风格)intmax(x,y)intx,y;{intz;z=x>y?x:y;return(z);}Date2函数的分类从用户角度分标准函数(库函数):由系统提供用户自定义函数从函数形式分有参函数:需要入口参数无参函数:不需要入口参数使用库函数应注意:1、函数功能2、函数参数的数目和顺序,及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件Date3函数的返回值返回语句形式:return(表达式);或return表达式;return;功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数说明:函数中可有多个return语句若无return语句,遇}时,自动返回调用函数若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换—函数调用转换void型函数例1printstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例1函数带回不确定值printstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例2voidprintstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例2void函数不返回值voidprintstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例3返回值类型转换main(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d\n",c);}max(floatx,floaty){floatz;z=x>y?x:y;return(z);}Date4函数的调用函数调用基本形式:函数名(实参表);拓展调用形式(1)函数调用语句例:printf(“Hello!\n”);(2)函数表达式例:m=max(a,b)*2;(3)函数参数调用例:printf(“%d”,max(a,b));m=max(a,max(b,c));实参表:实际参数表—入口参数列表功能:把程序控制从调用函数传递给被调用函数中,同时提供被调用函数所需的入口参数说明:实参和形参个数相等,类型一致,顺序对应实参表求值顺序,因系统而定(TurboC从右向左)例1求值顺序main(){inti=2,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}例1求值顺序main(){inti=2,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}运行结果:0例1求值顺序main(){inti=2,p;p=f(i,++i);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}运行结果:0例2求值顺序main(){inti=2,p;p=f(i,i++);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(