函数设计要求 执行单一的、明确的任务 函数名表达其任务 内聚性强、耦台性弱
16 函数设计要求 ◼ 执行单一的、明确的任务 ◼ 函数名表达其任务 内聚性强、耦合性弱
函数调用 double f(doub1ex);//函数原型 main o) y1=(x1);y2=£(x2);//调用函数 x=(x1*y2-x2*y1)/(y2-y1)
17 函数调用 double f(double x); // 函数原型 main() { ... y1=f(x1); y2=f(x2); //调用函数 x=(x1*y2-x2*y1)/(y2-y1); ... }
关于函数调用的说明 调用前要给出函数原型: 类型函数名(形参表 例:doub1ef(doub1ex) 2.函数调用的形式: 函数名(实参表) 例:f(10),f(a),f(10+a) 实参:可以是常量、变量或表达式
18 关于函数调用的说明 1. 调用前要给出函数原型: 类型 函数名(形参表); 例: double f(double x); 2. 函数调用的形式: 函数名(实参表); 例: f(10), f(a), f(10+a) 实参:可以是常量、变量或表达式
函数调用中的类型问题 按函数原型的参数类型强制转换 例 double maximum(int, int, int i double xi X= maximum(11, 2.1,3.1) X 19
19 函数调用中的类型问题 ◼ 按函数原型的参数类型强制转换 例: double maximum( int, int, int ); double x; x = maximum(1.1, 2.1, 3.1); x ?
函数原型的作用 ■编译程序用以检验函数的调用,以避免 因错误调用而导致运行时错误: 返回值的类型 参数的个数 参数的类型 参数的顺序
20 函数原型的作用 ◼ 编译程序用以检验函数的调用,以避免 因错误调用而导致运行时错误: ◼ 返回值的类型 ◼ 参数的个数 ◼ 参数的类型 ◼ 参数的顺序