C 库 - cimag() 函数

❮ C 标准库 - <complex.h>


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

❮ C 标准库 - <complex.h>