C语言函数大全

  • c 开头的函数之复数篇
    • 1. cabs,cabsf,cabsl
      • 1.1 函数说明
      • 1.2 演示示例
      • 1.3 运行结果
    • 2. creal,crealf,creall
      • 2.1 函数说明
      • 2.2 演示示例
      • 2.3 运行结果
    • 3. cimag,cimagf,cimagl
      • 3.1 函数说明
      • 3.2 演示示例
      • 3.3 运行结果
    • 4. carg,cargf,cargl
      • 4.1 函数说明
      • 4.2 演示示例
      • 4.3 运行结果
    • 5. cacos,cacosf,cacosl
      • 5.1 函数说明
      • 5.2 演示示例
      • 5.3 运行结果
    • 6. cacosh,cacoshf,cacoshl
      • 6.1 函数说明
      • 6.2 演示示例
      • 6.3 运行结果
    • 7. casin,casinf,casinl
      • 7.1 函数说明
      • 7.2 演示示例
      • 7.3 运行结果
    • 8. casinh,casinhf,casinhl
      • 8.1 函数说明
      • 8.2 演示示例
      • 8.3 运行结果
    • 9. catan,catanf,catanl
      • 9.1 函数说明
      • 9.2 演示示例
      • 9.3 运行结果
    • 10. catanh,catanhf,catanhl
      • 10.1 函数说明
      • 10.2 演示示例
      • 10.3 运行结果
    • 11. ccos,ccosf,ccosl
      • 11.1 函数说明
      • 11.2 演示示例
      • 11.3 运行结果
    • 12. ccosh,ccoshf,ccoshl
      • 12.1 函数说明
      • 12.2 演示示例
      • 12.3 运行结果
    • 13. csin,csinf,csinl
      • 13.1 函数说明
      • 13.2 演示示例
      • 13.3 运行结果
    • 14. csinh,csinhf,csinhl
      • 14.1 函数说明
      • 14.2 演示示例
      • 14.3 运行结果
    • 15. ctan,ctanf,ctanl
      • 15.1 函数说明
      • 15.2 演示示例
      • 15.3 运行结果
    • 16. ctanh,ctanhf,ctanhl
      • 16.1 函数说明
      • 16.2 演示示例
      • 16.3 运行结果
    • 17. cexp,cexpf,cexpl
      • 17.1 函数说明
      • 17.2 演示示例
      • 17.3 运行结果
    • 18. clog,clogf,clogl
      • 18.1 函数说明
      • 18.2 演示示例
      • 18.3 运行结果
    • 19. conj,conjf,conjl
      • 19.1 函数说明
      • 19.2 演示示例
      • 19.3 运行结果
    • 20. cpow,cpowf,cpowl
      • 20.1 函数说明
      • 20.2 演示示例
      • 20.3 运行结果
    • 21. cproj,cprojf,cprojl
      • 21.1 函数说明
      • 21.2 演示示例
      • 21.3 运行结果
    • 22. csqrt,csqrtf,csqrtl
      • 22.1 函数说明
      • 22.2 演示示例
      • 22.3 运行结果
    • 参考

c 开头的函数之复数篇

1. cabs,cabsf,cabsl

1.1 函数说明

函数声明 函数功能
double cabs (double complex z); 计算复数 z 的绝对值(double)
float cabsf (float complex z); 计算复数 z 的绝对值(float)
long double cabsl (long double complex z); 计算复数 z 的绝对值(long double)

1.2 演示示例

// Huazie
#include <stdio.h>
#include <complex.h>int main(void)
{double complex z;double x = 2.0, y = 2.0, val;z = x + y * I; // I 代指 虚数单位 ival = cabs(z); // 计算复数 z 的绝对值float complex zf;float xf = 2.0, yf = 2.0, valf;zf = xf + yf * I;valf = cabsf(zf);long double complex zL;long double xL = 2.0, yL = 2.0, valL;zL = xL + yL * I;valL = cabsl(zL);printf("The absolute value of (%.4lf + %.4lfi) is %.20lf\n", x, y, val);printf("The absolute value of (%.4f + %.4fi) is %.20f\n", xf, yf, valf);printf("The absolute value of (%.4Lf + %.4Lfi) is %.20Lf", xL, yL, valL);return 0;
}

1.3 运行结果

2. creal,crealf,creall

2.1 函数说明

函数声明 函数功能
double creal (double complex z); 计算复数z的实部(double)
float crealf (float complex z); 计算复数z的实部(float)
long double creall (long double complex z); 计算复数z的反余弦(long double)

2.2 演示示例

