実際の例を以下に示します. この例では, 数学関数ライブラリを使います. そこにある関数の定義には, 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)); }