资源描述:
《《预备知识函数》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、函数概述模块化程序设计基本思想:将一个大的程序按功能分割成一些小模块,特点:各模块相对独立、功能单一、结构清晰、接口简单控制了程序设计的复杂性提高元件的可靠性缩短开发周期避免程序开发的重复劳动易于维护和功能扩充开发方法:自上向下,逐步分解,分而治之C是模块化程序设计语言C程序结构C是函数式语言必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中结束函数不能嵌套定义,可以嵌套调用函数分类从用户角度标准函数(库函数):由系统提供用户自定义函数从函数形式无参函数有参函数使用库函数应注意:
2、1、函数功能2、函数参数的数目和顺序,以及各参数意义和类型3、函数返回值意义和类型4、需要使用的包含文件*********Howdoyoudo!*********例在屏幕上显示:main(){printf("*********");printf("Howdoyoudo!");printf("*********");}用函数模块设计:main(){printstar();print_mess();printstar();}print_mess(){printf("Howdoyoudo!");}pr
3、intstar(){printf("*********");}函数是C语言的基本构件1.一个C程序:2.一个C程序的源文件:由一个或若干个C程序的源文件成。由一个或若干个函数组成。源文件1函数n函数2函数1源文件m源文件2一个C程序一个C程序的源文件............C语言不允许:main的唯一性:函数嵌套定义。在一个完整的C程序源文件中,必须有、而且只允许其中的一个C程序源文件含有一个main函数名。函数的定义一般格式合法标识符函数返回值类型无返回值void函数体函数类型函数名(形参列表){说明
4、部分语句部分}例有参函数(现代风格)intmax(intx,inty){intz;z=x>y?x:y;return(z);}例有参函数(现代风格)intmax(intx,y){intz;z=x>y?x:y;return(z);}例空函数dummy(){}函数体为空例无参函数voidprintstar(){printf(“**********”);}或voidprintstar(void){printf(“**********”);}函数体由服务于函数的数据说明与执行语句两部分组成。前者完成数据描述。后者完成
5、操作描述。函数体:由{}括起来的是函数体包括变量定义语句执行语句参数类型参数名函数名函数类型doublepower(intn,floatx)无参函数例:voidprintstar();有参函数例:doublepower(intn,floatx)空函数例:voiddummy(){}函数的返回值返回语句形式:return(表达式);或return表达式;或return;功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数说明:函数中可有多个return语句若无return语句,遇}时,自动返回调用函数若
6、函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换void型函数例无返回值函数voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}printstar(){printf("**********");}main(){inta;a=printstar();printf("%d",a);}例函数带回不确定值输出:10voidprintstar(){printf("**********");}main(){inta;a=printstar(
7、);printf("%d",a);}编译错误!例求两个数的最大值函数。floatmax(floatx,floaty)//函数类型float,函数名max,参数x,y{floatm;if(x>y)m=x;elsem=y;returnm;}例判断两个数是否是相等函数。inteq(intx,inty)//函数类型int,函数名eq,参数x,y{intt;if(x==y)t=1;elset=0;returnt;}例符号函数。charsign(floatx)//函数类型char,函数名sign,参数x{chars;
8、if(x>=0)s=‘+’;elses=‘-’;returns;}例求三角形面积函数。floatsabc(floata,floatb,floatc)//函数类型float…{floath;h=0.5*(a+b+c);return(sqrt(h*(h-a)*(h-b)*(h-c)));}例素数判断函数。intpn(intn){inti;int