// Huazie
#include <stdio.h>
#include <complex.h>int main(void)
{double complex z;double x = 2.0, y = 1.0;z = x + y * I; // I 代指 虚数单位 ifloat complex zf;float xf = 3.0, yf = 1.0;zf = xf + yf * I;long double complex zL;long double xL = 4.0, yL = 1.0;zL = xL + yL * I;printf("The real part of (%.4lf + %.4lfi) is %.4lf\n", x, y, creal(z));printf("The real part of (%.4f + %.4fi) is %.4f\n", xf, yf, crealf(zf));printf("The real part of (%.4Lf + %.4Lfi) is %.4Lf", xL, yL, creall(zL));return 0;
}

2.3 运行结果

3. cimag,cimagf,cimagl

3.1 函数说明

函数声明 函数功能
double cimag (double complex z); 计算复数z的虚部(double)
float cimagf (float complex z); 计算复数z的虚部(float)
long double cimagl (long double complex z); 计算复数z的虚部(long double)

3.2 演示示例

// Huazie
#include <stdio.h>
#include <complex.h>int main(void)
{double complex z;double x = 1.0, y = 2.0;z = x + y * I; // I 代指 虚数单位 ifloat complex zf;float xf = 1.0, yf = 3.0;zf = xf + yf * I;long double complex zL;long double xL = 1.0, yL = 4.0;zL = xL + yL * I;printf("The imaginary part of (%.4lf + %.4lfi) is %.4lf\n", x, y, cimag(z));printf("The imaginary part of (%.4f + %.4fi) is %.4f\n", xf, yf, cimagf(zf));printf("The imaginary part of (%.4Lf + %.4Lfi) is %.4Lf", xL, yL, cimagl(zL));return 0;
}

3.3 运行结果

4. carg,cargf,cargl

4.1 函数说明

函数声明 函数功能
double carg (double complex z); 计算复数z的相位角 (double)
float cargf (float complex z); 计算复数z的相位角(float)
long double cargl (long double complex z); 计算复数z的相位角(long double)

4.2 演示示例

#include <stdio.h>
#include <complex.h>int main(void)
{double complex z;z = 1.0 + 2.0 * I; // I 代指 虚数单位 ifloat complex zf;zf = 1.0f + 2.0f * I;long double complex zL;zL = (long double) 1.0 + (long double) 2.0 * I;printf("The phase angle of (%.4lf + %.4lfi) is %.60lf\n", creal(z), cimag(z), carg(z));printf("The phase angle of (%.4f + %.4fi) is %.60f\n", crealf(zf), cimagf(zf), cargf(zf));printf("The phase angle of (%.4Lf + %.4Lfi) is %.60Lf", creall(zL), cimagl(zL), cargl(zL));return 0;
}

4.3 运行结果

5. cacos,cacosf,cacosl

5.1 函数说明

函数声明 函数功能
double complex cacos (double complex z); 计算复数z的反余弦 (double complex)
float complex cacosf (float complex z); 计算复数z的反余弦(float complex)
long double complex cacosl (long double complex z); 计算复数z的反余弦(long double complex)

5.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcacos;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcacos = cacos(z); // 计算复数z的反余弦float complex zf, zcacosf;zf = 1.0f + 2.0f * I;zcacosf = cacosf(zf);long double complex zL, zcacosl;zL = (long double) 1.0 + (long double) 2.0 * I;zcacosl = cacosl(zL);double zimag = cimag(zcacos);float zimagf = cimagf(zcacosf);long double zimagl = cimagl(zcacosl);if (zimag < 0) printf("The arc cosine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcacos), fabs(zimag));else printf("The arc cosine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcacos), zimag);       if (zimagf < 0) printf("The arc cosine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcacosf), fabsf(zimagf));else printf("The arc cosine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcacosf), zimagf);if (zimagl < 0) printf("The arc cosine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcacosl), fabsl(zimagl));else printf("The arc cosine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcacosl), zimagl);return 0;
}

5.3 运行结果

6. cacosh,cacoshf,cacoshl

6.1 函数说明

函数声明 函数功能
double complex cacosh (double complex z); 计算复数z的反双曲余弦(double complex)
float complex cacoshf (float complex z); 计算复数z的反双曲余弦(float complex)
long double complex cacoshl (long double complex z); 计算复数z的反双曲余弦(long double complex)

6.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcacosh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcacosh = cacosh(z); // 反双曲余弦float complex zf, zcacoshf;zf = 1.0f + 2.0f * I;zcacoshf = cacoshf(zf);long double complex zL, zcacoshl;zL = (long double) 1.0 + (long double) 2.0 * I;zcacoshl = cacoshl(zL);double zimag = cimag(zcacosh);float zimagf = cimagf(zcacoshf);long double zimagl = cimagl(zcacoshl);if (zimag < 0) printf("The inverse hyperbolic cosine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcacosh), fabs(zimag));else printf("The inverse hyperbolic cosine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcacosh), zimag);       if (zimagf < 0) printf("The inverse hyperbolic cosine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcacoshf), fabsf(zimagf));else printf("The inverse hyperbolic cosine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcacoshf), zimagf);if (zimagl < 0) printf("The inverse hyperbolic cosine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcacoshl), fabsl(zimagl));else printf("The inverse hyperbolic cosine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcacoshl), zimagl);return 0;
}

