プログラミング言語Ⅰ・講義メモ1

・p.144「関数呼出し」から

p.143 関数定義(再掲載)

・プログラマが自前の関数を追加したい場合、main関数とは別に記述する
・定義書式: 返却値型 関数名(仮引数並び){内容}
・C言語の関数は「データを0個以上与えると、なにかを行って、データを0または1個返す」
・この、返す値の型が「返却値型」になる
・また、関数が受け取る0個以上の値を示すのが「仮引数並び」になる
・例えば、整数2値の和を整数で返す関数addであれば:
 int add(int a, int b) { retrn a + b; }
・この例のaとbを仮引数といい、関数側で受け取るために適当な名前をつけて用いる
・複雑で複数回呼ばれる処理であれば、関数にするメリットが大きい。

p.144 関数呼出し

・定義済の関数は「関数名(引数,…)」で呼び出す=利用することができる
・この時、引数名を意識する必要はなく、型と引数の数が合っていれば良い
・例えば、整数2値の和を整数で返す関数addであれば:
 int add(int a, int b) { retrn a + b; }
 ⇒ add(1, 2); とか、 int x = 5; add(x, 6); などと呼び出せる。

p.144 list0601.cpp

//p.144 list0601.cpp 二つの整数の大きいほうの値を求める
#include <stdio.h>
//--- 大きいほうの値を返す ---//
int max2(int a, int b) //戻り値型はint、引数がint×2
{
    if (a > b) //aの値の方が大きければ
        return a; //aの値を返す
    else //でなければ
        return b; //bの値を返す
}
int main(void)
{
    int n1, n2;
    puts("二つの整数を入力せよ。");
    printf("整数1:");   scanf("%d", &n1);
    printf("整数2:");   scanf("%d", &n2);
    printf("大きいほうの値は%dです。\n", max2(n1, n2)); //関数に2変数の値を渡して戻り値を表示
    return 0;
}

アレンジ演習:p.144 list0601.cpp

・関数max2(n1, n2)の戻り値をいったんint型の変数mで受け取ってから表示しよう

作成例

//アレンジ演習:p.144 list0601.cpp 二つの整数の大きいほうの値を求める
#include <stdio.h>
//--- 大きいほうの値を返す ---//
int max2(int a, int b) //戻り値型はint、引数がint×2
{
    if (a > b) //aの値の方が大きければ
        return a; //aの値を返す
    else //でなければ
        return b; //bの値を返す
}
int main(void)
{
    int n1, n2;
    puts("二つの整数を入力せよ。");
    printf("整数1:");   scanf("%d", &n1);
    printf("整数2:");   scanf("%d", &n2);
    int m = max2(n1, n2); //関数に2変数の値を渡して戻り値(最大値)を得る
    printf("大きいほうの値は%dです。\n", m); //最大値を表示
    return 0;
}

p.147 演習6-1 ex0601.cpp ヒント

・VC++の置換機能を用いてmax⇒min、大きい⇒小さい、最大⇒最小 などの変更をもれなく行うこと

作成例

//p.147 演習6-1 二つの整数の小さいほうの値を求める
#include <stdio.h>
//--- 小さいほうの値を返す ---//
int min2(int a, int b) //戻り値型はint、引数がint×2
{
    if (a < b) //aの値の方が小さければ
        return a; //aの値を返す
    else //でなければ
        return b; //bの値を返す
}
int main(void)
{
    int n1, n2;
    puts("二つの整数を入力せよ。");
    printf("整数1:");   scanf("%d", &n1);
    printf("整数2:");   scanf("%d", &n2);
    int m = min2(n1, n2); //関数に2変数の値を渡して戻り値(最小値)を得る
    printf("小さいほうの値は%dです。\n", m); //最小値を表示
    return 0;
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です