これまで,5つの演算子を学習した.加減乗除(
+-*/)と余り(
%)である.これ
だけでは,面白くないので,数学の関数を学習する.
教科書のp.127に示すように,C言語ではいろいろな数学関数が使える.その中でも,使用
頻度の高い平方根と三角関数の使い方を学習する.
まずは,平方根である.キーボードから,実数を入力して,その平方根を計算するプログ
ラムは,リスト
1のように書く.
1 #include <stdio.h>
2 #include <math.h>
3
4 int main(void)
5 {
6 double x, y;
7
8 scanf("%lf",&x);
9
10 y=sqrt(x);
11
12 printf("ルート%fは,%fです.\n",x, y);
13
14 return 0;
15 }
1.23456789
ルート1.234568は,1.111111です.
このプログラムは,キーボードから値を入力し,その平方根を計算して出力するプログラ
ムである.リスト
1の8行目で,キーボードからの値は変数
xに格納す
る.そして,10行で平方根の計算を行っている.10行目の内容を数式で書くと
|
(1) |
となる.C言語では,平方根をあらわす
という記号がつかえなので,変わりに
sqrt()と書く
4.
数学関数を使うためには,おまじないが必要である.コンパイル時に,「数学関数を使いま
すよ」とコンパイラーに知らせている.リスト
1の2行目
#include <math.h>
が,それにあたる.数学関数を使うときには,必ず,このおまじないを書くこと.
数学関数を使っている場合,
#include <math.h>というおまじないに加えて,コンパ
イルするときも呪文を追加しなくてはならない.例えば,リスト
1のソー
スファイル名が
root.cとする.これをコンパイルするためには,
gcc -lm -o keisan root.c
とする.できあがった実行ファイル名は,
keisanとなる.ようするに,コンパイル
するときに,
-lmを追加する必要がある.これをオプションと言う.
|
まとめ(数学関数を使うためには)
- プログラムの先頭付近に#include <math.h>というおまじないを書く.
- コンパイルするときに,オプション-lmが必要である.
- 数学の
の計算は,sqrt()と書く.
|
次に三角関数である.角度を読み込んで,その正弦(
)の値を出力する.そのプログ
ラムをリスト
2に示す.
このプログラムの動作は,次のとおりである.
- 2行目 #include <math.h>
数学関数を使うためのおまじない.
- 9行目 rad=deg/180.0*M_PI;
この行で,読み込んだ角度の単位を[度(degree)]から,ラジアン[rad]に変換している.
M_PIは,数学関数を使うためのおまじないmath.hの中で,円周率
(
)と定義されている.ラジアンは180度--ということを憶えて
いれば単位の変換はできる.
- 11行目 y=sin(rad);
正弦()の値を計算している.C言語で三角関数を計算するときの変数の単位は,
ラジアンである.
1 #include <stdio.h>
2 #include <math.h>
3
4 int main(void)
5 {
6 double deg, rad, y;
7
8 scanf("%lf",°);
9 rad=deg/180.0*M_PI;
10
11 y=sin(rad);
12
13 printf("%f[deg]のsinの値は%fです.\n",deg, y);
14
15 return 0;
16 }
30
30.000000[deg]のsinの値は0.500000です.
|
まとめ(数学関数を使うためには)
- <math.h>の中で,M_PIは円種率()と定義されている.
- C言語の三角関数は,全てラジアン単位である.
- サインはsin(),コサインはcos(),タンジェントはtan()と書く.
|
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年5月31日