6.3 运行结果

7. casin,casinf,casinl

7.1 函数说明

函数声明 函数功能
double complex casin (double complex z); 计算复数z的反正弦(double complex)
float complex casinf (float complex z); 计算复数z的反正弦(float complex)
long double complex casinl (long double complex z); 计算复数z的反正弦(long double complex)

7.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcasin;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcasin = casin(z); // 反正弦float complex zf, zcasinf;zf = 1.0f + 2.0f * I;zcasinf = casinf(zf);long double complex zL, zcasinl;zL = (long double) 1.0 + (long double) 2.0 * I;zcasinl = casinl(zL);double zimag = cimag(zcasin);float zimagf = cimagf(zcasinf);long double zimagl = cimagl(zcasinl);if (zimag < 0) printf("The arcsine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcasin), fabs(zimag));else printf("The arcsine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcasin), zimag);       if (zimagf < 0) printf("The arcsine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcasinf), fabsf(zimagf));else printf("The arcsine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcasinf), zimagf);if (zimagl < 0) printf("The arcsine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcasinl), fabsl(zimagl));else printf("The arcsine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcasinl), zimagl);return 0;
}

7.3 运行结果

8. casinh,casinhf,casinhl

8.1 函数说明

函数声明 函数功能
double complex casinh (double complex z); 计算复数z的反双曲正弦(double complex)
float complex casinhf (float complex z); 计算复数z的反双曲正弦(float complex)
long double complex casinhl (long double complex z); 计算复数z的反双曲正弦(long double complex)

8.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcasinh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcasinh = casinh(z); // 反双曲正弦float complex zf, zcasinhf;zf = 1.0f + 2.0f * I;zcasinhf = casinhf(zf);long double complex zL, zcasinhl;zL = (long double) 1.0 + (long double) 2.0 * I;zcasinhl = casinhl(zL);double zimag = cimag(zcasinh);float zimagf = cimagf(zcasinhf);long double zimagl = cimagl(zcasinhl);if (zimag < 0) printf("The inverse hyperbolic sine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcasinh), fabs(zimag));else printf("The inverse hyperbolic sine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcasinh), zimag);       if (zimagf < 0) printf("The inverse hyperbolic sine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcasinhf), fabsf(zimagf));else printf("The inverse hyperbolic sine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcasinhf), zimagf);if (zimagl < 0) printf("The inverse hyperbolic sine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcasinhl), fabsl(zimagl));else printf("The inverse hyperbolic sine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcasinhl), zimagl);return 0;
}

8.3 运行结果

9. catan,catanf,catanl

9.1 函数说明

函数声明 函数功能
double complex catan (double complex z); 计算复数z的反正切(double complex)
float complex catanf (float complex z); 计算复数z的反正切(float complex)
long double complex catanl (long double complex z); 计算复数z的反正切(long double complex)

9.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcatan;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcatan = catan(z); // 反正切float complex zf, zcatanf;zf = 1.0f + 2.0f * I;zcatanf = catanf(zf);long double complex zL, zcatanl;zL = (long double) 1.0 + (long double) 2.0 * I;zcatanl = catanl(zL);double zimag = cimag(zcatan);float zimagf = cimagf(zcatanf);long double zimagl = cimagl(zcatanl);if (zimag < 0) printf("The arc tangent of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcatan), fabs(zimag));else printf("The arc tangent of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcatan), zimag);       if (zimagf < 0) printf("The arc tangent of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcatanf), fabsf(zimagf));else printf("The arc tangent of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcatanf), zimagf);if (zimagl < 0) printf("The arc tangent of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcatanl), fabsl(zimagl));else printf("The arc tangent of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcatanl), zimagl);return 0;
}

9.3 运行结果

10. catanh,catanhf,catanhl

10.1 函数说明

函数声明 函数功能
double complex catanh (double complex z); 计算复数z的反双曲正切(double complex)
float complex catanhf (float complex z); 计算复数z的反双曲正切(float complex)
long double complex catanhl (long double complex z); 计算复数z的反双曲正切(long double complex)

