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

p.146 retuen文と返却値

・関数は0または1個の情報を返すことができる。これが返却値/戻り値で、return文に指定する
・return文には値や式を記述できるので、単純な関数ではreturn文で記述できる場合もある

アレンジ演習:p.147 演習6-1 ex0601.cpp

・関数min2の内容をreturn文のみにしよう
・ヒント:[C] p.146 list0601c.c

作成例

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

p.147 list0602.cpp

//p.147 list0602.cpp 三つの整数の最大値を求める
#include <stdio.h>
//--- 三つの整数の最大値を返す ---//
int max3(int a, int b, int c)
{
    int max = a; //仮に引数aの値が最大だとする
    if (b > max) max = b; //引数bの値が最大値超なら最大値を更新
    if (c > max) max = c; //引数cの値が最大値超なら最大値を更新
    return max; //最大値を返す
}
int main(void)
{
    int a, b, c;
    puts("三つの整数を入力せよ。");
    printf("整数a:");      scanf("%d", &a);
    printf("整数b:");      scanf("%d", &b);
    printf("整数c:");      scanf("%d", &c);
    printf("最大値は%dです。\n", max3(a, b, c)); //関数の戻り値をそのまま表示(※変数名と引数名が同じだが別物)
    return 0;
}

p.147 演習6-2 ex0602.cpp ヒント

・VC++の置換機能を用いてmax⇒min、大きい⇒小さい、最大⇒最小 などの変更をもれなく行うこと
・不等号を反転することも忘れずに

作成例

//p.147 list0602.cpp 三つの整数の最小値を求める
#include <stdio.h>
//--- 三つの整数の最小値を返す ---//
int min3(int a, int b, int c)
{
    int min = a; //仮に引数aの値が最小だとする
    if (b < min) min = b; //引数bの値が最小値未満なら最小値を更新
    if (c < min) min = c; //引数cの値が最小値未満なら最小値を更新
    return min; //最小値を返す
}
int main(void)
{
    int a, b, c;
    puts("三つの整数を入力せよ。");
    printf("整数a:");      scanf("%d", &a);
    printf("整数b:");      scanf("%d", &b);
    printf("整数c:");      scanf("%d", &c);
    printf("最小値は%dです。\n", min3(a, b, c)); //関数の戻り値をそのまま表示(※変数名と引数名が同じだが別物)
    return 0;
}

コメントを残す

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