C 言語による乗算と除算

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

はじめに

この実験では、C プログラミングを用いて、乗算と除算などの基本的な算術演算を実行する方法を学びます。この実験は、以下の手順で構成されています。

まず、変数を宣言し、ユーザーから値を入力する方法を学びます。ユーザーが 2 つの数値を入力できるシンプルなプログラムを作成し、それらの数値を乗算および除算演算に使用します。

次に、入力値を使用して実際の乗算および除算計算を実行するプログラムを拡張します。プログラムはこれらの演算の結果を表示し、ゼロ除算の場合も適切に処理します。

変数の宣言と入力値

このステップでは、C プログラミングで算術演算を行うための変数の宣言と入力値の取得方法を学びます。乗算と除算のために、ユーザーが 2 つの数値を入力できるシンプルなプログラムを作成します。

まず、~/project ディレクトリに新しい C ファイルを作成します。

cd ~/project
nano arithmetic_operations.c

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

#include <stdio.h>

int main() {
    // 入力数値を格納するための変数を宣言
    float num1, num2;

    // ユーザーに最初の数値を入力するよう促す
    printf("Enter the first number: ");
    scanf("%f", &num1);

    // ユーザーに 2 番目の数値を入力するよう促す
    printf("Enter the second number: ");
    scanf("%f", &num2);

    // 入力された数値を出力する
    printf("First number: %.2f\n", num1);
    printf("Second number: %.2f\n", num2);

    return 0;
}

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

  • 小数を含む数値を扱うために float データ型を使用しています。
  • printf() はユーザーへのプロンプトを表示するために使用されます。
  • scanf() はユーザー入力を読み取り、変数に格納します。
  • %.2f は出力の書式設定を行い、小数点以下 2 桁で表示します。

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

gcc arithmetic_operations.c -o arithmetic_operations

プログラムを実行し、いくつかのサンプル数値を入力します。

./arithmetic_operations

出力例:

Enter the first number: 10.5
Enter the second number: 3.2
First number: 10.50
Second number: 3.20

乗算と除算の実行

このステップでは、入力値を使用して乗算と除算の演算を実行するように、前のプログラムを拡張します。

既存のarithmetic_operations.cファイルを開きます。

cd ~/project
nano arithmetic_operations.c

乗算と除算の演算を追加したコードを更新します。

#include <stdio.h>

int main() {
    // 入力数値と結果を格納するための変数を宣言
    float num1, num2, multiply_result, divide_result;

    // ユーザーに最初の数値を入力するよう促す
    printf("Enter the first number: ");
    scanf("%f", &num1);

    // ユーザーに 2 番目の数値を入力するよう促す
    printf("Enter the second number: ");
    scanf("%f", &num2);

    // 乗算を実行
    multiply_result = num1 * num2;
    printf("Multiplication: %.2f * %.2f = %.2f\n", num1, num2, multiply_result);

    // 除算を実行
    divide_result = num1 / num2;
    printf("Division: %.2f / %.2f = %.2f\n", num1, num2, divide_result);

    return 0;
}

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

gcc arithmetic_operations.c -o arithmetic_operations

プログラムを実行し、乗算と除算をテストします。

./arithmetic_operations

出力例:

Enter the first number: 10.5
Enter the second number: 3.2
Multiplication: 10.50 * 3.20 = 33.60
Division: 10.50 / 3.20 = 3.28

重要なポイント:

  • * 演算子は乗算を実行します。
  • / 演算子は除算を実行します。
  • 結果は個別の変数に格納されます。
  • %.2f は出力の書式設定を行い、小数点以下 2 桁で表示します。

ゼロ除算を適切に処理する

このステップでは、算術演算におけるゼロ除算(プログラムのクラッシュを引き起こす可能性のある一般的なエラー)の処理方法を学びます。

既存のarithmetic_operations.cファイルを開きます。

cd ~/project
nano arithmetic_operations.c

ゼロ除算を処理するようにコードを更新します。

#include <stdio.h>

int main() {
    // 入力数値と結果を格納するための変数を宣言
    float num1, num2, multiply_result, divide_result;

    // ユーザーに最初の数値を入力するよう促す
    printf("Enter the first number: ");
    scanf("%f", &num1);

    // ユーザーに 2 番目の数値を入力するよう促す
    printf("Enter the second number: ");
    scanf("%f", &num2);

    // 乗算を実行
    multiply_result = num1 * num2;
    printf("Multiplication: %.2f * %.2f = %.2f\n", num1, num2, multiply_result);

    // 除算を実行する前にゼロ除算をチェックする
    if (num2 != 0) {
        divide_result = num1 / num2;
        printf("Division: %.2f / %.2f = %.2f\n", num1, num2, divide_result);
    } else {
        printf("Error: ゼロ除算は許可されていません!\n");
    }

    return 0;
}

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

gcc arithmetic_operations.c -o arithmetic_operations

プログラムを実行し、さまざまなシナリオをテストします。

ゼロでない除数でテストする:

./arithmetic_operations

出力例(ゼロでない除数):

Enter the first number: 10.5
Enter the second number: 3.2
Multiplication: 10.50 * 3.20 = 33.60
Division: 10.50 / 3.20 = 3.28

ゼロを除数としてテストする:

./arithmetic_operations

出力例(ゼロ除数):

Enter the first number: 10.5
Enter the second number: 0
Multiplication: 10.50 * 0.00 = 0.00
Error: ゼロ除算は許可されていません!

重要なポイント:

  • 除数がゼロかどうかを確認するためにif文を使用する。
  • ユーザーフレンドリーなエラーメッセージを表示する。
  • ゼロ除算の場合を処理することでプログラムのクラッシュを防ぐ。

まとめ

この実験では、C プログラミングで算術演算を実行するための変数の宣言と入力値の処理方法を学びました。ユーザーが 2 つの数値を入力して乗算と除算を実行できるシンプルなプログラムを作成しました。入力値を使用して乗算と除算の演算を実行する方法、および除算を実行する前にゼロ除数をチェックすることで、ゼロ除算エラーを適切に処理する方法も学びました。

この実験で得られた主な学習ポイントは次のとおりです。

  • 入力数値と結果を格納するための変数の宣言
  • printf()を使用してプロンプトを表示し、scanf()を使用してユーザー入力を読み取る
  • 入力値に対して乗算と除算の演算を実行する
  • ゼロ除算エラーを処理してプログラムのクラッシュを防ぐ