资源描述:
《C语言入门文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、04Function(函数)Structure:ClanaguageteachgroupWenHeKnowledgepointFunctionDefinition函数定义ReturnStatement返回语句FunctionCall函数调用Variablestoragetypes变量存储类型Recursivefunctioncalls函数递归调用2Cisamodularprogramminglanguage(C是模块化程序设计语言)Cprogramstructure(C程序结构)C是函数式语言必
2、须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,可以嵌套调用3Understandingofthefunction#include/*function:Computethesumof2integersinput:integerofaandboutput/returnvalue:sumofaandb*/intAdd(inta,intb){return(a+b);}main()/*mainfunction*/{intx,y,
3、sum=0;printf("Inputtwointegers:");scanf("%d%d",&x,&y);sum=Add(x,y);printf("sum=%d",sum);return;}4Classificationoffunctions(函数分类)函数分类从用户角度标准函数(库函数):libraryfunctions用户自定义函数userfunctions从函数形式无参函数non-argument有参函数witharguments5FunctionDefinition(函数定义)Fo
4、rmat:typename(argumentstatement){declarationstatement;statement;statement;}6FunctionDefinition(函数定义)7合法标识符函数返回值类型缺省int型无返回值void函数体函数类型函数名(形参类型说明表){说明部分语句部分}格式:Eg:有参函数(witharguments)intmax(intx,inty){intz;z=x>y?x:y;return(z);}Eg:有参函数intmax(intx,y){int
5、z;z=x>y?x:y;return(z);}例空函数dummy(){}函数体为空Eg:无参函数(non-argument)printstar(){printf(“**********”);}orprintstar(void){printf(“**********”);}8FunctionDefinitionvoidsum(){函数体语句;}intsum(){函数体语句;}floatsum(){函数体语句;}doublesum(inta,intb){函数体语句;}有类型标志符的函数,其函
6、数体内一定有return语句voidsum(inta){函数体语句;}9Format:returnexpression;return(expression);return;Annotation:Theprogramreturnstothecallingfunction,thevalueofexpressionreturnstoits caller.返回调用函数Theremaybemorethanonereturnstatements,butthereisonlyonereturn valuei
7、nafunction.可能不止一个return语句,但一次只能带回一个返回值。Returnstatement10Returnstatementfloatmax(floatx,floaty){floatz;z=x>y?x:y;return(z);}intmain(){floata,b;intc;scanf("%f,%f",&a,&b);c=max(a,b);printf("Maxis%d",c);return0;}11PrototypingaFunction(函数的声明)WeusedanANS
8、Iprototypetodeclarethefunctionbeforeitisused(函数使用之前需要ANSI原型声明)format:typename(argumentstatement);example:floatmax(floatx,floaty);orfloatmax(float,float);12Example:floatadd(float,float);/*functiondeclaration*/main(){floata,b,c;scanf("%f,%f",&a,&b);c=a