资源描述:
《《模块化程序设计》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、14九月2021济南大学·信息学院第三章模块化程序设计3.1模块化程序设计思想3.2函数定义3.3函数调用3.4函数的原型与声明3.5函数的嵌套与递归3.6库函数3.7变量的作用域与存储类型3.8指针与函数14九月2021济南大学·信息学院上节内容回顾主函数main的内容:主要就是函数调用及输出。voidmain(){}自定义函数的内容:主要就是程序主功能的完成,然后返回值。函数返回值类型函数名(形参){除形参外的其它变量定义;功能完成语句;函数返回语句return;}变量定义实参赋值函数调用输出结果print
2、f14九月2021济南大学·信息学院定义函数时需要解决的问题:有没有参数?即:需要从主函数中传递数据吗?参数的个数:参数的类型:int、float、double、char或指针是否有返回值?即:是否向主函数返回计算结果?返回值的类型:void?其它int、float?14九月2021济南大学·信息学院intmax(intx,inty){……}voidmain(){……}2、函数调用的形式函数名(实参);3、函数间的参数传递实参形参平行定义3.3.3函数的返回值济南大学-信息学院C语言程序设计第5页intmax(
3、intx,inty){intz;z=x>y?x:y;return(z);}1、函数的返回值是通过return语句获得的。return语句的作用是终止当前函数的执行并将一个确定值带回主调函数中return语句的一般形式是:return(表达式);或:return表达式;2、函数返回值的类型:在定义函数时指定intmax(intx,inty)doublepower(intx,inty)C语言规定,凡不指定类型的函数,自动按整型(int)处理。max(intx,inty)intmax(intx,inty)济南大学-信
4、息学院C语言程序设计第6页函数值的类型与return语句中表达式的类型应一致;若不一致,则以函数类型为准(自动转换)。intmax(doublex,doubley){return(x>y?x:y);}3、一个函数可以有多个return语句,但每次调用只有一个return语句被执行,因此函数的返回值只有一个。4、对于有返回值的函数,若return语句后面没有表达式,或没有return语句,此时带回一个不确定的返回值。return;5、为了明确表示“不带回值”,用void定义“无类型”(或称“空类型”,即无返回值)
5、。voidmain(){…}14九月2021济南大学·信息学院无参数、无返回值的函数定义及调用①、编写一个函数,打印一行信息“Howdoyoudo!”printf("Howdoyoudo!");____dayin(____){}voidvoidmain(){}dayin();#include自定义函数:有没有参数:无不需要从主函数中传递数据。是否有返回值:无不需要向主函数返回结果。14九月2021济南大学·信息学院②输入圆的半径r,用自定义函数area实现圆的面积,并在主函数中输出最终的结
6、果。floatarea(intm){}#include//普通设计voidmain(){intr;floata;scanf(“%d”,&r);a=3.14*r*r;printf(“theareais%f”,a);}实参,可以和形参重名floats;s=3.14*m*m;returns;a=area(r);得到的信息:①函数有返回值,类型为float;②函数有参数,个数为1个,类型为int。济南大学-信息学院C语言程序设计第9页例3.2输入两个整数,计算其平均值。要求用函数实现平均值的计算。av
7、erage函数:有没有参数:有参数的个数:2参数的数据类型:int是否有返回值:有返回值的类型:float或doublefloataverage(intx,inty){floatresult;result=(x+y)/2.0;return(result);}voidmain(){inta,b;floatave;scanf("%d%d",&a,&b);ave=average(a,b);printf("ave=%f",ave);}主函数:函数调用average函数:实现平均值的计算。使用函数计算1+1/3+1/
8、5+…+1/n(n为奇数)的和。其中,n是从键盘上随机输入的一个整数。inti,n;floatsum;sum=0;printf(“inputn:”)scanf(“%d”,&n);for(i=1;i<=n;i+=2)sum+=1.0/i;printf("%f",sum);#includevoidmain(){}fun函数:有没有参数:?参数的个数:?参数的数据类