C初級:四則演算と演算子

C言語初級カテゴリのロゴ画像 C言語初級

C言語で足し算、引き算、掛け算、割り算などの加減乗除(=四則演算)の記述方法とその四則演算に使う演算子について解説します。
足し算や引き算に使う などの記号は、演算子(えんざんし)と呼ばれています。
C言語でよく計算に使う演算子は次のようなものです。

演算子読み方使用例意味結果
+(足し算プラス10 + 310足す313
-(引き算ハイフン または マイナス10 – 310引く37
*(掛け算アスタリスク10 * 310掛ける330
/(割り算スラッシュ10 / 310割る33 ※整数型の場合
%(剰余パーセント10 % 310を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

演算子の種類優先順位については以下にまとめましたので、参考にしてください。

コメント

  1. […] 前回の四則演算の回でも書きましたが、C言語には整数型と実数型という型が存在します。 […]

タイトルとURLをコピーしました