今回はそこでちょっとやった「計算」です。
加減乗除を実際にコンピュータにしてもらいましょう。
基本的なこと
まず計算するには数値として認識させなければいけないということを思い出しましょう。
ここで文字列として表示させても計算は行ないません。
#include <stdio.h>
int main(void)
{
printf("1 + 2 = 3\n");
return 0;
}
これを実行しても計算はしてくれませんでしたね。
実行結果
1 + 2 = 3
だからといって単に数値を記述してもだめです。
#include <stdio.h>
int main(void)
{
1 + 2;
return 0;
}
これはおそらくエラーが出ると思います。
ということで「%d指定子」を思い出しましょう。
「整数値」を「10進数」として変換・出力してくれる出力変換指定子でしたね。
なので基本的には出力変換指定子を使用します。
#include <stdio.h>
int main(void)
{
printf("%d¥n", 1 + 2);
return 0;
}
こんな風に出力変換指定子を指定してやると計算した結果をprintf関数で表示してくれるというわけです。
実行結果
3
四則演算子
さて、足し算だけではしょうがないので加減乗除をして見ましょう。
しかしながら、C言語では掛け算と割り算で使う演算子が少し違います。
少し表を見てみましょう。
C言語 | 数学 | 使い方 |
---|---|---|
+ | + | 足し算 |
- | − | 引き算 |
* | × | 掛け算 |
/ | ÷ | 割り算 |
% | ・・・ | 余り(剰余算) |
このように
掛け算は「*」
割り算は「/」
を使用します。
このような演算の働きを持つ記号を演算子といいます。
また、商の余りを計算して表示する場合は「%」を使用します。
これを使用するときは数値が整数でなければなりません。覚えておきましょう。
キーボードにテンキーの付いている人はテンキーを使うと間違えなくていいでしょう。
ラップトップなどでテンキーを使えない人はしっかり確認して使用しましょう。
さてこれを踏まえて、計算をしてみたいと思います。
とりあえず18と8をそれぞれの演算子を使用して計算してみましょう。
#include <stdio.h>
int main(void)
{
printf("%d¥n", 18 + 8);
printf("%d¥n", 18 - 8);
printf("%d¥n", 18 * 8);
printf("%d¥n", 18 / 8);
printf("%d¥n", 18 % 8);
return 0;
}
実行結果
26
10
144
2
2
こんな風に出来ていればOKです。もちろんprintf関数一回でも書けますがこちらの方が見やすいのでやってみたい人はやってみてください。
ちなみに「18/8」を計算すると2.25(2・・・余り2)ですよね??
ちゃんと計算できて無いじゃんと思いますがこれは間違っていません。
なぜなら%d指定子は整数を表示してくれるんでしたよね。
少数は変換の範囲外ということです。
%d指定子は小数点以下を全て「切り捨て」となりますので覚えておきましょう。
また、単に表示する場合はおかしなことになってしまいます。
1.3を表示してみましょう。
#include <stdio.h>
int main(void)
{
printf("%d¥n", 1.3);
return 0;
}
実行結果
-858993459
こんな風に1すら表示しません。計算しないとおかしなことになるんですね。
小数点以下の表示はまた説明します。今回はあくまで「整数」です。
少し難しい計算
では少し式を難しくしてみましょう。
括弧を使った計算です。
(4-3) * (8-7)
7 - 8 * 3 / 4
(7-4) * 3 - 8
(4-3) * 8 - 7
という計算をして見ます。ちなみに全て「3,4,7,8」だけで構成しています。
#include <stdio.h>
int main(void)
{
printf("%d¥n",(4-3) * (8-7));
printf("%d¥n",7 - 8 * 3 / 4);
printf("%d¥n",(7-4) * 3 - 8);
printf("%d¥n",(4-3) * 8 - 7);
return 0;
}
実行結果
1
1
1
1
ちゃんとできましたか??出来なかった場合はもう一度確認してみてください。
「3,4,7,8」と演算子を上手く使うと1だけでなく2〜10までの答えを出せます。
まあこれはどうでもいいですね。
C言語でも数式の計算上の優先順位は数学と同じです。
()をつけるのも一緒ですね。
二重括弧以上でも()を使います。例:a(b + c(c / d(e + a * c)))
違いはこれぐらいです。
メニューへ戻る
タグ:C言語
↓もしこの記事が役に立ったらクリックお願いします。


【プログラミング>C言語の最新記事】