C 言語で絶対値を計算する方法

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

はじめに

この実験では、C プログラミングで絶対値式を評価する方法を学びます。この実験では、整数または浮動小数点値の読み込み、abs() または fabs() 関数を使用して絶対値を計算し、結果を出力する手順をカバーします。変数宣言、入出力操作、および C の組み込み数学関数を使った作業について実践的な経験を積みます。

この実験は、代数式における基本的な概念である絶対値式の評価プロセスを理解するのに役立つ、段階的なガイドを提供します。実験の終わりまでに、整数および浮動小数点数の絶対値計算を処理できる C プログラムを作成できるようになります。

整数または浮動小数点数の読み込み

このステップでは、C プログラミングで整数と浮動小数点数の読み込み方法を学びます。数値入力のさまざまな方法を示し、変数宣言と入力の基本を理解します。

数値入力のための変数宣言

まず、整数と浮動小数点数を読み込む C プログラムを作成しましょう。~/project ディレクトリに numeric_input.c という新しいファイルを作成します。

nano ~/project/numeric_input.c

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

#include <stdio.h>

int main() {
    int integerValue;
    float floatValue;

    // 整数の読み込み
    printf("Enter an integer: ");
    scanf("%d", &integerValue);

    // 浮動小数点数の読み込み
    printf("Enter a float value: ");
    scanf("%f", &floatValue);

    // 入力値の表示
    printf("Integer value: %d\n", integerValue);
    printf("Float value: %f\n", floatValue);

    return 0;
}

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

  • int integerValue; は整数型の変数を宣言します。
  • float floatValue; は浮動小数点型の変数を宣言します。
  • scanf("%d", &integerValue); は整数の入力を読み込みます。
  • scanf("%f", &floatValue); は浮動小数点数の入力を読み込みます。
  • %d は整数フォーマット指定子です。
  • %f は浮動小数点フォーマット指定子です。

プログラムのコンパイルと実行

gcc を使ってプログラムをコンパイルします。

gcc ~/project/numeric_input.c -o ~/project/numeric_input

プログラムを実行します。

~/project/numeric_input

実行例:

Enter an integer: 42
Enter a float value: 3.14
Integer value: 42
Float value: 3.140000

abs() または fabs() を使って絶対値を計算する

このステップでは、C で組み込み関数 abs() (整数用) と fabs() (浮動小数点数用) を使って絶対値を計算する方法を学びます。

絶対値関数について

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

nano ~/project/absolute_value.c

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

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    // 整数の絶対値
    int intNumber = -42;
    int intAbsolute = abs(intNumber);

    // 浮動小数点数の絶対値
    float floatNumber = -3.14;
    float floatAbsolute = fabs(floatNumber);

    // 絶対値の表示
    printf("Integer: %d, Absolute Value: %d\n", intNumber, intAbsolute);
    printf("Float: %f, Absolute Value: %f\n", floatNumber, floatAbsolute);

    return 0;
}

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

  • abs() は整数絶対値に使用します (<stdlib.h> から)。
  • fabs() は浮動小数点絶対値に使用します (<math.h> から)。
  • 両方の関数は、数値の非負の大きさを返します。

プログラムのコンパイルと実行

数学ライブラリを使ってプログラムをコンパイルします。

gcc ~/project/absolute_value.c -o ~/project/absolute_value -lm

プログラムを実行します。

~/project/absolute_value

実行例:

Integer: -42, Absolute Value: 42
Float: -3.140000, Absolute Value: 3.140000

異なる数値型の扱い

整数と浮動小数点数の絶対値では、ヘッダーファイルと関数が異なります。

  • 整数の場合:#include <stdlib.h>abs()
  • 浮動小数点数の場合は:#include <math.h>fabs()

結果の出力

このステップでは、C 言語で絶対値の結果を異なるフォーマットオプションでフォーマットして出力する方法を学びます。

包括絶対値計算のプログラムの作成

~/project ディレクトリに absolute_value_print.c という新しいファイルを作成します。

nano ~/project/absolute_value_print.c

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

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    // 入力変数
    int intNumber;
    float floatNumber;

    // 入力を促すメッセージ
    printf("Enter an integer: ");
    scanf("%d", &intNumber);

    printf("Enter a float number: ");
    scanf("%f", &floatNumber);

    // 絶対値を計算
    int intAbsolute = abs(intNumber);
    float floatAbsolute = fabs(floatNumber);

    // 異なるフォーマットで結果を出力
    printf("Original Integer: %d\n", intNumber);
    printf("Absolute Integer: %d\n", intAbsolute);

    printf("\nOriginal Float: %.2f\n", floatNumber);
    printf("Absolute Float: %.2f\n", floatAbsolute);

    // 指数表記
    printf("\nAbsolute Float (Scientific): %e\n", floatAbsolute);

    return 0;
}

プログラムのコンパイルと実行

数学ライブラリを使ってプログラムをコンパイルします。

gcc ~/project/absolute_value_print.c -o ~/project/absolute_value_print -lm

プログラムを実行します。

~/project/absolute_value_print

実行例:

Enter an integer: -42
Enter a float number: -3.14
Original Integer: -42
Absolute Integer: 42

Original Float: -3.14
Absolute Float: 3.14

Absolute Float (Scientific): 3.140000e+00

出力フォーマットについて

示された主なフォーマットオプション:

  • 整数用:%d
  • 浮動小数点数用:%f
  • 小数点以下 2 桁表示:%.2f
  • 指数表記:%e

まとめ

この実験では、C プログラミングで整数と浮動小数点数の値を読み込む方法、および組み込み関数 abs()fabs() を使ってこれらの数値の絶対値を計算する方法を学びます。最初に、整数と浮動小数点数の入力用の変数を宣言し、scanf() 関数を使用して値を読み込みます。次に、整数には abs() 関数、浮動小数点数には fabs() 関数を使用して絶対値を計算し、結果を出力します。