通常数学に現われる初等関数や、平方根
,
乗根
, 絶対値
などは、
C 言語では数学関数ライブラリィに用意されている。
| prog05.c |
/* prog05.c --- 数学(関数)ライブラリィにある関数の呼び出し */
#include <stdio.h>
#include <math.h> /* この行に注目 */
int main(void)
{
double x;
printf("一つの実数を入力してください: ");
scanf("%lf", &x);
/* ルート (非負の平方根) */
printf("sqrt(%g) =%g\n", x, sqrt(x));
/* 三角関数 sin */
printf("sin(%g) =%g\n", x, sin(x));
/* e を底とする指数関数 */
printf("exp(%g) =%g\n", x, exp(x));
/* 自然対数 */
printf("log(%g) =%g\n", x, log(x));
/* 常用対数 (10 を底とする対数) */
printf("log10(%g) =%g\n", x, log10(x));
/* 双曲線関数 hyperbolic sin) */
printf("sinh(%g) =%g\n", x, sinh(x));
/* 巾乗 (power) --- ここでは 3 乗根 */
printf("pow(%g,%g)=%g\n", x, 1.0/3.0, pow(x, 1.0/3.0));
/* 逆三角関数 Arctan */
printf("atan(%g) =%g\n", x, atan(x));
/* 絶対値 */
printf("fabs(%g) =%g\n", x, fabs(x));
/* 整数部分 (-∞に向かっての切り捨て = いわゆる Gauss の括弧) */
printf("floor(%g) =%g\n", x, floor(x));
/* ∞に向かっての切り上げ */
printf("ceil(%g) =%g\n", x, ceil(x));
/* 最も近い整数への丸め (≒四捨五入) */
printf("rint(%g) =%g\n", x, rint(x));
return 0;
}
|
| コンパイルと実行 | ||||||
|
| 整数/整数 に注意 |
|
上のプログラムで
(細かい注)
|
| 円周率 | |
簡単な応用として、円周率
|
余談 いわゆる特殊関数が使いたい場合は、 ライブラリィを探すことになるであろう。 その場合、C よりは C++ の方が見つかりやすいかもしれない。