资源描述:
《C语言程序设计第4章函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章函数基本知识讲解§4.1概述§4.2带自定义函数的程序设计§4.3变量的作用域和存储类别§4.4典型例题返回§4.1概述C语言源程序可由一个主函数和若个辅助函数组成。由主函数调用其他函数。其他函数也可互相调用。mainabcdefghhieg§4.1概述main(){printstar();print_message();printstar();}printstar(){printf(“**********”);}print_message(){printf(“Howdoyoudo!”);}§4.1概述说明:1.一个源程序文件由一个或多个函数组成。一个源程序文
2、件是一个编译单位。2.C程序的执行从main函数开始,在main函数中结束。3.所有函数都是平行的,即函数不能嵌套定义,函数可以互相调用,但不能调用main函数。4.从用户使用的角度看,函数有两种:标准函数(库函数)和自定义函数5.从函数的形式看,函数分为两类:无参函数和有参函数#返回§4.1.1函数的定义一、无参函数的定义形式类型标识符函数名(){函数体}例:printstar(){printf(“**********”);}§4.1.1函数的定义二、有参函数定义的一般形式类型标识符函数名(形式参数表){函数体}§4.1.1函数的定义例如:intmax(intx
3、,inty){intz;z=x>y?x:y;return(z);}§4.1.1函数的定义三、一个函数可以是空函数。如:dummy(){}返回#一、函数的返回1.被调用函数执行到最后的“}”时,自动返回2.被调用函数执行到return语句时返回§4.1.2函数的返回和返回值二、函数的返回值1.return语句return(表达式);或:return表达式;或:return;return语句的用途有二:(1)用于结束函数的执行并返回到调用者;(2)用来向调用者传递一个返回值。注意:该语句对非void函数适用。§4.1.2函数的返回和返回值§4.1.3函数的声明和调用要正确实现函数
4、间的调用需满足下列条件:必须给出满足函数运行时要求的参数;被调用函数必须存在;被调用函数必须允许调用。例:{…………c=max(a,b);…………}intmax(intx,inty){…………}一、函数调用形式函数名(实参表列);§4.1.3函数的声明和调用1.函数语句如:printf(“Oneworle”);2.函数表达式如:c=max(a,b);3.函数参数如:m=max(a,max(b,c));printf(“%d”,max(a,b));§4.1.3函数的声明和调用二、函数调用的方式main(){floata,b,c;scanf(“%f,%f”,&a,&b);c=add
5、(a,b);printf(“sumis%f”,c);}floatadd(floatx,floaty){floatz;z=x+y;returnz;}§4.1.3函数的声明和调用floatadd(floatx,floaty);三、函数声明的一般形式函数类型函数名(类型1,类型2,…,类型n);或:函数类型函数名(类型1名1,类型2名2…);例如:floatadd(floata,floatb);或:floatadd(float,float);再如:charfun2(inti,charp1);§4.1.3函数的声明和调用注意:函数声明与函数定义不同!main(){inta,b,c;v
6、oidprint();scanf(“%d,%d”,&a,&b);c=max(a,b);print();printf(“max=%d”,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}voidprint(){inti;for(i=0;i<5;i++)printf(“%c”,’*’);printf(“”);}§4.1.3函数的声明和调用例4-10:计算组合C(m,n)=m!/(n!(m-n)!)分析:求阶乘是公用模块程序清单如下:§4.1.3函数的声明和调用返回计算组合main(){intm,n;longcmn,temp;lon
7、gfactor(int);scanf(“%d%d”,&m,&n);cmn=factor(m);temp=factor(n);cmn=cmn/temp;cmn=cmn/factor(m-n);printf(“%ld”,cmn);}longfactor(intx){longy;for(y=1;x>0;x--)y=y*x;return(y);}§4.1.4形式参数和实在参数一、形式参数和实际参数形式参数:定义函数时函数名后括号中的变量名,简称形参;实际参数:调用函数时函数名后括号中的表达式,简称实参。§4