C言語で足し算、引き算、掛け算、割り算などの加減乗除(=四則演算)の記述方法とその四則演算に使う演算子について解説します。
足し算や引き算に使う+ や - などの記号は、演算子(えんざんし)と呼ばれています。
C言語でよく計算に使う演算子は次のようなものです。
演算子 | 読み方 | 使用例 | 意味 | 結果 |
---|---|---|---|---|
+(足し算) | プラス | 10 + 3 | 10足す3 | 13 |
-(引き算) | ハイフン または マイナス | 10 – 3 | 10引く3 | 7 |
*(掛け算) | アスタリスク | 10 * 3 | 10掛ける3 | 30 |
/(割り算) | スラッシュ | 10 / 3 | 10割る3 | 3 ※整数型の場合 |
%(剰余) | パーセント | 10 % 3 | 10を3で割った余り | 1 |
演算子の補足
上記表の / (スラッシュ)の項目に但し書きとして ※整数型の場合 とあります。
C言語では、整数だけの計算を行うか、あるいは実数(小数点以下の部分)まで考慮して計算を行うかをあらかじめプログラムを作る際に決めておく必要があります。
例えば、10割る3を表す式
10 / 3
を整数だけで考えると結果は「3」となります。
でも実数(小数点以下も含めた数値)も考慮すると「3.333333」(C言語では循環小数にはならず、通常は小数点以下6桁まで)となります。
コンピュータが扱う数値に無限という概念はありません。
人間でも計算できないことはコンピュータにも無理と考えた方が自然です。
小学校で習ったように括弧を使って計算の優先順位を決めることも可能です。
( 5 + 3 ) * 2
この場合、5+3が最初に計算され、その結果に2を掛けるので、結果は16となります。
掛け算、割り算の方が足し算、引き算より優先順位が高いという部分も小学校で習ったものと同じです。
もし
5 + 3 * 2
とすれば、3掛ける2を計算した後に5を足すので結果は11となります。
演算子を使ったサンプルプログラム
03calc.c
/* 03calc.c 計算 */
#include <stdio.h>
int main(void)
{
printf("4 + 3 = %d\n", 4+3);
printf("16の2乗は、%d\n", 16 * 16);
printf("5 + 3 * 2 = %d\n", 5 + 3 * 2);
printf("(5+3) * 2 = %d\n", (5+3) * 2);
printf("10割る3は、%d\n", 10 / 3); /* 整数で計算して表示 */
printf("10割る3は、%f\n", 10.0 / 3.0); /* 実数で計算して表示 */
printf("10を3で割った余りは、%d\n", 10 % 3);
return 0;
}
実行結果
4 + 3 = 7 16の2乗は、256 5 + 3 * 2 = 11 (5+3) * 2 = 16 10割る3は、3 10割る3は、3.333333 10を3で割った余りは、1
演算子の種類や優先順位については以下にまとめましたので、参考にしてください。
コメント
[…] 前回の四則演算の回でも書きましたが、C言語には整数型と実数型という型が存在します。 […]