計算式の書き方
参考プログラム
/* 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 = 700
16の2乗は、256
5 - 3 * 2 = -1
(5-3) * 2 = 4
10割る3は、3.333333
10を3で割った余りは、1
計算式の考え方基本
小学校の時に習った四則演算の優先順位の考え方は同じ。
足し算「+」引き算「-」よりも、掛け算「*」割り算「/」の方が優先順位が高い。
5 + 3 × 2
3×2を先に計算して6としてから5を足す。結果は11。
括弧( )を使えば優先順位が高くなる。
( 5 + 3 ) × 2
最初に()内の5+3を計算して8を求めてから2を掛ける。結果は16。
欲を言えば、割った数の余りを求める剰余演算子「%」も覚えておくとプログラミングに役立ちます。
5 % 3
意味は5を3で割ったあまり。結果は2。
剰余演算子は例えばある数(n)が偶数であるかを求めたいときなど
n % 2
などとして計算結果が0(2で割った余りが0)なら偶数、そうでないなら奇数と判定させたりします。
計算式や計算の優先順位について詳しくは以下を参考にして下さい。
やってみよう
以下の計算式の結果ををprintf関数を使って画面に表示してください。
計算式
4 ÷ 2 + 2 × 4
23
128を7で割った余り
プログラムは
printf(“%d\n”, ここに計算式を記述 );
のように作成してください。
例)12 × 12の場合
printf(“%d\n”, 12 * 12);
プログラム実行結果は以下のように計算結果のみが表示されるようにしてください。
10
8
2
#include <stdio.h>
int main(void)
{
printf("%d\n", 4 / 2 + 2 * 4);
printf("%d\n", 2 * 2 * 2);
printf("%d\n", 128 % 7);
return 0;
}
5行目の23などの計算は math.h で定義されている pow関数 を使っても計算できます。解答例2をご覧ください。
math.h で定義されている pow関数を利用しています。
pow関数記述方法:23 ⇒ pow(2.0, 3.0) 引数と戻り値は浮動小数点数のため注意が必要。
#include <stdio.h>
#include <math.h>
int main(void)
{
printf("%d\n", 4 / 2 + 2 * 4);
printf("%.0f\n", pow(2.0, 3.0));
printf("%d\n", 128 % 7);
return 0;
}
コメント