C 库 - cimag() 函数
C complex 库中的 cimag() 函数通常用于提取复数的虚部。复数由两部分组成:实部和虚部。
如果虚部是"float"类型,我们可以使用 cimagf() 获取虚部;对于长整型 double,则使用 cimagl()。
语法
以下是 cimag() 函数的 C 库语法 -
double cimag( double complex z )
参数
此函数接受一个参数 -
-
Z - 它表示一个复数。
返回值
此函数返回复数 (z) 的虚部。
示例 1
以下是一段基本的 C 语言程序,演示如何使用 cimag() 获取复数 (z) 的虚部。
#include <stdio.h>
#include <complex.h>
int main(void){
double complex z = 1.0 + 2.0 * I;
printf("z 的虚部:%.1fi", cimag(z));
}
输出
以下是输出 -
z 的虚部:2.0i
示例 2
我们来看另一个示例,使用 cimag() 函数获取生成的复数的虚部。
#include <stdio.h>
#include <complex.h>
int main() {
double real = 5.0;
double imag = 6.0;
// 使用 CMPLX 函数创建复数
double complex z = CMPLX(real, imag);
printf("复数为:%.2f + %.2fi", creal(z), cimag(z));
// 获取像部分
// 使用 cimag()
printf("z 的虚部:%.1fi", cimag(z));
return 0;
}
输出
以下是输出 -
复数为:5.00 + 6.00i z 的虚部:6.0i
示例 3
以下示例使用 cimag() 函数在两个复数 (z) 相加后提取虚部。
#include <stdio.h>
#include <complex.h>
int main() {
double real1 = 2.0, imag1 = 3.0;
double real2 = 4.0, imag2 = 5.0;
// 使用 CMPLX 函数
double complex z1 = CMPLX(real1, imag1);
double complex z2 = CMPLX(real2, imag2);
// 将两个复数相加
double complex sum = z1 + z2;
// 显示运算结果
printf("结果 z: %.2f + %.2fi", creal(sum), cimag(sum));
printf("结果 z 的虚部: %.2fi", cimag(sum));
return 0;
}
输出
以下是输出 -
结果 z: 6.00 + 8.00i 结果 z 的虚部: 8.00i

