C言語で完全理解!round関数の使い方を7ステップで学ぶ

C言語のround関数の使い方を解説する記事のサムネイルC言語
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

C言語は、プログラミングの基本を学ぶために非常に役立つ言語です。

その多くの関数の中で、今回はround関数に焦点を当て、その使い方と応用例について詳細に解説します。

●C言語とは

C言語は、1970年代に開発された汎用プログラミング言語であり、システムソフトウェアや組み込みシステムの開発に広く利用されています。

その特性上、精密な制御が可能であり、学習することによってプログラミングの基本概念を深く理解することができます。

●round関数とは

round関数は、C言語の数学関数の一つであり、その役割は実数を最も近い整数に四捨五入することです。

四捨五入は、計算結果を人間が理解しやすい形式に変換する際に頻繁に使用されます。

●round関数の基本的な使い方

round関数を使用するには、次のように数学ライブラリ(math.h)を含めることから始めます。

○round関数の基本的な構造

round関数の基本的な構造は非常にシンプルで、次のように実数を引数として取り、四捨五入した結果を返します。

#include <math.h>
double round(double x);

この関数は、引数xとして渡された実数を四捨五入し、その結果を返します。

○サンプルコード1:基本的な使い方

round関数の基本的な使い方を紹介するために、簡単なコードを表します。

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

int main(void) {
    double num = 3.6;
    double result = round(num);
    printf("四捨五入の結果:%f\n", result);
    return 0;
}

このコードでは、3.6をround関数に渡し、その結果を表示しています。

これを実行すると、「四捨五入の結果:4.000000」と表示されます。

●round関数の応用例

round関数は単一の数値だけでなく、数値リストや実数の四捨五入にも使用できます。

○サンプルコード2:数値リストの四捨五入

例えば、下記のコードでは、配列内の各要素を四捨五入しています。

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

int main(void) {
    double nums[] = {1.2, 2.5, 3.7, 4.4, 5.8};
    for (int i = 0; i < 5; i++) {
        printf("%fの四捨五入の結果:%f\n", nums[i], round(nums[i]));
    }
    return 0;
}

このコードを実行すると、配列の各要素が四捨五入された結果が出力されます。

○サンプルコード3:実数の四捨五入

また、実数の四捨五入も可能です。

下記のコードはその例を表しています。

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

int main(void) {
    double num = 3.14159;
    double result = round(num);
    printf("%fの四捨五入の結果:%f\n", num, result);
    return 0;
}

このコードを実行すると、「3.141590の四捨五入の結果:3.000000」と表示されます。

●round関数の注意点とその対処法

一方、round関数には注意点があります。

それは、四捨五入の結果が原点から遠くなるという特性です。

例えば、2.5を四捨五入すると3になりますが、-2.5を四捨五入すると-3になります。

これは四捨五入の通常のルール(0.5以上であれば次の整数に、それ以下であれば最も近い整数に丸める)とは異なります。

この特性を理解した上で、適切に利用することが重要です。

●round関数のカスタマイズ方法

また、round関数はカスタマイズも可能です。

例えば、小数点以下2桁までの精度で四捨五入したい場合は、次のように実装できます。

○サンプルコード4:精度の指定

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

int main(void) {
    double num = 3.14159;
    double scale = 100.0;
    double result = round(num * scale) / scale;
    printf("%fを小数点以下2桁で四捨五入の結果:%f\n", num, result);
    return 0;
}

このコードでは、numを100倍(scale)してから四捨五入し、再び100で割ることで、小数点以下2桁までの精度での四捨五入を実現しています。

これを実行すると、「3.141590を小数点以下2桁で四捨五入の結果:3.140000」と表示されます。

まとめ

以上が、C言語のround関数の基本的な使い方と応用例、注意点、カスタマイズ方法についての説明です。

この情報が、C言語を学び、より効果的に使いこなす一助となれば幸いです。