さまざまな計算
絶対値
絶対値を計算するにはabs関数を使用します。
なお、abs関数を使うには #include <stdlib.h> が必要です。
数直線上における原点からの距離。
要するに、正の値はそのまま、負の値は正にした数値。
abs関数の使い方は次の通りです。
次のプログラムは絶対値を求める例です。
このプログラムの実行結果は次の通りになります。
なお、abs関数を使うには #include <stdlib.h> が必要です。
キーワード
【絶対値】
数直線上における原点からの距離。
要するに、正の値はそのまま、負の値は正にした数値。
abs関数の使い方は次の通りです。
abs関数
累乗 = pow(数値, 指数);
次のプログラムは絶対値を求める例です。
ソースコード
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
printf("%d\n", abs(10));
printf("%d\n", abs(-10));
return;
}
このプログラムの実行結果は次の通りになります。
実行結果
10
10
10
累乗
累乗を計算するにはpow関数を使用します。
なお、pow関数を使うには #include <math.h> が必要です。
pow関数の使い方は次の通りです。
なお、値はdouble型になるので、int型で記憶すると不正確になります。
次のプログラムは、累乗を求める例です。
このプログラムの実行結果は次の通りになります。
なお、pow関数を使うには #include <math.h> が必要です。
pow関数の使い方は次の通りです。
なお、値はdouble型になるので、int型で記憶すると不正確になります。
pow関数
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
printf("%d\n", abs(10));
printf("%d\n", abs(-10));
return;
}
次のプログラムは、累乗を求める例です。
ソースコード
#include <math.h>
#include <stdio.h>
void main(void)
{
printf("%dの%d乗 = %f\n", 5, 2, pow(5, 2));
printf("%dの%d乗 = %f\n", 8, 3, pow(8, 3));
printf("%dの%d乗 = %f\n", 2, 10, pow(2, 10));
return;
}
このプログラムの実行結果は次の通りになります。
実行結果
5の2乗 = 25.000000
8の3乗 = 512.000000
2の10乗 = 1024.000000
8の3乗 = 512.000000
2の10乗 = 1024.000000
平方根(√)
平方根を計算するにはsqrt関数を使用します。
なお、sqrt関数を使うには #include <math.h> が必要です。
2乗するとその数になる数値。
元の数値を正方形の面積とすると、平方根は辺の長さに当たる。
sqrt関数の使い方は次の通りです。
なお、値はdouble型になるので、int型で記憶すると不正確になります。
次のプログラムは、平方根を求める例です。
このプログラムの実行結果は次の通りになります。
四捨五入されているため正確に計算できているように見えるのですが、
同様の計算を繰り返すと誤差がでるため注意が必要です。
なお、sqrt関数を使うには #include <math.h> が必要です。
キーワード
【平方根】
2乗するとその数になる数値。
元の数値を正方形の面積とすると、平方根は辺の長さに当たる。
sqrt関数の使い方は次の通りです。
なお、値はdouble型になるので、int型で記憶すると不正確になります。
sqrt関数
平方根 = sqrt(数値);
次のプログラムは、平方根を求める例です。
ソースコード
#include <math.h>
#include <stdio.h>
void main(void)
{
printf("√%d = %f : %f * %f = %f\n", 100, sqrt(100), sqrt(100), sqrt(100), sqrt(100) * sqrt(100));
printf("√%d = %f : %f * %f = %f\n", 2, sqrt(2), sqrt(2), sqrt(2), sqrt(2) * sqrt(2));
return;
}
このプログラムの実行結果は次の通りになります。
実行結果
√100 = 10.000000 : 10.000000 * 10.000000 = 100.000000
√2 = 1.414214 : 1.414214 * 1.414214 = 2.000000
√2 = 1.414214 : 1.414214 * 1.414214 = 2.000000
四捨五入されているため正確に計算できているように見えるのですが、
同様の計算を繰り返すと誤差がでるため注意が必要です。
三角関数
三角関数を計算するには次の関数を使用します。
なお、これらの関数を使うには #include <math.h> が必要です。
これらの関数の使い方はいずれも同じなので、以後はtan関数を例に説明します。
tan関数の使い方は次の通りです。
ただし、この角度は普段我々が使用する90度が直角となる角度ではなく、
ラジアンと呼ばれる角度の単位を使用します。
次の式で普通の角度からラジアンへ変換できます。
円弧と半径の長さが等しくなる位置を1ラジアンとする角度の単位。
コンピュータの世界ではほとんどの場合にラジアンを使用する。
毎回この計算を行うのは面倒なので、次のようなマクロを作成します。
次のプログラムは、身長160cmの人が5m離れた位置から木を見上げたときに、
その角度が40度だった場合の木の高さを求める例です。
このプログラムの実行結果は次の通りになります。
三角関数も計算を繰り返すと誤差がでるため注意が必要です。
なお、これらの関数を使うには #include <math.h> が必要です。
| 関数名 | 三角関数値 |
|---|---|
| sin | サイン |
| cos | コサイン |
| tan | タンジェント |
| asin | アークサイン |
| acos | アークコサイン |
| atan | アークタンジェント |
アーク系三角関数
アーク系三角関数は、普通の三角関数の逆計算をします。
普通の三角関数は、角度から辺の長さの割合を求めますが、
アーク系三角関数は、辺の長さの割合から角度を求めます。
普通の三角関数は、角度から辺の長さの割合を求めますが、
アーク系三角関数は、辺の長さの割合から角度を求めます。
これらの関数の使い方はいずれも同じなので、以後はtan関数を例に説明します。
tan関数の使い方は次の通りです。
tan関数
タンジェント = tan(ラジアン角度);
ただし、この角度は普段我々が使用する90度が直角となる角度ではなく、
ラジアンと呼ばれる角度の単位を使用します。
次の式で普通の角度からラジアンへ変換できます。
普通の角度からラジアンへ変換
ラジアン = (度 * 3.14159 / 180)
キーワード
【ラジアン】
円弧と半径の長さが等しくなる位置を1ラジアンとする角度の単位。
コンピュータの世界ではほとんどの場合にラジアンを使用する。
毎回この計算を行うのは面倒なので、次のようなマクロを作成します。
普通の角度からラジアンへ変換するマクロ
#define RADIAN(ARC) ((ARC)*3.14159 / 180)
次のプログラムは、身長160cmの人が5m離れた位置から木を見上げたときに、
その角度が40度だった場合の木の高さを求める例です。
ソースコード
#include <math.h>
#include <stdio.h>
#define RADIAN(ARC) ((ARC)*3.14159 / 180)
void main(void)
{
double stature = 160;
double distance = 500;
double arc = 40;
double tree;
tree = distance * tan(RADIAN(arc)) + stature;
printf("%fm\n", tree / 100);
return;
}
このプログラムの実行結果は次の通りになります。
実行結果
5.795493m
三角関数も計算を繰り返すと誤差がでるため注意が必要です。
本サイトについて
苦しんで覚えるC言語(苦C)はC言語入門サイトの決定版です。
C言語の基本機能を体系立てて解説しており、
市販書籍と同等以上の完成度です。




