通常数学に現われる初等関数や、平方根 
 ,
, 
 乗根
 乗根 
![$ \sqrt[n]{\quad}$](img23.png) , 絶対値
, 絶対値  などは、
C 言語では数学関数ライブラリィに用意されている。
 などは、
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;
}
 | 
| コンパイルと実行 | ||||||
| 
 | 
| 整数/整数 に注意 | 
| 上のプログラムで  を計算するのに  と
しているのに注意。  は整除で 0 になってしまう。  とすべきかもしれないが、
入力が面倒だし、
読みづらいので  あるいは  などにすることを奨める。 
(細かい注)
 | 
| 円周率  , 自然対数の底  など、どうやって用意する? | |
| 簡単な応用として、円周率  や
自然対数の底 (Napier の数)  が
必要な場合に 
 | 
余談 いわゆる特殊関数が使いたい場合は、 ライブラリィを探すことになるであろう。 その場合、C よりは C++ の方が見つかりやすいかもしれない。