10.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcatanh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcatanh = catanh(z); // 反双曲正切float complex zf, zcatanhf;zf = 1.0f + 2.0f * I;zcatanhf = catanhf(zf);long double complex zL, zcatanhl;zL = (long double) 1.0 + (long double) 2.0 * I;zcatanhl = catanhl(zL);double zimag = cimag(zcatanh);float zimagf = cimagf(zcatanhf);long double zimagl = cimagl(zcatanhl);if (zimag < 0) printf("The inverse hyperbolic tangent of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcatanh), fabs(zimag));else printf("The inverse hyperbolic tangent of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcatanh), zimag);       if (zimagf < 0) printf("The inverse hyperbolic tangent of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcatanhf), fabsf(zimagf));else printf("The inverse hyperbolic tangent of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcatanhf), zimagf);if (zimagl < 0) printf("The inverse hyperbolic tangent of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcatanhl), fabsl(zimagl));else printf("The inverse hyperbolic tangent of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcatanhl), zimagl);return 0;
}

10.3 运行结果

11. ccos,ccosf,ccosl

11.1 函数说明

函数声明 函数功能
double complex ccos (double complex z); 计算复数z的余弦(double complex)
float complex ccosf (float complex z); 计算复数z的余弦(float complex)
long double complex ccosl (long double complex z); 计算复数z的余弦(long double complex)

11.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zccos;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izccos = ccos(z); // 余弦float complex zf, zccosf;zf = 1.0f + 2.0f * I;zccosf = ccosf(zf);long double complex zL, zccosl;zL = (long double) 1.0 + (long double) 2.0 * I;zccosl = ccosl(zL);double zimag = cimag(zccos);float zimagf = cimagf(zccosf);long double zimagl = cimagl(zccosl);if (zimag < 0) printf("The cosine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zccos), fabs(zimag));else printf("The cosine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zccos), zimag);       if (zimagf < 0) printf("The cosine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zccosf), fabsf(zimagf));else printf("The cosine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zccosf), zimagf);if (zimagl < 0) printf("The cosine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zccosl), fabsl(zimagl));else printf("The cosine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zccosl), zimagl);return 0;
}

11.3 运行结果

12. ccosh,ccoshf,ccoshl

12.1 函数说明

函数声明 函数功能
double complex ccosh (double complex z); 计算复数z的双曲余弦(double complex)
float complex ccoshf (float complex z); 计算复数z的双曲余弦(float complex)
long double complex ccoshl (long double complex z); 计算复数z的双曲余弦(long double complex)

12.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zccosh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izccosh = ccosh(z); // 双曲余弦float complex zf, zccoshf;zf = 1.0f + 2.0f * I;zccoshf = ccoshf(zf);long double complex zL, zccoshl;zL = (long double) 1.0 + (long double) 2.0 * I;zccoshl = ccoshl(zL);double zimag = cimag(zccosh);float zimagf = cimagf(zccoshf);long double zimagl = cimagl(zccoshl);if (zimag < 0) printf("The hyperbolic cosine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zccosh), fabs(zimag));else printf("The hyperbolic cosine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zccosh), zimag);       if (zimagf < 0) printf("The hyperbolic cosine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zccoshf), fabsf(zimagf));else printf("The hyperbolic cosine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zccoshf), zimagf);if (zimagl < 0) printf("The hyperbolic cosine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zccoshl), fabsl(zimagl));else printf("The hyperbolic cosine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zccoshl), zimagl);return 0;
}

12.3 运行结果

13. csin,csinf,csinl

13.1 函数说明

函数声明 函数功能
double complex csin (double complex z); 计算复数z的正弦(double complex)
float complex csinf (float complex z); 计算复数z的正弦(float complex)
long double complex csinl (long double complex z); 计算复数z的正弦(long double complex)

13.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcsin;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcsin = csin(z); // 正弦float complex zf, zcsinf;zf = 1.0f + 2.0f * I;zcsinf = csinf(zf);long double complex zL, zcsinl;zL = (long double) 1.0 + (long double) 2.0 * I;zcsinl = csinl(zL);double zimag = cimag(zcsin);float zimagf = cimagf(zcsinf);long double zimagl = cimagl(zcsinl);if (zimag < 0) printf("The sine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcsin), fabs(zimag));else printf("The sine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcsin), zimag);       if (zimagf < 0) printf("The sine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsinf), fabsf(zimagf));else printf("The sine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsinf), zimagf);if (zimagl < 0) printf("The sine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcsinl), fabsl(zimagl));else printf("The sine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcsinl), zimagl);return 0;
}

13.3 运行结果

14. csinh,csinhf,csinhl

14.1 函数说明

函数声明 函数功能
double complex csinh (double complex z); 计算复数z的双曲正弦(double complex)
float complex csinhf (float complex z); 计算复数z的双曲正弦(float complex)
long double complex csinhl (long double complex z); 计算复数z的双曲正弦(long double complex)

