上一篇我们介绍了什麽是指标,不晓得大家有没有比较了解地址的概念?
接下来我们来介绍Math函式库吧!
还记得在遥远的第三篇我们有介绍在写主函式(main function)前,必须先做好一件事就是引入函式库。
一般来说在程序的开头,我们就会先把会用到的函式库(工具包)引入,我们那时候形容函式库像是汇集了很多函式(工具)的工具包,而我们每次写程序都会引入的「#include <stdio.h>」就是很好的例子,因为「stdio.h」函式库包含了我们很常使用到的printf和scanf,往後也会提到别的函式。
至於「stdio.h」函式库具体包含了什麽样的函式,我们可以参考下面这个连结:
<stdio.h> - C语言标准库(gitbook)
既然大概有了函式库的概念,我们接下来要提一下也很好用的函式库--「<math.h>」。
<math.h>是一个包含了许多数学常用计算的函式库,这个函式库的函式基本是以double的资料型态运算与返值,诸如常见的次方计算、log运算、平方根、绝对值、三角函数、自然对数运算,这些都可以在<math.h>中找到对应函式来协助处理,其中也有数学中常应用的常数也被定义。
接下来我们来介绍<math.h>包含的内容:
定义的变数名称 | 代表运算式 | 数值 |
---|---|---|
M_E | e | 2.71828182845904523536 |
M_LOG2E | log2(e) | 1.44269504088896340736 |
M_LOG10E | log10(e) | 0.434294481903251827651 |
M_LN2 | ln(2) | 0.693147180559945309417 |
M_LN10 | ln(10) | 2.30258509299404568402 |
M_PI | pi | 3.14159265358979323846 |
M_PI_2 | pi/2 | 1.57079632679489661923 |
M_PI_4 | pi/4 | 0.785398163397448309616 |
M_1_PI | 1/pi | 0.318309886183790671538 |
M_2_PI | 2/pi | 0.636619772367581343076 |
M_2_SQRTPI | 2/sqrt(pi) | 1.12837916709551257390 |
M_SQRT2 | sqrt(2) | 1.41421356237309504880 |
M_SQRT1_2 | 1/sqrt(2) | 0.707106781186547524401 |
(2) 实际应用
a. 直接使用
#include <stdio.h>
#include <math.h>
int main(){
printf("M_PI: %f\n", M_PI);
printf("M_E: %f\n", M_E);
return 0;
}
b. 用变数储存使用
#include <stdio.h>
#include <math.h>
#define pi M_PI
int main(){
double e = M_E;
printf("pi: %f\n", pi);
printf("e: %f\n", e);
return 0;
}
函式 | 用法 |
---|---|
double pow(double x, double y) | 回传x的y次方值。 |
double exp(double x) | 传回e的x次方值。 |
double sqrt(double x) | 回传x的平方根值。 |
double fabs(double x) | 回传x的绝对值。 |
double ceil(double x) | 回传大於或等於x的最小整数值。 |
double floor(double x) | 回传小於或等於x的最大整数值。 |
double fmod(double x, double y) | 回传x除以y的余数值。 |
double log(double x) | 回传x的自然对数值(基数为e)。 |
double log10(double x) | 返回 x 的常用对数值(基数为10)。 |
double sin(double x) | 返回弧度角x的sin值。 |
double cos(double x) | 返回弧度角x的cos值。 |
double tan(double x) | 返回弧度角x的tan值。 |
double asin(double x) | 返回x弧度的sin^(-1)值。 |
double acos(double x) | 返回x弧度的cos^(-1)值。 |
double atan(double x) | 返回x弧度的tan^(-1)值。 |
(2) 实际应用
#include <stdio.h>
#include <math.h>
#define pi M_PI
int main(){
printf("pow: %f\n", pow(2,10));
printf("exp: %f\n", exp(1));
printf("sqrt: %f\n", sqrt(100));
printf("fabs: %f\n", fabs(-1.2345));
printf("ceil: %f\n", ceil(1.2345));
printf("fmod: %f\n", fmod(4.92345,1.2));
printf("log: %f\n", log(1));
printf("log10: %f\n", log10(100));
printf("sin: %f\n", sin(pi/2));
printf("cos: %f\n", cos(0));
return 0;
}
<<: JS 43 - 将表格式表单的资料列输出为 JSON 格式
>>: 【从零开始的 C 语言笔记】第十三篇-Array介绍与应用(1)
「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的...
Flutter API Get using Bloc state management and ht...
表单组件 使用表单处理使用者输入是常见的应用的基础功能,使用这些表单组件可以应用在注册、登入、电商…...
接着我们要做的是打开 menu hamberger 後的 full screen modal,里面包...
每当我们在使用git的时候,我们查看每一条之前自己加入的纪录: git log --oneline ...