赞
踩
目录
sqrt()
函数是 C 标准库中的数学函数,用于计算一个数字的平方根。
原型:
double sqrt(double x);
返回值:返回一个数的平方根,返回值是
double
类型,即使你输入的数是整数
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num = 25.0;
- double result;
-
- // 计算 num 的平方根
- result = sqrt(num);
-
- // 打印结果
- printf(" %.2f的平方根是%.2f\n", num, result);
-
- return 0;
- }
结果如图:
分别计算sin(),cos(),tan()弧度对应的三角函数值。
原型:
double sin(double x);
double cos(double x);
double tan(double x);
返回值:
sin
、cos
和tan
函数计算弧度对应的三角函数值
代码示例:
- #define _CRT_SECURE_NO_WARNINGS 1
- #include <stdio.h>
- #include <math.h>
- #ifndef M_PI
- #define M_PI 3.14159265358979323846
- #endif
-
- int main() {
- float angle = 45.0f;
- float radians = angle * M_PI / 180.0f; // 将角度转换为弧度,M_PI是π
-
- float sin_value = sinf(radians);
- float cos_value = cosf(radians);
- float tan_value = tanf(radians);
-
- printf("sin(%.2f度) = %.4f\n", angle, sin_value);
- printf("cos(%.2f度) = %.4f\n", angle, cos_value);
- printf("tan(%.2f度) = %.4f\n", angle, tan_value);
-
- return 0;
- }
结果如图:
M_PI
是一个在某些编译器实现中定义的宏,表示数学常数 π(pi),大约为 3.14159265358979323846。它通常在<math.h>
头文件中定义,但这不是 C 标准库的一部分,因此并非所有编译器都提供这个宏。
如果没有这个宏,则自己定义:
- #ifndef M_PI
- #define M_PI 3.14159265358979323846
- #endif
可以从上面的代码示例看到vs2022中并没有提供这个宏,所以在vs2022还是得自己定义来使用.
exp
是用于计算自然指数函数 e的x次方 的标准库函数,定义在<math.h>
头文件中。
原型:
double exp(double x);
返回值类型:
exp
函数返回double
类型的结果
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double x = 1.0;
- double result = exp(x);
-
- printf("exp(%.2f) = %.4f\n", x, result);
-
- return 0;
- }
结果:
注意:如果传递的是其他数值类型,编译器会进行隐式类型转换。(自然是都转换为double型的)
fabs
函数是 C 标准库中的一个函数,用于计算浮点数的绝对值。它定义在<math.h>
头文件中。
原型:
double fabs(double x);
返回值类型:
fabs
函数返回double
类型的结果。
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num = -10.5;
- double abs_value = fabs(num);
-
- printf("%.2f的绝对值为%.2f\n", num, abs_value);
-
- return 0;
- }
结果如图:
fmax
函数是 C 标准库中的一个函数,用于返回两个浮点数中的最大值。它定义在<math.h>
头文件中。
原型:double fmax(double x, double y);
x,y分别为两个要比较的数.
返回值类型:
fmax
函数返回double
类型的结果。
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num1 = 10.5;
- double num2 = 20.3;
- double max_value = fmax(num1, num2);
-
- printf(" %.2f 和 %.2f 之间最大的值为 %.2f\n", num1, num2, max_value);
-
- return 0;
- }
结果如图:
floor 是一个标准库函数,用于计算小于或等于给定数的最大整数。它是一个数学函数,通常在浮点运算中使用。
原型:double floor(double x);
返回值类型:
floor
函数返回double
类型的结果。
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num = 10.7;
- double floor_value = floor(num);
-
- printf("%.2f的floor值为%.2f\n", num, floor_value);
-
- num = -10.7;
- floor_value = floor(num);
-
- printf("%.2f的floor值为%.2f\n", num, floor_value);
-
- return 0;
- }
结果如图:
log
函数是 C 标准库中的一个函数,用于计算自然对数(即以 e 为底的对数)。它定义在<math.h>
头文件中。
原型:double log(double x);
返回值类型:
log
函数返回double
类型的结果。
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num = 10.0;
- double log_value = log(num);
-
- printf("%.2f的log值为%.4f\n", num, log_value);
-
- return 0;
- }
结果如图:
当然我们也可以在log后面加上数字,如:log10(),log2()(也就是换底数,后面没加数字默认为e)
代码示例:
- #define _CRT_SECURE_NO_WARNINGS 1
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double num = 10.0;
- double num2 = 2.0;
- double log_value = log10(num);
- double log_value2 = log2(num2);
-
- printf("%.2f的log10值为%.4f\n", num, log_value);
- printf("%.2f的log2值为%.4f\n", num2, log_value2);
-
- return 0;
- }
-
结果如图:
注意:log
函数的参数必须大于 0,因为对数函数在 0 及负数上未定义。
- //求一个数是几位数
- #define _CRT_SECURE_NO_WARNINGS 1
- #include<stdio.h>
- #include<math.h>
- int getdigit(int i) {
- if (i == 0) {
- return 1;
- }
- return floor(log10(i)) + 1;//floor函数和log()都是math.h头文件里的
- }
- int main() {
- int n = getdigit(100);
- printf("100是%d位数", n);
- return 0;
- }
当然,你想求其他数把100改一下就好。
pow
函数是 C 标准库中的一个函数,用于计算一个数的幂。它定义在<math.h>
头文件中。
原型:double pow(double base, double exponent);
base
:底数。exponent
:指数
返回值:为一个
double
类型的结果.
代码示例:
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- double base = 2.0;
- double exponent = 3.0;
- double result = pow(base, exponent);
-
- printf("%.2f的%.2f次方为%.2f\n", base, exponent, result);
-
- base = 5.0;
- exponent = 0.0;
- result = pow(base, exponent);
-
- printf("%.2f的%.2f次方为%.2f\n", base, exponent, result);
-
- base = 2.0;
- exponent = -2.0;
- result = pow(base, exponent);
-
- printf("%.2f的%.2f次方为%.2f\n", base, exponent, result);
-
- return 0;
- }
结果如图:
ps:
以上的函数在一般情况下也可以强制转换为int型,只不过可能在某些情况会精度丢失,看个人使用。
比如说求2的3次方,结果为8,这时我们就可以用int型
abs
函数是 C 标准库中的一个函数,用于计算整数的绝对值。它定义在<stdlib.h>
头文件中。
原型:int abs(int x);
返回值类型:
abs
函数返回int
类型的结果。
- #include <stdio.h>
- #include <stdlib.h>
-
- int main() {
- int num1 = -10;
- int num2 = 10;
-
- int abs_value1 = abs(num1);
- int abs_value2 = abs(num2);
-
- printf("%d的绝对值为%d\n", num1, abs_value1);
- printf("%d的绝对值为%d\n", num2, abs_value2);
-
- return 0;
- }
结果如图:
c语言标准库中的宏定义:
以下都属于头文件<limits.h>:
CHAR_BIT
:一个 char
类型所占用的位数(通常是 8)。SCHAR_MIN
:signed char
类型的最小值。SCHAR_MAX
:signed char
类型的最大值。UCHAR_MAX
:unsigned char
类型的最大值。CHAR_MIN
:char
类型的最小值(如果 char
是 signed 类型,与 SCHAR_MIN
相同;否则为 0)。CHAR_MAX
:char
类型的最大值(如果 char
是 signed 类型,与 SCHAR_MAX
相同;否则与 UCHAR_MAX
相同)。MB_LEN_MAX
:多字节字符中的最大字节数。SHRT_MIN
:short
类型的最小值。SHRT_MAX
:short
类型的最大值。USHRT_MAX
:unsigned short
类型的最大值。INT_MIN
:int
类型的最小值。INT_MAX
:int
类型的最大值。(int型的用的比较多)UINT_MAX
:unsigned int
类型的最大值。LONG_MIN
:long
类型的最小值。LONG_MAX
:long
类型的最大值。ULONG_MAX
:unsigned long
类型的最大值。LLONG_MIN
:long long
类型的最小值(如果支持)。LLONG_MAX
:long long
类型的最大值(如果支持)。ULLONG_MAX
:unsigned long long
类型的最大值(如果支持)。扣1下次派大星还教你
感谢大家的阅读!一键三连
扣1下次派大星还教你
扣1下次派大星还教你
扣1下次派大星还教你
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。