C语言中的复数运算说明

所需积分/C币:39 2019-01-12 15:01:32 5.13MB PDF
收藏 收藏
举报

C语言中的复数运算说明,complex.h文件的使用,以及未包含compex.h文件时复数数据类型的使用说明。
第2章■编程初步65 < complex. h>头文件把I定义为等价于 Complex I,所以只要在源文件中包含了这个头文 件,就可以使用这个简单得多的表示方式。因此前面的复数可以表示为2.0+3.0*I。下 面的语句声明并初始化了变量z1: double complex z1=2.0+3.C*Ii / Real and imaginary parts are type double * creal(O函数返回 double complex类型的值(该函数的参数)的实数部分, cimage返回虚 数部分,例如: double real part creal(z1);/* Get the real part of zl double imag part cimag(z1);/* Get the imaginary part of zl * 在处理foat类型的复数时,给这些函数名的末尾添加一个f,即(crea0和 cimag0, 处理 long double类型的复数时,则添加小写的L,即( creal()和 cimage)。con0函数返 回其 double参数的轭,处理其他两种类型的对应函数是 conf(0和 conjlO。 maginary关键字用于定义存储纯虚数的变量,换言之,该复数没有实数部分。虚 数有3种类型,分别使用foa、 double和 long double关键字,对应于3个复数类型。 < complex. h>头文件把 Imaginary定义为 maginary的可读性吏高的形式,所以可以声明 一个存储虚数的变量,如下 double imaginary ix =2.4*Ii 把虚数值转换为复数,会生成一个实数部分为0、虚数部分与已有的虚数相同的复 数。把虚数类型的值转换为实数类型,而不是Bool类型,会得到0。把虛数类型的值转 换为Bool类型,若虚数值为0,会得到0,否则就得到1。 包含复数和虚数值的算术表达式可以使用运算符+、*和/。下面举例说明。 试试看:使用复数 下面的简单例子会创建两个复数变量,执行一些简单的算术运算: x Program 2. 17 Working with complex numbers #include <complex.h> #include <stdio. h> int main(void) double complex cx =1.0+3.0*Ii double complex cy =1.0-4.0*Ii printf("Working with complex numbers: )i printf("starting values: cx=8.2f6+ 2fi cy =9.2f%+2fi" creal(cx), cimag(cx), creal(cy), cimag(cy))i double complex sum Cx+cyi printf ("\n\nThe sum Cx cy=.2f8+ 2fi creal(sum), cimag(sum))i 66C语言入门经典(第4版) double complex difference = Cx-cyi printf("、n\ nThe difference cx-cy=号.2f号+,2fi creal(difference), cimag(difference))i double complex product= Cx*cyi printf("\n \nThe product cx cy =% 2f6+2fi" creal(product), cimag(product))i double complex quotient cx/cyi printf("\n\nThe quotient cx,cy=%.2f+2fi", creal(quotient), cimag(quotient))i double complex conjugate- conj(cx)i printf("\n\nThe conjugate of cx =8.2f8+ 2fi", real(conjugate), cimag(conjugate))i return 0: 这个例子的输出如下所示 Working with complex numbers: Starting values: Cx =1.00+3.001 cy = 1.00-4.001 he sum Cx cy =2.00-100i The difference Cx -Cy =0.00+7.00i The product cx cy =13.00-100i The quotient cx /Cy =-0.65+0.4li The conjugate of Cx =1.00-3.001 代码的说明 代码非常简单。定义并初始化了变量∝x和∝y后,对它们使用4个算术运算符,并 输出所有运算的结果。可以用 Complex关键字替代 complex 每个复数值的虛数部分都使用%+,2f输出指定符,%后面的+指定总是输出符号。如 果省略了+,符号就只有值为负时才输出。小数点后面的2指定输出时小数点后有两位 在编译器提供的< complex. h>头文件中,包含许多处理复数值的函数。 214赋值操作的op=形式 C语言是一种非常简洁的语言,提供了一些操作的缩写形式。考虑下面的代码: number number 10: 这类赋值操作是给一个变量递增或递减一个数字,它非常常见,所以有一个缩写 C语言中的复数运算 1.复数( complex) plex.h是C标准函数库中的头文件,提供了复数算术所需要的宏定义与 函数声明 #definecomplex Complex#define Complex i((const float Complex) i )#define Complex I C99规定了关键字 Complex。因而有3种复数类型 double Complex float Complex long double complex 次序不是必须遵守的,比如 float Complex也可以写成 Complex float Complex i扩展为类型为 const float Complex的常量值,其值为虚数单 位。C99规定 complex作为宏扩展为 Complex。但C++未定义 complex宏。gcc 仅支持 complex type,不支持 lmaginary type。因此宏I扩展为_ Complex i。 < complex. h>里面还包含了不少支持复数的数学函数(c打头的就是) 1、ccos,csin,ctan, cacos, casin, catan:复数域内的三角函数,有对应的f和 1版本。 、 cosh, csinh, ctanh, cacosh, casing, catan:复数域内的双曲函数,有对应 的f和1版木 3、cexp,clog,cabs,epow, csart:复数域内的指数、对数、绝对值、幂数, 有对应的f和1版本。 4、carg, Cimag, creal,conj, cproJ:获取象限角、虚数部分、实数部分、a=x 及b=y、 Riemann球上的投影,有对应的f和1版本。 代码: #include#includeint main o doublecomplex cmp=.3+2.3*I printf( %f+ %fi\n", creal(cmp), cimag(cmp)) return l、 Complex是一种新增的数据类型,用来表示复数。C99 新增了复数类型( Complex)和虚数类型( Imaginary)。简单来说,C99提 供了三种复数类型: float Complex, double Complex, ill long double Complex 对于 loat complex类型的变量来说,它包含两个loat类型的值,一个用 于表示复数的实部( 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 double complex y 5.0米I double complex z=5 5.0*I; 注意: Complex类型对于独立式环境( freestanding environment)来说是可选的。可选的意思是,不强制必须支持这种类型。而所 谓独立式环境,是指C

...展开详情
试读 6P C语言中的复数运算说明
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    • 分享宗师

      成功上传21个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    C语言中的复数运算说明 39积分/C币 立即下载
    1/6
    C语言中的复数运算说明第1页
    C语言中的复数运算说明第2页

    试读已结束,剩余4页未读...

    39积分/C币 立即下载 >