C 言語で剰余演算を使う方法

CBeginner
オンラインで実践に進む

はじめに

この実験では、C プログラミングにおける剰余演算子を使用して、除算の剰余を計算する方法を学びます。この実験では、以下の手順をカバーします。

整数変数を宣言し、ユーザーから値を入力してから、剰余演算子を使用して剰余を計算し、結果を出力します。この実践的な演習を通して、C の基本的な算術演算と、剰余演算子を効果的に適用する方法を理解することができます。

整数変数の宣言と入力値

このステップでは、C プログラムで剰余演算を行うために整数変数を宣言し、入力値を取得する方法を学びます。基本的な変数宣言とユーザー入力を実証するシンプルなプログラムを作成します。

まず、プロジェクトディレクトリに新しい C ファイルを作成します。

cd ~/project
nano modulus_example.c

次に、以下の C コードを入力します。

#include <stdio.h>

int main() {
    // 整数変数を宣言
    int dividend, divisor;

    // ユーザーに入力を促す
    printf("被除数 (除される数) を入力してください:");
    scanf("%d", &dividend);

    printf("除数 (除る数) を入力してください:");
    scanf("%d", &divisor);

    // 入力値を出力
    printf("被除数:%d\n", dividend);
    printf("除数:%d\n", divisor);

    return 0;
}

コードを詳しく見てみましょう。

  • int dividend, divisor; は、数値を格納するための 2 つの整数変数を宣言します。
  • printf() は、ユーザーに入力を促すために使用されます。
  • scanf() は、ユーザーからの整数入力を読み取ります。
  • %d は、整数の書式指定子です。
  • &dividend&divisor は、入力値を格納するためのメモリアドレスを渡します。

プログラムをコンパイルします。

gcc modulus_example.c -o modulus_example

プログラムの実行例:

被除数 (除される数) を入力してください:17
除数 (除る数) を入力してください:5
被除数:17
除数:5

剰余の計算

このステップでは、剰余演算子 (%) を使用して、C で除算の剰余を計算する方法を学びます。前のプログラムを修正して、剰余を計算し表示します。

既存のファイルを開き、コードを更新します。

cd ~/project
nano modulus_example.c

前のコードを以下のコードに置き換えます。

#include <stdio.h>

int main() {
    // 整数変数を宣言
    int dividend, divisor, remainder;

    // ユーザーに入力を促す
    printf("被除数 (除される数) を入力してください:");
    scanf("%d", &dividend);

    printf("除数 (除る数) を入力してください:");
    scanf("%d", &divisor);

    // 剰余演算子を使用して剰余を計算
    remainder = dividend % divisor;

    // 入力値と剰余を出力
    printf("被除数:%d\n", dividend);
    printf("除数:%d\n", divisor);
    printf("剰余:%d\n", remainder);

    return 0;
}

このバージョンの変更点:

  • 結果を格納するための新しい変数 remainder を追加しました。
  • 剰余を計算するために剰余演算子 % を使用しました。
  • 剰余を表示するための出力文を追加しました。

更新されたプログラムをコンパイルします。

gcc modulus_example.c -o modulus_example

プログラムの実行例:

被除数 (除される数) を入力してください: 17
除数 (除る数) を入力してください: 5
被除数: 17
除数: 5
剰余: 2

この例では、17 を 5 で割ると、商は 3 で剰余は 2 です。剰余演算子 % はまさにこの剰余を返します。

結果の表示

このステップでは、剰余演算の結果をより意味のある方法でフォーマットして表示する方法を学びます。計算内容を分かりやすく説明するために、前のプログラムを拡張します。

既存のファイルを開き、コードを更新します。

cd ~/project
nano modulus_example.c

前のコードを以下のコードに置き換えます。

#include <stdio.h>

int main() {
    // 整数変数を宣言
    int dividend, divisor, remainder, quotient;

    // ユーザーに入力を促す
    printf("被除数 (除される数) を入力してください:");
    scanf("%d", &dividend);

    printf("除数 (除る数) を入力してください:");
    scanf("%d", &divisor);

    // 商と剰余を計算
    quotient = dividend / divisor;
    remainder = dividend % divisor;

    // 除算の詳細な説明を表示
    printf("\n除算計算:\n");
    printf("%d ÷ %d = %d 余り %d\n",
           dividend, divisor, quotient, remainder);

    // 検証式
    printf("\n検証:\n");
    printf("%d = %d × %d + %d\n",
           dividend, divisor, quotient, remainder);

    return 0;
}

更新されたプログラムをコンパイルします。

gcc modulus_example.c -o modulus_example

プログラムの実行例:

被除数 (除される数) を入力してください: 17
除数 (除る数) を入力してください: 5

除算計算:
17 ÷ 5 = 3 余り 2

検証:
17 = 5 × 3 + 2

このバージョンの変更点:

  • 整数除算を使用して quotient を計算しました。
  • 除算プロセスを示すより詳細な出力を含めました。
  • 数学的な関係を示す検証行を追加しました。

まとめ

この実験では、C プログラムで整数変数を宣言し、剰余演算を行うための値を入力する方法を学びました。ユーザーに被除数と除数を促し、剰余演算子を使用して除算の剰余を計算するシンプルなプログラムを作成しました。プログラムは、入力値と計算された剰余を表示します。

さらに、C プログラムをコンパイルして実行し、プログラムの出力を確認する方法も学びました。この実験は、剰余演算子とその C プログラミングにおける実際的な応用に関する実践的な導入となりました。