C语言中的复数

上学时,老师布置了一个作业,就是用C写段程序,画功率谱谱图。由于有好几个公式里都有复数的情况,而当时不知如何表示复数,就用实数代替了。

最近一段时间学习C,知道了C中也有复数类型,所以贴出来和大家分享。

一、C中有三个类型可以储存复数:

         float _Complex:实部和虚部都为float类型;

         double _Complex:实部和虚部都为double类型;

         long double _Complex:实部和虚部都为long double类型;

二、_Complex不免有些复杂,只要加入头文件<complex.h>即可,用complex代替_Complex,该头文件把虚部定义成‘I’,所以定义一个复数可以这样:

        float complex  z=a+bI; //a,b都为float类型

三、两个函数(其他函数还未学习)

      double real_part=creal(z);//得到Z的实部

      double imag_part=cimag(z);//得到Z的虚部

   在处理float和long double类型时,用crealf()creall(),cimagf()cimagl()。

四、定义纯虚数

    double imaginary z=5.3I;

 

posted on 2011-11-08 15:39  静海  阅读(12388)  评论(0编辑  收藏  举报