14.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcsinh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcsinh = csinh(z); // 双曲正弦float complex zf, zcsinhf;zf = 1.0f + 2.0f * I;zcsinhf = csinhf(zf);long double complex zL, zcsinhl;zL = (long double) 1.0 + (long double) 2.0 * I;zcsinhl = csinhl(zL);double zimag = cimag(zcsinh);float zimagf = cimagf(zcsinhf);long double zimagl = cimagl(zcsinhl);if (zimag < 0) printf("The hyperbolic sine of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcsinh), fabs(zimag));else printf("The hyperbolic sine of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcsinh), zimag);       if (zimagf < 0) printf("The hyperbolic sine of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsinhf), fabsf(zimagf));else printf("The hyperbolic sine of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsinhf), zimagf);if (zimagl < 0) printf("The hyperbolic sine of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcsinhl), fabsl(zimagl));else printf("The hyperbolic sine of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcsinhl), zimagl);return 0;
}

14.3 运行结果

15. ctan,ctanf,ctanl

15.1 函数说明

函数声明 函数功能
double complex ctan (double complex z); 计算复数z的正切(double complex)
float complex ctanf (float complex z); 计算复数z的正切(float complex)
long double complex ctanl (long double complex z); 计算复数z的正切(long double complex)

15.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zctan;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izctan = ctan(z); // 正切float complex zf, zctanf;zf = 1.0f + 2.0f * I;zctanf = ctanf(zf);long double complex zL, zctanl;zL = (long double) 1.0 + (long double) 2.0 * I;zctanl = ctanl(zL);double zimag = cimag(zctan);float zimagf = cimagf(zctanf);long double zimagl = cimagl(zctanl);if (zimag < 0) printf("The tangent of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zctan), fabs(zimag));else printf("The tangent of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zctan), zimag);       if (zimagf < 0) printf("The tangent of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zctanf), fabsf(zimagf));else printf("The tangent of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zctanf), zimagf);if (zimagl < 0) printf("The tangent of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zctanl), fabsl(zimagl));else printf("The tangent of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zctanl), zimagl);return 0;
}

15.3 运行结果

16. ctanh,ctanhf,ctanhl

16.1 函数说明

函数声明 函数功能
double complex ctanh (double complex z); 计算复数z的双曲正切(double complex)
float complex ctanhf (float complex z); 计算复数z的双曲正切(float complex)
long double complex ctanhl (long double complex z); 计算复数z的双曲正切(long double complex)

16.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zctanh;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izctanh = ctanh(z); // 双曲正切float complex zf, zctanhf;zf = 1.0f + 2.0f * I;zctanhf = ctanhf(zf);long double complex zL, zctanhl;zL = (long double) 1.0 + (long double) 2.0 * I;zctanhl = ctanhl(zL);double zimag = cimag(zctanh);float zimagf = cimagf(zctanhf);long double zimagl = cimagl(zctanhl);if (zimag < 0) printf("The inverse hyperbolic tangent of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zctanh), fabs(zimag));else printf("The inverse hyperbolic tangent of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zctanh), zimag);       if (zimagf < 0) printf("The inverse hyperbolic tangent of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zctanhf), fabsf(zimagf));else printf("The inverse hyperbolic tangent of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zctanhf), zimagf);if (zimagl < 0) printf("The inverse hyperbolic tangent of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zctanhl), fabsl(zimagl));else printf("The inverse hyperbolic tangent of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zctanhl), zimagl);return 0;
}

16.3 运行结果

17. cexp,cexpf,cexpl

17.1 函数说明

函数声明 函数功能
double complex cexp (double complex z); 计算复数z的指数基数e(double complex)
float complex cexpf (float complex z); 计算复数z的指数基数e(float complex)
long double complex cexpl (long double complex z); 计算复数z的指数基数e(long double complex)

17.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcexp;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcexp = cexp(z); // 指数基数efloat complex zf, zcexpf;zf = 1.0f + 2.0f * I;zcexpf = cexpf(zf);long double complex zL, zcexpl;zL = (long double) 1.0 + (long double) 2.0 * I;zcexpl = cexpl(zL);double zimag = cimag(zcexp);float zimagf = cimagf(zcexpf);long double zimagl = cimagl(zcexpl);if (zimag < 0) printf("The base-e exponential of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcexp), fabs(zimag));else printf("The base-e exponential of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcexp), zimag);       if (zimagf < 0) printf("The base-e exponential of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcexpf), fabsf(zimagf));else printf("The base-e exponential of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcexpf), zimagf);if (zimagl < 0) printf("The base-e exponential of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcexpl), fabsl(zimagl));else printf("The base-e exponential of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcexpl), zimagl);return 0;
}

17.3 运行结果

18. clog,clogf,clogl

18.1 函数说明

函数声明 函数功能
double complex clog (double complex z); 计算复数z的自然对数(以e为底)(double complex)
float complex clogf (float complex z); 计算复数z的自然对数(以e为底)(float complex)
long double complex clogl (long double complex z); 计算复数z的自然对数(以e为底)(long double complex)

