C定義関数(初歩)

2447 ワード

出力関数printfは,出力関数の役割は結果を算出するのではなく,出力の効果を生み出す.小さな例を見て、丸い磁器の皿があると仮定して、彼らの面積を求める必要があります.彼らの半径はそれぞれ3.21、2.15、3.33、3.56です.
#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関数内で一度修正すればいいです.