C语言用头文件实现复数加减法

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:46:41
设计复数结构,并编写程序,完成复数的加减乘除算法
其中P4.c是测试主程序,测试cmplx.h和cmplx.c中定义的复数计算程序是否正确
cmplx.h是头文件,定义复数数据结构和函数
cmplx.c是实现文件,实现复数处理函数
根据题意将P4.c、cmplx.h、cmplx.c三个文件补充完全
先以P4.c为基础创建默认工程文件,再将cmplx.h和cmplx.c添加到工程中,组成完整的复数计算程序

1、_Complex是一种新增的数据类型,用来表示复数。C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part)。类似地,double _Complex 包含两个 double类型的值。C99 也提供了三种虚数类型:float _Imaginary,double _Imaginary,以及 long double _Imaginary。虚数类型只有虚部,没有实部。

2、包含标准头文件 complex.h 后,就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用 I来代表虚数单位 i,也就是 -1的平方根。例如:
#include <complex.h>
double _Complex x = 5.2;
double complex y = 5.0 * I;
double complex z = 5.2 – 5.0 * I;

3、注意:_Complex类型对于独立式环境(freestanding environment)来说是可选的。可选的意思是,不强制必须支持这种类型。而所谓独立式环境,是指 C 程序可以在没有操作系统的情况下运行。_Imaginary类型在任何环境下都是可选的。目前的编译器对这两种类型的支持都不太好。

in cmplx.h
#ifndef CMPLX1_H_
#define CMPLX1_H_

#ifdef __cplusplus
extern "C"
{
#endif

typedef struct _CMPLX
{
float c_real;
float c_vir;
}CMPLX, *