18.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zclog;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izclog = clog(z); // 自然对数(以e为底)float complex zf, zclogf;zf = 1.0f + 2.0f * I;zclogf = clogf(zf);long double complex zL, zclogl;zL = (long double) 1.0 + (long double) 2.0 * I;zclogl = clogl(zL);double zimag = cimag(zclog);float zimagf = cimagf(zclogf);long double zimagl = cimagl(zclogl);if (zimag < 0) printf("The natural (base-e) logarithm of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zclog), fabs(zimag));else printf("The natural (base-e) logarithm of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zclog), zimag);       if (zimagf < 0) printf("The natural (base-e) logarithm of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zclogf), fabsf(zimagf));else printf("The natural (base-e) logarithm of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zclogf), zimagf);if (zimagl < 0) printf("The natural (base-e) logarithm of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zclogl), fabsl(zimagl));else printf("The natural (base-e) logarithm of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zclogl), zimagl);return 0;
}

18.3 运行结果

19. conj,conjf,conjl

19.1 函数说明

函数声明 函数功能
double complex conj (double complex z); 计算复数z的共轭(double complex)
float complex conjf (float complex z); 计算复数z的共轭(float complex)
long double complex conjl (long double complex z); 计算复数z的共轭(long double complex)

19.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zconj;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izconj = conj(z); // 共轭float complex zf, zconjf;zf = 1.0f + 2.0f * I;zconjf = conjf(zf);long double complex zL, zconjl;zL = (long double) 1.0 + (long double) 2.0 * I;zconjl = conjl(zL);double zimag = cimag(zconj);float zimagf = cimagf(zconjf);long double zimagl = cimagl(zconjl);if (zimag < 0) printf("The conjugate of (%.4lf + %.4lfi) is (%.4lf - %.4lfi)\n", creal(z), cimag(z), creal(zconj), fabs(zimag));else printf("The conjugate of (%.4lf + %.4lfi) is (%.4lf + %.4lfi)\n", creal(z), cimag(z), creal(zconj), zimag);       if (zimagf < 0) printf("The conjugate of (%.4f + %.4fi) is (%.4f - %.4fi)\n", crealf(zf), cimagf(zf), crealf(zconjf), fabsf(zimagf));else printf("The conjugate of (%.4f + %.4fi) is (%.4f + %.4fi)\n", crealf(zf), cimagf(zf), crealf(zconjf), zimagf);if (zimagl < 0) printf("The conjugate of (%.4Lf + %.4Lfi) is (%.4Lf - %.4Lfi)", creall(zL), cimagl(zL), creall(zconjl), fabsl(zimagl));else printf("The conjugate of (%.4Lf + %.4Lfi) is (%.4Lf + %.4Lfi)", creall(zL), cimagl(zL), creall(zconjl), zimagl);return 0;
}

19.3 运行结果

20. cpow,cpowf,cpowl

20.1 函数说明

函数声明 函数功能
double complex cpow (double complex x, double complex y); 计算x的y次方值 (double complex)
float complex cpowf (float complex x, float complex y); 计算x的y次方值 (float complex)
long double complex cpowl (long double complex x, long double complex y); 计算x的y次方值 (double complex)

20.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex x, y, z;x = 1.0 + 2.0 * I; // I 代指 虚数单位 iy = 2.0 + 1.0 * I; z = cpow(x, y); // x的y次方值float complex xf, yf, zf;xf = 1.0f + 2.0f * I;yf = 2.0f + 1.0f * I; zf = cpowf(xf, yf);long double complex xL, yL, zL;xL = (long double) 1.0 + (long double) 2.0 * I;yL = (long double) 2.0 + (long double) 1.0 * I;zL = cpowl(xL, yL);double zimag = cimag(z);float zimagf = cimagf(zf);long double zimagl = cimagl(zL);if (zimag < 0) printf("the value of (%.4lf + %.4lfi) raised to the (%.4lf + %.4lfi) power is (%.20lf - %.20lfi)\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), fabs(zimag));else printf("the value of (%.4lf + %.4lfi) raised to the (%.4lf + %.4lfi) power is (%.20lf + %.20lfi)\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), zimag);       if (zimagf < 0) printf("the value of (%.4f + %.4fi) raised to the (%.4f + %.4fi) power is (%.20f - %.20fi)\n", crealf(xf), cimagf(xf), crealf(yf), cimagf(yf), crealf(zf), fabs(zimagf));else printf("the value of (%.4f + %.4fi) raised to the (%.4f + %.4fi) power is (%.20f + %.20fi)\n", crealf(xf), cimagf(xf), crealf(yf), cimagf(yf), crealf(zf), zimagf);if (zimagl < 0) printf("the value of (%.4Lf + %.4Lfi) raised to the (%.4Lf + %.4Lfi) power is (%.20Lf - %.20Lfi)\n", creall(xL), cimagl(xL), creall(yL), cimagl(yL), creall(zL), fabs(zimagl));else printf("the value of (%.4Lf + %.4Lfi) raised to the (%.4Lf + %.4Lfi) power is (%.20Lf + %.20Lfi)\n", creall(xL), cimagl(xL), creall(yL), cimagl(yL), creall(zL), zimagl);    return 0;
}

