complex在c语言用法,C++ complex abs()用法及代码示例
时间: 2023-12-28 20:05:06 浏览: 24
在 C 语言中,`complex` 是一个复数类型,表示为 `double _Complex` 或者 `float _Complex`。可以使用标准库函数对复数进行各种运算和操作。
示例代码:
```c
#include <stdio.h>
#include <complex.h>
int main() {
double _Complex c1 = 1.0 + 2.0 * I;
double _Complex c2 = 2.0 - 1.0 * I;
double _Complex sum = c1 + c2;
double _Complex diff = c1 - c2;
double _Complex prod = c1 * c2;
double _Complex quot = c1 / c2;
printf("c1 = %.2f + %.2fi\n", creal(c1), cimag(c1));
printf("c2 = %.2f + %.2fi\n", creal(c2), cimag(c2));
printf("sum = %.2f + %.2fi\n", creal(sum), cimag(sum));
printf("diff = %.2f + %.2fi\n", creal(diff), cimag(diff));
printf("prod = %.2f + %.2fi\n", creal(prod), cimag(prod));
printf("quot = %.2f + %.2fi\n", creal(quot), cimag(quot));
return 0;
}
```
在 C++ 中,`complex` 是一个类模板,表示为 `std::complex<T>`,其中 `T` 可以是 `float`, `double` 或者 `long double`。`std::complex` 重载了各种运算符和成员函数,可以对复数进行各种运算和操作。
`abs()` 函数用于计算复数的绝对值,即模长,返回类型为 `T`。
示例代码:
```c++
#include <iostream>
#include <complex>
int main() {
std::complex<double> c1(1.0, 2.0);
std::complex<double> c2(2.0, -1.0);
std::complex<double> sum = c1 + c2;
std::complex<double> diff = c1 - c2;
std::complex<double> prod = c1 * c2;
std::complex<double> quot = c1 / c2;
std::cout << "c1 = " << c1.real() << " + " << c1.imag() << "i\n";
std::cout << "c2 = " << c2.real() << " + " << c2.imag() << "i\n";
std::cout << "sum = " << sum.real() << " + " << sum.imag() << "i\n";
std::cout << "diff = " << diff.real() << " + " << diff.imag() << "i\n";
std::cout << "prod = " << prod.real() << " + " << prod.imag() << "i\n";
std::cout << "quot = " << quot.real() << " + " << quot.imag() << "i\n";
std::cout << "abs(c1) = " << std::abs(c1) << "\n";
std::cout << "abs(c2) = " << std::abs(c2) << "\n";
return 0;
}
```