【C言語】演算子のパーセント(%)について使い方を解説

この記事では、C言語におけるパーセント演算子(%)の使い方について解説します。

パーセント演算子を使用することで、割り算の余りを求めたり、値の範囲を制限したりすることができます。

初心者の方でもわかりやすく、具体的なコード例を交えて解説します。

目次から探す

パーセント演算子とは

パーセント演算子(%)は、C言語において剰余(余り)を求めるために使用される演算子です。

剰余とは、2つの数値を割った際に余りとして残る値のことを指します。

例えば、10を3で割った場合、商は3で余りは1となります。

この余りを求めるためにパーセント演算子を使用します。

C言語では、以下のようにパーセント演算子を使用して剰余を求めることができます。


int result = 10 % 3;

上記のコードでは、10を3で割った余りをresultという変数に代入しています。

この場合、resultの値は1となります。

パーセント演算子は整数型の変数に対して使用することが一般的であり、浮動小数点数に対して使用することはできません。

浮動小数点数(float,double型)の数値の剰余を求める方法は後述

パーセント演算子は、剰余を求める以外にも様々な用途で使用することができます。

次のセクションでは、具体的な使用例を紹介します。

パーセント演算子の使い方

パーセント演算子(%)は、C言語で使用される演算子の一つです。

主に割り算の余りを求めるために使用されますが、他の用途でも利用することができます。

割り算の余りを求める

パーセント演算子は、割り算の余りを求めるために使用されます。

具体的な使い方を以下の例で説明します。


#include <stdio.h>
int main() {
    int dividend = 10;  // 割られる数
    int divisor = 3;    // 割る数
    int remainder;      // 余り
    remainder = dividend % divisor;  // 割り算の余りを計算
    printf("割り算の余りは %d です\n", remainder);
    return 0;
}

上記のプログラムでは、dividenddivisorで割った余りを求めています。

%演算子を使用することで、割り算の余りを簡単に計算することができます。

実行結果は以下の通りです。

割り算の余りは 1 です

値の範囲を制限する

パーセント演算子は、値の範囲を制限するためにも使用することができます。

具体的な使い方を以下の例で説明します。


#include <stdio.h>
int main() {
    int value = 25;  // 制限する値
    value = value % 10;  // 値を10で割った余りを計算
    printf("値の範囲は 0 から 9 までです: %d\n", value);
    return 0;
}

上記のプログラムでは、valueの値を10で割った余りを計算しています。

これにより、valueの値が0から9の範囲に制限されます。

実行結果は以下の通りです。

値の範囲は 0 から 9 までです: 5

パーセント演算子を使用することで、割り算の余りを求めたり、値の範囲を制限することができます。

これらの使い方を覚えておくと、プログラムの開発に役立つことでしょう。

浮動小数点数の剰余を求める場合

浮動小数点数の剰余を求める場合、C言語ではfmod関数を使用します。

fmod関数math.hヘッダーファイルに定義されており、浮動小数点数の剰余を計算するための関数です。

fmod関数は以下のような構文で使用します。


#include <math.h>
double fmod(double x, double y);

この関数は、xをyで割った余りを返します。

xとyはどちらも浮動小数点数型の値です。

以下に、fmod関数を使用して浮動小数点数の剰余を求めるサンプルコードを示します。


#include <stdio.h>
#include <math.h>
int main() {
    double dividend = 10.5;
    double divisor = 3.2;
    double remainder = fmod(dividend, divisor);
    printf("割られる数: %.1f\n", dividend);
    printf("割る数: %.1f\n", divisor);
    printf("剰余: %.1f\n", remainder);
    return 0;
}

上記のコードでは、dividendに10.5、divisorに3.2を代入しています。

そして、fmod関数を使用してdividendをdivisorで割った余りを計算し、remainderに代入しています。

最後に、printf関数を使用して結果を表示しています。

実行結果は以下のようになります。

割られる数: 10.5
割る数: 3.2
剰余: 0.9

このように、fmod関数を使用することで浮動小数点数の剰余を求めることができます。

目次から探す