C程序设计课件第4节.pptVIP

  • 0
  • 0
  • 约1.19万字
  • 约 53页
  • 2019-04-30 发布于江苏
  • 举报
第四章 函数 带子程序的C程序 函数 程序设计实例 带子程序的C程序 编程计算 其中 float x,y ; /* 3 */ float f(float v,float w ){ /* 4 */ return (w+v)/(7*v); /* 5 */ } /* 6 */ float p(float u){ /* 7 */ return ( f(u*0.3,x+u)+(u/2))/(2*x) ); /* 8 */ } /* 9 */ void main(){ /* 10 */ printf (please input x: ); /* 11 */ scanf(%f,x); /* 12 */ y=(p(x)*p(x)+(5*x))/(p(x+5)-sqrt(x))*p(x+2); /* 13 */ printf (y(x)=%8.4f\n,y) /* 14 */ } 程序执行的主要步骤 从键盘读入x的值 printf (please input x: ); scanf(%f,x); 依次计算以x, x+5, x+2作为实参的函数p的值 y=(p(x)*p(x)+(5*x))/(p(x+5)-sqrt(x))*p(x+2) 输入出函数y的值 printf (y(x)=%8.4f\n,y) 计算p(x+5)过程 计算 x+5 得 6.0 ; 将 6.0 送入 p 的形参 u 中,这时 u 的值为 6.0 ; 进入函数p ,执行 p 的操作部分(第8行),即返回语句“return ... ;”,先计算返回语句中表达式的值。 以 u*0.3 和 u+x 为实参调用函数 f 顺序计算 u*0.3 、u+x 得1.8 、7.0 ; 将1.8、7.0顺序送入 f 的形参v、w中,v=1.8、w=7.0; 进入函数 f 执行 f 的操作部分(第5行),执行返回语句 计算出表达式的值为 0.698413 带着函数值 0.698413 返回调用处,p 中的返回语句内(第8行) 计算出返回语句中表达式的值为 1.84921 即 p的值。 带着函数值1.84921 返回调用处:主程序第13行的表达式语句内。 使用子程序技术分离了“做什么”与“怎么做” 程序逻辑结构清晰,易写,易读,易懂。 程序的设计,调试,维护变得容易。 函数 数学中函数 函数概念的组成 函数定义 函数调用 使用函数注意事项 先定义该函数(标准库函数除外) ——类似于数学中的函数定义。 再在表达式中调用该函数 ——数学中计算某函数的一个特定值。 函数调用(function-designator) 调用过程 形参实参结合 进入函数执行复合语句 一般形式 F (e, e, …, e) F ( ) 例子 p (x+5) f (u*0.3,x+u) 函数定义(function-declaration) 除标准库函数外, 程序中使用函数必须先定义,然后再用“函数调用”调用它。 标准函数是系统已经定义好的函数,不必定义即可直接调用。 在程序example401A中: float f(float v,float w ){ /* 4 */ return (w+v)/(7*v); /* 5 */ } /* 6 */ float p(float u){ /* 7 */ return ( f(u*0.3,x+u)+(u/2))/(2*x) ); /* 8 */ } /* 9 */ 由上述语法可知,一个函数定义的形式是: 类型说明符 标识符 ( 参数列表 ) 复合语句 函数定义说明符 上述形式的第一行称“函数定义说明符”,形式如下 TT F ( 参数列表) 具体指明以下点: 函数的结果类型 ——由“类型说明符”( TT )标明; 函数的名字 ——由类型说明符后的“标识符” ( F )标明; 函数的形式参数个数和每个形式参数的特性 ——由“参数列表”标明。 函数类型(返回值的类型) 不能是数

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档