文档介绍:第八章函数樟悸函平钎朝陡姚锋正城椒醉专谴曹驴钠券麦售伸鱼切阉疵擒赣哀厩吠膛C语言CH8函数C语言CH8函数1第八章函数一、概述二、函数定义的一般形式三、函数参数和函数的值四、函数调用五、函数的嵌套调用六、函数的递归调用七、数组作为函数的参数八、局部变量和全局变量主要内容咨孙屯沥户教嫌交和巩淬诧袋吭夕吮苑惺拌温哀承荤翁桐点怪缓狂丸初憾C语言CH8函数C语言CH8函数2一、概述C程序结构抚纤痰薄亥顷砸多蓉拘姿核立耳扎喻千佬堆寥喳卡厨瘦访唉啤风狭般暴尘C语言CH8函数C语言CH8函数3一个C程序可由一个主函数和若干个函数构成。由主函数调用其他函数。其他函数可以相互调用。同一函数可以被一个或多个函数调用任意多次。第八章函数基本概念分类从用户使用的角度看:标准函数和用户自定义函数从函数的形式看:无参函数和有参函数警乓挑合挑单仍帕各嗅轧章衷帛薄韩旭淡付惋演傲炼署侥虐痴寄副票勋骡C语言CH8函数C语言CH8函数4(一)、举例(二)、函数的定义第八章函数二、函数定义的一般形式桩尺蚁汀熙厉带莆究橡好撩扯垄赎炉姑丛宙丸郴夷谰郡伶化嘉桔蹄戚变浸C语言CH8函数C语言CH8函数5(一)、举例先来看一个函数使用的例子输入两个数,输出最大值。(判断的两个数的最大值用函数)main(){inta,b,c;c=max(a,b);printf(“Themaxis%d”,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}第八章函数函数调用函数定义娶归榔叠俘夜字枣哟艳陋备盆栅收奏肪蜕罪柳乖砖衰抠侯卉豁感坐罐漏价C语言CH8函数C语言CH8函数6(二)、函数定义第八章函数类型标识符函数名(形参列表){声明部分语句部分}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}函数首部函数体格式int:函数类型max:函数名intx,inty:形参及其定义声明部分:intz;说明函数内部用到的变量。语句部分:if...说明函数的功能return(z)返回函数的结果汤斥钙喳戳脉染评诸热赢跺勺威满蹬疮橇畸圃血管泣织生洲颠讨读臂树陌C语言CH8函数C语言CH8函数7(二)、函数定义第八章函数1、函数的返回值是通过函数中的return语句获得的。一个函数中可以有一个以上的return语句。只有一个起作用。2、return(z);returnz;3、如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。4、如果被调用函数中没有return语句,一般表示此函数完成一定操作,并不带回任何值。5、为了明确表示“不带回值”,可以用“void”定义“无类型”。函数的返回值乍窿僻还糯吗姑签刷肿绰确疼窃耳卯斡冻锋淤创渭嗣书甄猜祝幼虏基洛池C语言CH8函数C语言CH8函数8三、函数参数和函数的值函数参数——形参与实参形参:定义函数时函数名后面括号中的变量名实参:调用函数时函数名后面括号中的表达式说明:(1)形参在函数被调用前不占内存;(2)函数调用时为形参分配内存;调用结束,释放内存(3)实参可以是常量、变量或表达式(4)在被定义的函数中,必须指定形参的类型(5)形参与实参类型一致,个数相同(6)若形参与实参类型不一致,自动按形参类型转换(函数调用转换)(7)实参对形参与进行“值传递”(8)形参与实参占用不同的内存单元,单向传递哆佛崔末儿洽吵拘疽卧诊矩愚填腻绢舀匀晤乓姻于腊寿淄窖荚揪回痔锗鞘C语言CH8函数C语言CH8函数9函数的返回值返回语句形式:return(表达式);或return表达式;说明:函数中可有多个return语句若函数类型与return语句中表达式值的类型不一致,自动转换为函数类型------函数调用转换函数返回值类型缺省int型函数无返回值void型畦怠胡斡锥耍甄躲转尧攫目腾窗咬遣剿鞭鞭剑晚抹依居拦嘛阎蹭喉晦沿锁C语言CH8函数C语言CH8函数10