mfunclist.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /*
math.h
三角関数:
double sin(double x)
double cos(double x)
double tan(double x)
逆三角関数:
double asin(double x)
double acos(double x)
double atan(double x)
double atan2(double y, double x)
双曲線関数:
double sinh(double x)
double cosh(double x)
double tanh(double x)
切り上げ:
double ceil(double x)
切り捨て:
double floor(double x)
ベキ乗と平方根, 指数と対数:
double pow(double x, double y)
double sqrt(double x)
double exp(double x)
double log(double x)
double log10(double x)
絶対値, 余り:
double fabs(double x)
double fmod(double x, double y)
整数と少数の分割, 指数と仮数の分割, 指数仮数から小数点取得:
double modf(double x, double *p)
double frexp(double x, double *p)
double ldexp (double x, double n)
*/
|
sct.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /*
math.h [sin]
書式: double sin(double x)
機能: サインの計算
引数: double x: 角度(ラジアン)
戻り値: サインの計算結果
*/
/*
math.h [cos]
書式: double cos(double x)
機能: コサインの計算
引数: double x: 角度(ラジアン)
戻り値: コサインの計算結果
*/
/*
math.h [tan]
書式: double tan(double x)
機能: タンジェントの計算
引数: double x: 角度(ラジアン)
戻り値: タンジェントの計算結果
*/
#include <stdio.h>
#include <math.h>
#define PI 3.141592
int main(void){
double deg = 30;
double rad = deg * PI / 180.0;
double len = 2;
double x = len * cos(rad);
double y = len * sin(rad);
printf("X = %f\n", x);
printf("Y = %f\n", y);
return 0;
}
|
sct.c の実行結果は:
[cactus:~/code_c/refer]% ./sct
X = 1.732051
Y = 1.000000
asct.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*
math.h [asin]
書式: double asin(double x)
機能: アークサインの計算
引数: double x: -1~1 のサイン値
戻り値: アークサイン値 (ラジアン)
*/
/*
math.h [acos]
書式: double acos(double x)
機能: アークサインの計算
引数: double x: -1~1 のコサイン値
戻り値: アークコサイン値 (ラジアン)
*/
/*
math.h [atan]
書式: double atan(double x)
機能: アークタンジェントの計算
引数: double x: -n/2 ~ n/2 のタンジェント値
戻り値: アークタンジェントの値 (ラジアン)
*/
/*
math.h [atan2]
書式: double atan2(double y, double x)
機能: y/x のアークタンジェントの計算
引数: double y: y 座標
double x: x 座標
戻り値: アークタンジェントの値 (ラジアン)
*/
#include <stdio.h>
#include <math.h>
#define PI 3.141592
int main(void){
double deg = 30;
double rad = deg * PI / 180.0;
printf("rad = %f\n", rad);
double c = cos(rad);
double a = acos(c);
printf("acos = %f\n", a);
return 0;
}
|
asct.c の実行結果は:
[cactus:~/code_c/refer]% ./asct
rad = 0.523599
acos = 0.523599
scth.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /*
math.h [sinh]
書式: double sinh(double x)
機能: ハイパボリックサインの計算
引数: double x: 角度 (ラジアン)
戻り値: ハイパボリックサインの計算結果
*/
/*
math.h [cosh]
書式: double cosh(double x)
機能: ハイパボリックサインの計算
引数: double x: 角度 (ラジアン)
戻り値: ハイパボリックサインの計算結果
*/
/*
math.h [tanh]
書式: double tanh(double x)
機能: ハイパボリックサインの計算
引数: double x: 角度 (ラジアン)
戻り値: ハイパボリックサインの計算結果
*/
#include <stdio.h>
#include <math.h>
#define PI 3.141592
int main(void){
double deg = 30;
double rad = deg * PI / 180.0;
double num1 = sinh(rad);
double num2 = cosh(rad);
double num3 = tanh(rad);
printf("num1 = %f\n", num1);
printf("num2 = %f\n", num2);
printf("num3 = %f\n", num3);
return 0;
}
|
scth.c の実行結果は:
[cactus:~/code_c/refer]% ./scth
num1 = 0.547853
num2 = 1.140238
num3 = 0.480473
ceil.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /*
math.h [ceil]
書式: double ceil(double x)
機能: 小数点の切り上げ
引数: double x: 切り上げする元の値
戻り値: 小数点以下を切り上げした値
*/
#include <stdio.h>
#include <math.h>
int main(void){
/* 四捨五入ではないことに注意する */
double a = ceil(6.54321);
double b = ceil(-6.54321);
printf("a = %f\n", a);
printf("b = %f\n", b);
return 0;
}
|
ceil.c の実行結果は:
[cactus:~/code_c/refer]% ./ceil
a = 7.000000
b = -6.000000
floor.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | /*
math.h [floor]
書式: double floor(double x)
機能: 小数点の切り捨て
引数: double x: 切り捨てる元の値
戻り値: 小数点以下を切り捨てした値
*/
#include <stdio.h>
#include <math.h>
int main(void){
double a = floor(6.54321);
double b = floor(-6.54321);
printf("a = %f\n", a);
printf("b = %f\n", b);
return 0;
}
|
floor.c の実行結果は:
[cactus:~/code_c/refer]% ./floor
a = 6.000000
b = -7.000000
psell.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | /*
math.h [pow]
書式: double pow(double x, double y)
機能: ベキ乗の計算
引数: double x: 基数
double y: 指数
戻り値: x の y 乗となる, ベキ乗の値
*/
/*
math.h [sqrt]
書式: double sqrt(double x)
機能: 平方根の計算
引数: double x: 元の値
戻り値: x の 平方根の値
*/
/*
math.h [exp]
書式: double exp(double x)
機能: 指数関数の計算
引数: double x: 指数
戻り値: 指数関数 e の x 乗の計算値
*/
/*
math.h [log]
書式: double log(double x)
機能: 自然対数の計算
引数: double x: 元の値
戻り値: x の 自然対数の計算値
*/
/*
math.h [log10]
書式: double log10(double x)
機能: 常用対数の計算
引数: double x: 元の値
戻り値: x の 常用対数の計算値
*/
#include <stdio.h>
#include <math.h>
int main(void){
double a = pow(4.0, 2.0);
double b = sqrt(a);
printf("a = %f\n", a);
printf("b = %f\n", b);
double c = exp(1.0);
double d = log(c);
printf("c = %f\n", c);
printf("d = %f\n", d);
return 0;
}
|
psell.c の実行結果は:
[cactus:~/code_c/refer]% ./psell
a = 16.000000
b = 4.000000
c = 2.718282
d = 1.000000
fam.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /*
math.h [fabs]
書式: double fabs(double x)
機能: 浮動小数点の絶対値値の計算
引数: double x: 元の浮動小数点値
戻り値: 浮動小数点の絶対値
*/
/*
math.h [fmod]
書式: double fmod(double x, double y)
機能: 浮動小数点の割り算を計算
引数: double x: 分子
double y: 分母
戻り値: x / y の余りの値
*/
#include <stdio.h>
#include <math.h>
int main(void){
double a = fabs(-5.4321);
printf("a = %f\n", a);
double b = fmod(5.4, 3.2);
printf("b = %f\n", b);
return 0;
}
|
fam.c の実行結果は:
[cactus:~/code_c/refer]% ./fam
a = 5.432100
b = 2.200000
mfl.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | /*
math.h [modf]
書式: double fabs(double x, double *p)
機能: 浮動小数点を, 整数部と少数部に分割する
引数: double x: 元となる浮動小数点値
double *p: 分割された整数部を格納
戻り値: 分割された少数部を返す.
*/
/*
math.h [frexp]
書式: double frexp(double x, double *p)
機能: 浮動小数点を, 指数部と仮数部に分割する
引数: double x: 元となる浮動小数点値
double *p: 分割された指数部を格納
戻り値: 分割された仮数部を返す.
*/
/*
math.h [ldexp]
書式: double ldexp(double x, double n)
機能: 仮数と指数から, 浮動小数点値を求める
引数: double x: 仮数
double n: 指数
戻り値: x 仮数と n 指数からの浮動小数点値
*/
#include <stdio.h>
#include <math.h>
int main(void){
double x = 6.54321;
double a, b;
b = modf(x, &a);
printf("浮動小数点 x = %f\n", x);
printf("整数部 = %f\n", a);
printf("小数部 = %f\n", b);
return 0;
}
|
mfl.c の実行結果は:
[cactus:~/code_c/refer]% ./mfl
浮動小数点 x = 6.543210
整数部 = 6.000000
小数部 = 0.543210
pidera.c
1 2 3 4 5 6 7 8 9 10 11 | /*
円周率 15 桁
#define PI 3.141592653589793
角度 (degree) からラジアン (radian) に変換
double radian = degree * PI / 180.0;
ラジアン (radian) から角度 (degree) に変換
double degree = radian * 180.0 / PI;
*/
|