第三章模块化程序设计01.pptVIP

  • 0
  • 0
  • 约2.02千字
  • 约 29页
  • 2020-03-26 发布于浙江
  • 举报
第三章 模块化程序设计;#include stdio.h int max(int x, int y) { int z; if (xy) z=x; else z=y; return(z); } void main( ) { int a,b,c; scanf(%d%d, a,b); c=max(a, b); printf(max=%d\n,c); };函数-模块化程序设计的体现;3.1 模块化程序设计的思想;阶乘模块fac(n)的实现: f = 1; for ( i=1; i= n ; i++) { f = f * i; };#include stdio.h//普通设计 void main() { int i, k, m, n; float x, y, z; scanf(%d%d%d, k, m, n); x = 1; //fac(k) for (i=1; i=k; i++) x = x * i; y = 1; //fac(m) for (i=1; i=m; i++) y = y * i; z = 1; //fac(n) for (i=1; i=n; i++) z = z * i; printf(%f\n, x/(y+z)); };3.2 函数定义;void main( ) { int k, m, n; float x, y, z; scanf(%d%d%d, k, m, n); x = fac(k); y = fac(m); z = fac(n); printf(%f\n, x/(y+z)); };1、函数定义的形式:;④、参数(形参)列表:需说明参数的个数和类型,多个参数间用逗号间隔,也可以无参数,但括号不能省。;⑤、函数体:由左右花括号括起来的部分。包括说明部分和语句部分,是实现函数的核心部分 说明部分:定义函数内除形参以外的其它变量等; 语句部分:实现函数功能的执行语句;;C语言不允许在一个函数内定义另一个函数,即不能嵌套定义。所有函数在书写时都是平行的,通常写在main上方。;void main( ) { int k, m, n; float x, y, z; scanf(%d%d%d, k, m, n); x = fac(k); y = fac(m); z = fac(n); printf(%f\n, x/(y+z)); };例:;3.3 函数调用(函数使用);3、函数调用的方式;3.3.2 函数间的参数传递;函数调用的说明;#include stdio.h void sum(int x, int y, int z) { x=10; y=20; z=x+y; printf(x=%d, y=%d, z=%d\n, x,y,z); } void main( ) { int a=1, b=2, c=0; sum(a, b, c); printf(a=%d, b=%d, c=%d\n, a,b,c); };定义函数时需要解决的问题: 有没有参数?即:需要从主调函数中传递数据吗? 参数的个数: 参数的类型:int、float、double、char或指针 是否有返回值?即:是否向主调函数返回计算结果? 返回值的类型:void?其它int、float?;3.3.3 函数的返回值;  函数值的类型与return语句中表达式的类型应一致;若不一致,则以函数类型为准(自动转换)。;例:输入圆的半径r,用自定义函数area实现圆的面积,并在主函数中输出最终的结果。 也可以这样思考:;编写函数的技巧:;sum函数: 有没有参数:有 参数的个数:2 参数的数据类型:float或int 是否有返回值:有 返回值的类型:float 或 int;例题: 编写函数sum,它的功能是计算a+|b|,a和b都要从主函数中输入,计算结果也要在主函数中输出。;例3.2 输入两个整数,计算其平均值。要求用函数实现平均值的计算。;使用函数计算 1+1/3+1/5+…+1/n(n为奇数)的和。其中,n是从键盘上随机输入的一个整数。;#include stdio.h float fun(int n) { } void main( ) { int n; printf(Input n:); scanf(%d,n); printf(%f\n,fun(n)); }

文档评论(0)

1亿VIP精品文档

相关文档