复数和虚数类型

1.复数和虚数类型

我们先来说一下什么是复数,什么是虚数。我们在高中时期应该接触过a+bi这种类型的数,这就是复数。复数包含实数和虚数两者数。当a=0时,这个就是虚数。当b=0时,这个数就是实数了。

C99标准支持复数和虚数的类型,但是有所保留。一些独立实现(如嵌入式处理器的实现)就不需要复数选项,所以这个数据类型是可选项。

C有三种复数类型:float_Complex、double_Complex、long double_Complex。例如,float_Complex类型的变量应包含两个float类型的值,分别表示复数的实部和虚部。类似的,C语言的三种虚数类型float_Imaginary、double_Imaginary、long double_Imaginary。

如果包含complex.h头文件,就可以用complex代替_Complex,,用imaginary代替_Imaginary。还可以用I(i的大写)来代替-1的平方根。

为什么不直接使用complex也是因为C中包含了某些关键字会引起冲突。

2.其他类型

C语言还有一些从基本类型衍生的其他类型,包括数组、指针、结构和联合(不懂也没关系,我也还不懂)。

但是在现在的学习中我们其实已经接触过了指针。虽然你可能对指针还没有什么印象,但是你一定见过'&'吧。没错,就是scanf里面的取地址运算符,他就是创造了一个指针告诉scanf()把数据放在何处。

一般来说:

我们在代码中不会直接使用复数、虚数,而是用一个结构体来模拟虚数:

struct complex
{
    int real;
    int vir;
};

需要输出一个数的时候,可以这样子:

complex a;
a.real=6;
a.vir=3;
cout<

一般用不到啦~ 

 

你可能感兴趣的:(c)