
C言語で計算する時ってどうやって書くの?算術演算子と代入演算子って何?
こんな疑問にお答えします。
記事の内容
- C言語で計算式を書く方法
- 算術演算子・代入演算子とは
- 算術演算子の優先順位

おゆ
元エンジニアの筆者が解説します。
【C言語】計算式の書き方
算術演算子とは
+や-など役割を持った記号を演算子といいます。計算に使う演算子は算術演算子と呼ばれます。
C言語の算術演算子は以下の5つです。
| 演算名 | 演算子 | 意味 |
| 加算 | + | 足し算 |
| 減算 | - | 引き算 |
| 乗算 | * | 掛け算 |
| 除算 | / | 割り算 |
| 剰余算 | % | 割り算の余り |

おゆ
算数で使う記号とは若干違います。キーボードにある記号の中から割り当てられています。
例:
#include <stdio.h>
void main()
{
printf("6+3=%d\n",6+3); //加算
printf("6-3=%d\n",6-3); //減算
printf("6*3=%d\n",6*3); //乗算
printf("6/3=%d\n",6/3); //除算
printf("6%%3=%d\n",6%3); //剰余算(%と表示するには%%と書く)
printf("7%%3=%d\n",7%3); //剰余算
}
実行結果
6+3=9
6-3=3
6*3=18
6/3=2
6%3=0
7%3=1
実行結果に%と表示したいときはprintfのカッコ内で%%と2つ続けて書きます。%はフォーマット指定子(%dなど)にも使われるので、フォーマット指定子でないと示すためにこのような書き方をします。
代入演算子とは
代入演算子とは以下のように演算を簡略化して書くためのものです。
| 代入演算子 | 例 | 例の意味 |
| += | a+=1 | aに1を足してaに代入する(a=a+1と同じ) |
| -= | a-=1 | aから1を引いてaに代入(a=a-1と同じ) |
| *= | a*=1 | aに1を掛けてaに代入(a=a*1と同じ) |
| /= | a/=1 | aを1で割ってaに代入(a=a/1と同じ) |
| %= | a%=1 | aを1で割った余りをaに代入(a=a%1と同じ) |
例:
#include <stdio.h>
void main()
{
int a=2, b=2, c=2, d=2, e=2;
a+=2;
b-=2;
c*=2;
d/=2;
e%=2;
printf("a=%d, b=%d, c=%d, d=%d, e=%d\n",a ,b ,c ,d ,e);
}
実行結果
a=4, b=0, c=4, d=1, e=0
算術演算子の優先順位
数学で習うのと同じようにC言語でも計算の順番に優先順位があります。
| 優先順位高 | *, /, % |
| 優先順位低 | +, - |
+, -だけの時または*, /, %だけの時は左から順に計算されます。

算術演算子が入り混じっている時は*, /, %が優先的に計算されます。

ただしカッコで囲んだ部分は優先順位関係なく先に計算されます。

まとめ
| 演算名 | 演算子 | 代入演算子 | 優先順位 |
| 加算 | + | += | 低 |
| 減算 | - | -= | 低 |
| 乗算 | * | *= | 高 |
| 除算 | / | /= | 高 |
| 剰余算 | % | %= | 高 |

おゆ
剰余算は日常生活では使いませんが、プログラムでは奇数と偶数で処理を分けるときの偶奇判定などで意外と使います。