20.3 运行结果

21. cproj,cprojf,cprojl

21.1 函数说明

函数声明 函数功能
double complex cproj (double complex z); 计算复数z在黎曼球面上的投影(double complex)
float complex cprojf (float complex z); 计算复数z在黎曼球面上的投影(float complex)
long double complex cprojl (long double complex z); 计算复数z在黎曼球面上的投影(long double complex)

21.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcproj;z = 1.0 + 2.0 * I; // I 代指 虚数单位 izcproj = cproj(z); // 计算复数z在黎曼球面上的投影float complex zf, zcprojf;zf = NAN + INFINITY * I;zcprojf = cprojf(zf);long double complex zL, zcprojl;zL = INFINITY + (long double) 3.0 * I; zcprojl = cprojl(zL); // 结果相当于  INFINITY + i*copysign(0.0, cimag(z)).double zimag = cimag(zcproj);float zimagf = cimagf(zcprojf);long double zimagl = cimagl(zcprojl);if (zimag < 0) printf("The projection of the (%.4lf + %.4lf i) onto the Riemann sphere is (%.4lf - %.4lf i)\n", creal(z), cimag(z), creal(zcproj), fabs(zimag));else printf("The projection of the (%.4lf + %.4lf i) onto the Riemann sphere is (%.4lf + %.4lf i)\n", creal(z), cimag(z), creal(zcproj), zimag);       if (zimagf < 0) printf("The projection of the (%.4f + %.4f i) onto the Riemann sphere is (%.4f - %.4f i)\n", crealf(zf), cimagf(zf), crealf(zcprojf), fabsf(zimagf));else printf("The projection of the (%.4f + %.4f i) onto the Riemann sphere is (%.4f + %.4f i)\n", crealf(zf), cimagf(zf), crealf(zcprojf), zimagf);if (zimagl < 0) printf("The projection of the (%.4Lf + %.4Lf i) onto the Riemann sphere is (%.4Lf - %.4Lf i)", creall(zL), cimagl(zL), creall(zcprojl), fabsl(zimagl));else printf("The projection of the (%.4Lf + %.4Lf i) onto the Riemann sphere is (%.4Lf + %.4Lf i)", creall(zL), cimagl(zL), creall(zcprojl), zimagl);return 0;
}

21.3 运行结果

22. csqrt,csqrtf,csqrtl

22.1 函数说明

函数声明 函数功能
double complex csqrt (double complex z); 计算复数z的平方根(double complex)
float complex csqrtf (float complex z); 计算复数z的平方根(float complex)
long double complex csqrtl (long double complex z); 计算复数z的平方根(long double complex)

22.2 演示示例

#include <stdio.h>
#include <math.h>
#include <complex.h>int main(void)
{double complex z, zcsqrt;z = 9.0 + 9.0 * I; // I 代指 虚数单位 izcsqrt = csqrt(z); // 平方根float complex zf, zcsqrtf;zf = 4.0f + 4.0f * I;zcsqrtf = csqrtf(zf);long double complex zL, zcsqrtl;zL = (long double) 16.0 + (long double) 16.0 * I;zcsqrtl = csqrtl(zL);double zimag = cimag(zcsqrt);float zimagf = cimagf(zcsqrtf);long double zimagl = cimagl(zcsqrtl);if (zimag < 0) printf("The square root of (%.4lf + %.4lfi) is (%.20lf - %.20lfi)\n", creal(z), cimag(z), creal(zcsqrt), fabs(zimag));else printf("The square root of (%.4lf + %.4lfi) is (%.20lf + %.20lfi)\n", creal(z), cimag(z), creal(zcsqrt), zimag);       if (zimagf < 0) printf("The square root of (%.4f + %.4fi) is (%.20f - %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsqrtf), fabsf(zimagf));else printf("The square root of (%.4f + %.4fi) is (%.20f + %.20fi)\n", crealf(zf), cimagf(zf), crealf(zcsqrtf), zimagf);if (zimagl < 0) printf("The square root of (%.4Lf + %.4Lfi) is (%.20Lf - %.20Lfi)", creall(zL), cimagl(zL), creall(zcsqrtl), fabsl(zimagl));else printf("The square root of (%.4Lf + %.4Lfi) is (%.20Lf + %.20Lfi)", creall(zL), cimagl(zL), creall(zcsqrtl), zimagl);return 0;
}

