実際の例を以下に示します. この例では, 数学関数ライブラリを使います. そこにある関数の定義には, math.h というファイルを include します. 使う関数は, sqrt で awk でも出て来ましたが, 平方根をとる関数です. 数学関数ライブラリでどのような関数が利用 できるかは, ファイル /usr/include/math.h を読めばわかります. 最初の実習で言いましたが, *.h のファイル名のファイルは, ヘッダ(header)ファイルと呼ばれ, プログラミングに必要な様々な 定義を記述するのに用いられます. それらは当然, 内容によって ファイルが異なります. 全部をひとつのファイルに書かれると, 人間の処理能力を超えてしまうのは, 容易に想像がつくでしょう. ファイル /usr/include/math.h には, 数学関数の定義以外にも, 数値計算で必要な定数も定義されています. それも見ておいて下さい. 必要とあれば, それは積極的に利用します.
/* File name 4-2.c */
/* Computes the area of triangle */
#include <stdio.h>
#include <math.h>
#define BUFFSIZE 1024
double heron(double a, double b, double c);
main()
{
double x, y, z, area; /* x, y and z are the lengths of sides. */
char nyuryoku[BUFFSIZE];
printf("Input the lengths of sides.>>");
fgets(nyuryoku, BUFFSIZE, stdin);
sscanf(nyuryoku, "%lf %lf %lf", &x, &y, &z);
area = heron(x, y, z);
printf("The area is %f\n", area);
}
double heron(double a, double b, double c)
{
double s;
s = (a + b + c)/2.0 ;
return sqrt(s*(s-a)*(s-b)*(s-c));
}