C定義関数(初歩)
2447 ワード
出力関数printfは,出力関数の役割は結果を算出するのではなく,出力の効果を生み出す.小さな例を見て、丸い磁器の皿があると仮定して、彼らの面積を求める必要があります.彼らの半径はそれぞれ3.21、2.15、3.33、3.56です.
私たちは上記のようなプログラムを書くかもしれませんが、このプログラムには同じものがたくさんあります.各データの計算プロセスが同じであるだけでなく、同じデータを繰り返す必要があります.このとき、この面積を計算するための専門的な関数があれば、半径がいくらなのかを教えるだけで、結果を返すことができ、手間が省けます.もしこの関数がこのようなfloat circleであればarea(float r)floatはこの関数circle_areaの戻り値タイプ、float rはこの関数に渡されるパラメータで、タイプはfloatです.今circle_を書きます.area(float r)のビジネスロジック
簡単です.計算結果を返すことです.最適化されたプログラムを見てみましょう
計算プロセスを関数として定義し、名前を付けることができます.このような関数定義があれば、プログラムにこのような計算が必要であれば、関数の名前で簡単にこの関数を呼び出し、関連する論理演算を行うことができます.
このプログラムには2つの部分が含まれています.前はcircleです.areaの定義、後は私たちがよく知っているmain関数で、main関数内で前の定義のcircle_を呼び出しました.area関数.
circleを定義します.area関数は多くのメリットをもたらします.たとえば,関数呼び出しは一目瞭然であり,パラメータも一度だけ記入する必要がある.さらに重要なのは、ビジネスロジックが変化した場合、プログラムを変更する必要がある場合、呼び出し関数を少し変更するだけです.
10,000個の磁器の皿があるとしたら
プログラムの需要が変化し、計算面積が終わった後、追加の50.0を追加しなければなりません.このとき、プログラム10000の出力文に+50.0を追加しなければなりません.
もし本当にこのように手動で10000回操作したら、考えてみれば酔っ払っています.しかし、circleを定義してよかったです.area関数は、中で少し修正するだけで終わります.
私たちはcirleでareaの中でreturn r*r*r*3/1416+50.0に変更すればいいです.main関数内のものは、変更する必要はありません.
もしある日、bossがpi=3.1416が不正確で、より正確な3.141592が必要だと思ったら、この時私たちもcircle_area関数内で一度修正すればいいです.
#include
int main(){
printf("area = %f
",3.12*3.12*3.14);
printf("area = %f
",2.15*2.15*3.14);
printf("area = %f
",3.33*3.33*3.14);
printf("area = %f
",3.56*3.56*3.14);
return 0;
}
私たちは上記のようなプログラムを書くかもしれませんが、このプログラムには同じものがたくさんあります.各データの計算プロセスが同じであるだけでなく、同じデータを繰り返す必要があります.このとき、この面積を計算するための専門的な関数があれば、半径がいくらなのかを教えるだけで、結果を返すことができ、手間が省けます.もしこの関数がこのようなfloat circleであればarea(float r)floatはこの関数circle_areaの戻り値タイプ、float rはこの関数に渡されるパラメータで、タイプはfloatです.今circle_を書きます.area(float r)のビジネスロジック
float circle_area(float r){
return r * r * 3.1416;
}
簡単です.計算結果を返すことです.最適化されたプログラムを見てみましょう
#include
float circle_area(float r){
return r * r * 3.1416;
}
int main(){
printf("area = %f
",circle_area(3.12));
printf("area = %f
",circle_area(2.15));
printf("area = %f
",circle_area(3.22));
printf("area = %f
",circle_area(3.56));
return 0;
}
計算プロセスを関数として定義し、名前を付けることができます.このような関数定義があれば、プログラムにこのような計算が必要であれば、関数の名前で簡単にこの関数を呼び出し、関連する論理演算を行うことができます.
このプログラムには2つの部分が含まれています.前はcircleです.areaの定義、後は私たちがよく知っているmain関数で、main関数内で前の定義のcircle_を呼び出しました.area関数.
circleを定義します.area関数は多くのメリットをもたらします.たとえば,関数呼び出しは一目瞭然であり,パラメータも一度だけ記入する必要がある.さらに重要なのは、ビジネスロジックが変化した場合、プログラムを変更する必要がある場合、呼び出し関数を少し変更するだけです.
10,000個の磁器の皿があるとしたら
#include
int main(){
printf("area = %f
",3.12*3.12*3.14);
printf("area = %f
",2.15*2.15*3.14);
printf("area = %f
",3.33*3.33*3.14);
// 9996 printf
//...
//...
printf("area = %f
",3.56*3.56*3.14);
return 0;
}
プログラムの需要が変化し、計算面積が終わった後、追加の50.0を追加しなければなりません.このとき、プログラム10000の出力文に+50.0を追加しなければなりません.
printf("area = %f
",3.33*3.33*3.14 + 50.0);
もし本当にこのように手動で10000回操作したら、考えてみれば酔っ払っています.しかし、circleを定義してよかったです.area関数は、中で少し修正するだけで終わります.
float circle_area(float r){
return r * r * 3.1416 + 50;
}
私たちはcirleでareaの中でreturn r*r*r*3/1416+50.0に変更すればいいです.main関数内のものは、変更する必要はありません.
もしある日、bossがpi=3.1416が不正確で、より正確な3.141592が必要だと思ったら、この時私たちもcircle_area関数内で一度修正すればいいです.