22.3 运行结果

参考

  1. 【MATH-标准C库】

C语言函数大全--c开头的函数之复数篇相关推荐

  1. C语言函数大全-- m 开头的函数(1)

    C语言函数大全 本篇介绍C语言函数大全-- m 开头的函数 1. malloc 1.1 函数说明 函数声明 函数功能 void *malloc(size_t size); 用于动态分配内存 参数: s ...

  2. C语言函数大全-- q 开头的函数

    C语言函数大全 本篇介绍C语言函数大全-- q 开头的函数 1. qsort 1.1 函数说明 函数声明 函数功能 void qsort(void *base, size_t nmemb, size_ ...

  3. C语言函数大全-- s 开头的函数(1)

    C语言函数大全 本篇介绍C语言函数大全-- s 开头的函数(1) 1. sbrk 1.1 函数说明 函数声明 函数功能 void *sbrk(intptr_t increment); 它是一个 Uni ...

  4. C语言函数大全-- i 开头的函数

    C语言函数大全 本篇介绍C语言函数大全– i 开头的函数 1. imagesize 1.1 函数说明 函数声明 函数功能 unsigned imagesize(int left, int top, i ...

  5. C语言函数大全--d开头的函数

    C语言函数大全 本篇介绍C语言函数大全–d开头的函数 1. detectgraph 1.1 函数说明 函数声明 函数功能 void detectgraph(int *graphdriver, int ...

  6. C语言函数大全-- n 开头的函数

    C语言函数大全 本篇介绍C语言函数大全-- n 开头的函数 1. nan 1.1 函数说明 函数声明 函数功能 double nan(const char *tagp); 用于返回一个表示 NaN(非 ...

  7. C语言函数大全-- s 开头的函数(3)

    C语言函数大全 本篇介绍C语言函数大全-- s 开头的函数(3) 1. sleep 1.1 函数说明 函数声明 函数功能 unsigned int sleep(unsigned int seconds ...

  8. C语言函数大全-- r 开头的函数

    C语言函数大全 本篇介绍C语言函数大全-- r 开头的函数 1. raise 1.1 函数说明 函数声明 函数功能 int raise(int sig); 用于向当前进程发送指定的信号. 参数: si ...

  9. C语言函数大全--h开头的函数

    C语言函数大全 本篇介绍C语言函数大全–h开头的函数或宏 1. hypot,hypotf,hypotl 1.1 函数说明 函数声明 函数功能 double hypot(double x, double ...

  10. C语言函数大全-- l 开头的函数

    C语言函数大全 本篇介绍C语言函数大全-- l 开头的函数 1. labs,llabs 1.1 函数说明 函数声明 函数功能 long labs(long n); 计算长整型的绝对值 long lon ...

最新文章

  1. IA-32系统编程指南 - 第三章 保护模式的内存管理【1】
  2. matlab 二分法求方程近似解
  3. HDU-3746-Cyclic Nacklace
  4. 它来了:阿里巴巴Java开发手册泰山版解读
  5. 使用tensorflow训练数据时遇到的问题总结
  6. 3DSlicer20:GUI Structure
  7. web常用正则表达式
  8. IBM Java垃圾回收
  9. 自定义Toolbar的一些小技巧
  10. linux的NetworkManager服务(转)
  11. 12v电源正负极区分_弱电工程UPS电源如何安装?如何配置计算?故障如何处理?...
  12. #Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
  13. 蓝桥杯.历届试题: 核桃数量
  14. 单网卡配置内外网同时上网
  15. 转为html5播放器插件,15个HTML5播放器插件
  16. 为什么地球上的第一个复杂生命体出现在海洋中
  17. CAD中怎么创建圆弧?CAD圆弧快捷键应用技巧
  18. html鼠标在ie上抖动,IE下CSS3动画抖动
  19. uniapp跨域设置
  20. CY7C68000 UTMI PHY芯片介绍

热门文章

  1. 视频处理基本技术(取帧、合帧)
  2. 删除薛定谔安装文件夹后导致无法卸载或重新安装解决方案(附正常卸载方法)
  3. python画图小猪佩奇动画片全集_用Python画小猪佩奇
  4. 【angular】ts2307: Cannot find module xxx
  5. 基于高斯塞德尔方法的超松弛迭代法MATLAB实现
  6. 自组织神经网络SOM算法对Iris数据集进行聚类的matlab实现
  7. 静觅小白爬虫及进阶系列学习笔记
  8. Android-图片预览(自定义ImageView实现图片缩放,多点触控,自由移动)
  9. MySQL学习笔记——基础语句
  10. 要么到岗,要么离职!马斯克:特斯拉「远程办公」到此结束