搜档网
当前位置:搜档网 › 运用C语言编写复数的四则运算

运用C语言编写复数的四则运算

运用C语言编写复数的四则运算
运用C语言编写复数的四则运算

运用C语言编写复数的四则运算

一、需求分析

1.设计一个可进行复数运算的演示程序

2.实现下列六种基本运算:

(1)由于输入的实部和虚部生成一个复数;(2)两个复数求和;(3)两个复数求差;(4)两个复数求积;(5)从已知复数中分离出虚部。运算结果一相应的复数或实数的表示形式显示。

3.程序执行的命令包括:

a.输入数据生成一个复数

b.求复数和

c.求复数差

d.求复数积

4.(1)建立一个复数,然后根据提示用户输入两个复数,使得能同时进行两个复数的加.减.乘运算。

(2)输入形式和输入值得范围:分别输入两个复数,其格式为:a+bi用enter结束输入。

(3)输出形式:按程序规定输出其运算值。如:运算后只有实数时只输出实数虚部部分不表示,反之一样

5.测试程序

(1)0,0;0,0;应输出“0”

(2)3.1,0;4.22, 8.9; 应输出“7.32+i8.9”

(3)-1.33, 2.34; 0.1, -6.5; 应输出“-1.23-i4.16”

(4)0, 9.7; -2.1, -9.7;应输出“-2.1”

(5)7.7,-8;-7.7,0;应输出“-i8”

二.概要分析

1.为实现上述程序的功能,需要定义一个表示复数的抽象数据类型。

2.本程序包含的函数:

(1)主函数main();

(2)构造函数typedef struct();

(3)调用函数Complex createComplex(float a,float b)

Complex add(Complex z1,Complex z2)

Complex jian(Complex z1,Complex z2)

Complex cheng(Complex z1,Complex z2)

void printComplex(Complex z);

各函数关系如下:

(5)主函数伪代码

main( )

{

说明一个构造函数Complex;

定义两个实数和虚数分别为z1,z2;

提示输入实数和虚数z1,z2;

调用子函数;

提示输入+ - *;

根据输入的符号判断输入的复数做何运算

{

输入+时,调用加法子函数,打印输出;

输入-时,调用加法子函数,打印输出;

输入*时,调用加法子函数,打印输出;

}

}

三.详细设计

1.主函数及其他函数

#include

#include

typedef struct

{

float re;

float im;

} Complex;

Complex createComplex(float a,float b) //编写一个函数生成复数// {

Complex z;

z.re=a;

z.im=b;

return z;

}

void printComplex(Complex z) //输出复数并控制其格式// {

if(z.re==0&&z.im==0)

printf("0\n");

else if(z.re!=0&&z.im==0)

printf("%.2f\n",z.re);

else if(z.re==0&&z.im!=0)

{

if(z.im>0)

printf("i%.2f\n",z.im);

else if(z.im<0)

printf("-i%.2f\n",fabs(z.im));

}

else

{

if(z.im>0)

printf("%.2f+i%.2f\n",z.re,z.im);

else

printf("%.2f-i%.2f\n",z.re,fabs(z.im));

}

}

Complex add(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re+z2.re;

z.im=z1.im+z2.im;

return z;

}

Complex jian(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re-z2.re;

z.im=z1.im-z2.im;

return z;

}

Complex cheng(Complex z1,Complex z2)

{

Complex z;

z.re=z1.re*z2.re-z1.im*z2.im;

z.im=z1.re*z2.im+z1.im*z2.re;

return z;

}

main()

{

float a,b,c,d;

Complex z1,z2,c1,c2,c3;

printf("请输入元素");

scanf("%f%f%f%f",&a,&b,&c,&d); //输入元素并调用函数生成复数z1,z2;并输出//

z1=createComplex(a,b);

z2=createComplex(c,d);

printf("产生的两个复数为:");

printComplex(z1);

printComplex(z2);

c1=add(z1,z2);

c2=jian(z1,z2);

c3=cheng(z1,z2);

printf("这两个复数的和差积:");

printComplex(c1);

printComplex(c2);

printComplex(c3);

}

四.调试及分析

1.由于开始对于结构体使用并不熟悉,使用时语法错误很多,需要多加使用。

2.编写是输入printf拼写错误(漏掉后面的f)导致该程序无法执行

3.在使用“&&”符号是漏些了一个&符号,这点需要常记。

4.对于声明的函数使用不熟练,在编写时对于其中的循环结构难以很流畅使用,即需要加强对for循环的使用。

五.测试结果

1.数据0,0;0,0;

2.数据

3.1,0;

4.22,8.9;

3.数据-1.33,2.34;0.1,-6.5;

4.数据0,9.7;-2.1 -9.7;

5.数据7.7,-8;-7.7,0;

高一数学复数的四则运算知识点分析

高一数学复数的四则运算知识点分析 复数的概念: 形如a+bi(a,b∈R)的数叫复数,其中i叫做虚数单位。全体复 数所成的集合叫做复数集,用字母C表示。 复数的表示: 复数通常用字母z表示,即z=a+bi(a,b∈R),这一表示形式叫 做复数的代数形式,其中a叫复数的实部,b叫复数的虚部。 复数的几何意义: (1)复平面、实轴、虚轴: 点Z的横坐标是a,纵坐标是b,复数z=a+bi(a、b∈R)可用点 Z(a,b)表示,这个建立了直角坐标系来表示复数的平面叫做复平面,x轴叫做实轴,y轴叫做虚轴。显然,实轴上的点都表示实数,除原 点外,虚轴上的点都表示纯虚数 (2)复数的几何意义:复数集C和复平面内所有的点所成的集合 是一一对应关系,即 这是因为,每一个复数有复平面内惟一的一个点和它对应;反过来,复平面内的每一个点,有惟一的一个复数和它对应。 这就是复数的一种几何意义,也就是复数的另一种表示方法,即几何表示方法。 复数的模: 复数z=a+bi(a、b∈R)在复平面上对应的点Z(a,b)到原点的距 离叫复数的模,记为|Z|,即|Z|= 虚数单位i: (1)它的平方等于-1,即i2=-1;

(2)实数可以与它进行四则运算,进行四则运算时,原有加、乘运算律仍然成立 (3)i与-1的关系:i就是-1的一个平方根,即方程x2=-1的一个根,方程x2=-1的另一个根是-i。 (4)i的周期性:i4n+1=i,i4n+2=-1,i4n+3=-i,i4n=1。 复数模的性质: 复数与实数、虚数、纯虚数及0的关系: 对于复数a+bi(a、b∈R),当且仅当b=0时,复数a+bi(a、b∈R)是实数a;当b≠0时,复数z=a+bi叫做虚数;当a=0且b≠0时, z=bi叫做纯虚数;当且仅当a=b=0时,z就是实数0。 复数集与其它数集之间的关系: 复数的运算: 1、复数z1与z2的和的定义: z1+z2=(a+bi)+(c+di)=(a+c)+(b+d)i; 2、复数z1与z2的差的定义:z1-z2=(a+bi)-(c+di)=(a-c)+(b- d)i; 3、复数的乘法运算规则:设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i,其实就是把两个复数相乘,类似两个多项式相乘,在所得的结果中 把i2换成-1,并且把实部与虚部分别合并,两个复数的积仍然是一个复数。 4、复数的除法运算规则: 。 复数加法的几何意义: 设 为邻边画平行四边形

苏教版数学高二-选修2-2导学案 3.2《复数的四则运算》(1)

3.2 复数的四则运算 导学案(1) 教学目标 1、理解复数代数形式的四则运算法则。 2、能运用运算律进行复数的四则运算。 教学习重难点 重点 复数的加、减、乘法运算 难点 复数的加、减、乘法运算 教学过程 一、复习回顾 1.虚数单位i 的引入; 2.复数有关概念: 复数的代数形式: (,)z a bi a R b R =+∈∈ 复数的实部a ,虚部b 。 实数:()0;b a R =∈ 虚数:()0;b a R ≠∈ 纯虚数:0 0a b =??≠? 复数相等a bi c di +=+?a c b d =??=? 特别地,a+bi=0?a=b=0。 问题1:a=0是z=a+bi(a 、b ∈R)为纯虚数的必要不充分条件 问题2:一般地,两个复数只能说相等或不相等,而不能比较大。思考:对于任意的两个复数到底能否比较大小? 当且仅当两个复数都是实数时,才能比较大小。虚数不可以比较大小。 二、问题引入 我们知道实数有加、减、乘等运算,且有运算律: a b b a +=+ ab ba =

()()a b c a b c ++=++ ()()ab c a bc = ()a b c ab ac +=+ 那么复数应怎样进行加、减、乘运算呢?你认为应怎样定义复数的加、减、乘运算呢?运算律仍成立吗? 注意到i =-2 1,虚数单位i 可以和实数进行运算且运算律仍成立,所以复数的加、减、乘运算我们已经是自然而然地在进行着,只要把这些零散的操作整理成法则即可了! 三、知识新授 1、复数加减法的运算法则 (1) 运算法则: 设复数z 1=a+bi,z 2=c+di ,那么:z 1+z 2=(a+c)+(b+d)i; z 1-z 2=(a-c)+(b-d)i 。 即:两个复数相加(减)就是实部与实部,虚部与虚部分别相加(减)。 (2)复数的加法满足交换律、结合律 即对任何z 1,z 2,z 3∈C ,有:z 1+z 2=z 2+z 1,(z 1+z 2)+z 3=z 1+(z 2+z 3)。 2、复数的乘法 (1)复数乘法的法则 复数的乘法与多项式的乘法是类似的,但必须在所得的结果中把i 2换成-1,并且把实部合并。即:(a+bi)(c+di)=ac+bci+adi+bdi 2=(ac-bd)+(bc+ad)i 。 (2)复数乘法的运算定理 复数的乘法满足交换律、结合律以及乘法对加法的分配律. 即对任何z 1,z 2,z 3有: z 1z 2=z 2z 1;(z 1z 2)z 3=z 1(z 2z 3);z 1(z 2+z 3)=z 1z 2+z 1z 3。 3. 共轭复数的概念、性质 (1)定义:实部相等,虚部互为相反数的两个复数互为共轭复数。复数z=a+bi 的共轭复数记作,=-z z a bi 即。 (2)共轭复数的性质: 思考:设z=a+bi (a,b ∈R ),那么?+=z z ?-=z z 2-2.z z a z z bi +==; 另外不难证明: 12121212,z z z z z z z z +=+-=- 四、例题应用 例1、计算 (56)(2)(34)i i i -+---+

第10课时 复数的四则运算及模

第10课时 复数的四则运算及模 一、复习引入 已知:111222,z a b i z a b i =+=+ 1212(,,,)a a b b R ∈ 则12z z +=________;12z z -=________;12z z ?=________; 二、新授内容 1.复数(,)z a bi a b R =+∈的共轭复数记为z ,z a bi =-我们把实部相等、虚部相反的两个复数称为共轭复数。,,z a bi z a bi =+=-_______z z ?=。 2.模的代数定义:||z = ,共轭复数具有相同的模 3.复数除法的定义: 把满足(c +di )(x +yi ) =a +bi (c +di ≠0) 的复数x +yi 叫做复数 a +bi 除以复数 c +di 的商, (其中a,b,c ,d,x,y 都是实数) 记为()()或 a bi a bi c di c di ++÷++ a bi c di +=+_____________.称为复数的实数化。 三、例题讲解 例1:(1) 123i i +=+___________ (2)2,(,)32x y i x y R i i + =+∈+-,则x=___________,y=____________. 归纳:___________________________. 例2:(1) 复数z 满足:(2)13i z i +=+,则z=__________. (2) 复数z 满足:2 34z i =+,则z=__________. 归纳:______________________________.

复数的乘方:实数集R 中正整数指数幂的运算律, 在复数集C 中仍然成立.即对任意的12,,z z z 及m,n ∈N*, (1)m n m n z z z +?=;(2)()m n m n z z ?=;(3)1212()n n n z z z z =? 探究i 的指数变化规律 ①234________;________;________;i i i === 你能发现规律吗?有怎样的规律? ②4414243________;________;________;________;n n n n i i i i +++==== 例3:(1)222013(1)(1)i i i +--+ (2)2012 1() 1i i +- 例4:设1,2 2 i ω=-+ 求证:(1)210;ωω++=(2)3 1.ω= 归纳:_______________ 四、课外作业 班级____________姓名____________

复数的四则运算(1)

一、复习: 1.形如)R ,(∈+=b a bi a z 的数,我们把它们叫做复数.全体复数所形成的集合叫做复数集. 其中b a ,分别叫做复数z 的实部与虚部,i 叫做虚数单位,并规定: (1)12 -=i ; (2)实数可以与它进行四则运算,进行四则运算时,原有的加、乘运算律仍然成立. 2.两个复数相等的定义:两个复数相等的充要条件是它们的实部与虚部分别对应相等. 二、复数的四则运算法则(加、减、乘) 1.复数加减法的运算法则: (1)多项式加法:如x x x x -=-+++=-++3)]4(3[)12()41()32(, 则如何规定)41()32(i i -++?类比猜想:i i i i -=-+++=-++3)]4(3[)12()41()32( 一般地,设di c z bi a z +=+=21,是任意两个复数,复数的加法按照以下法则进行: i d b c a di c bi a )()()()(+++=+++.显然两个复数的和仍是一个复数. 容易验证复数的加法满足交换律、结合律,即对任何C z z z ∈321,,,有 )()(,3213211221z z z z z z z z z z ++=+++=+ (2)我们把满足bi a yi x di c +=+++)()(的复数),(R y x yi x ∈+叫做复数bi a +减去复 数di c +的差,记作)()(di c bi a +-+i d b c a yi x )()(-+-=+, 于是得到复数的减法法则:i d b c a di c bi a )()()()(-+-=+-+. 显然两个复数的差仍是一个复数 即:两个复数相加(减)就是实部与实部,虚部与虚部分别相加(减). 2.复数乘法的运算法则: 复数的乘法按照以下法则进行:2 ))((bdi bci adi ac di c bi a +++=++,即 i ad bc bd ac di c bi a )()())((++-=++.显然两个复数的积仍是一个复数 复数的乘法与多项式的乘法是类似的,只是在运算过程中要把2i 换成-1,然后把实部与 虚部分别合并.容易验证复数的乘法满足交换律、结合律以及乘法对加法的分配律.即对任何 C z z z ∈321,,,有31213213213211221)(),()(,z z z z z z z z z z z z z z z z z +=+==由于 1)(22-==-i i ,这表明,i i -,是-1的两个平方根, 或者说,方程012=+x 有两个根i i -,.同样地,由4)2()2(22-==-i i ,可知i i 2,2-是-4的两个平方根.这样,负数就可以开平 方了. 3.共轭复数的概念 我们把实部相等,虚部互为相反数的两个复数叫做互为共轭复数. 复数)R ,(∈+=b a bi a z 的共轭复数记作z ,即bi a z -=. 当复数)R ,(∈+=b a bi a z 的虚部0=b 时,z z =,也就是说,实数的共轭复数仍是它本身.

复数的四则运算练习题.docx

1.已知复数z 满足z+i- 3= 3- i,则z 等于 () .A. 0B. 2i C. 6D. 6- 2i 解析z=3-i- (i- 3) = 6-2i. 答案D 2.A,B分别是复数z1,z2在复平面内对应的点,O是原点, 若 | z1+z2|=|z1- z2|,则三角形 AOB一定是 () .A.等腰三角形B.直角三角形 C.等边三角形D.等腰直角三角形 →→ 解析根据复数加( 减) 法的几何意义,等,则此平行四边形为矩形,故三角形答案B 知以 OA,OB为邻边所作的平行四边形的对角线相OAB为直角三角形. 3.已知z1= 2+i ,z2= 1+ 2i ,则复数z= z2- z1对应的点位于 () .A.第一象限B.第二象限 C.第三象限D.第四象限 解析z= z2- z1=(1+2i)- (2 + i)=- 1+ i ,实部小于零,虚部大于零,故位于第二象限. 答案B 1在复平面上所对应的点为Z 、 Z ,这两点之间的距4.若 z = 2-i , z =-2+ 2i ,则 z , z 121212离为 ________. → 2+1 261 解析 12 =+- 1- 2 2 | Z Z |2=2 . 答案61 2 5.已知 z 1=3+( a + 1)i ,2=-3 3+( b + 2)i( a ,∈ R) ,若 z 1- 2=4 3,则+=2 a z b b z a b ________. 3 23 a+3 解析∵ z1- z2=2 a+( a+1)i-[-33b+ ( b+ 2)i]=3b+( a- b-1)i=4 3,

3 3 = 43,= 2, + 3a 由复数相等的条件知2 a b解得 a- b-1=0, b=1. ∴a+ b=3. 答案3 6.已知z,ω为复数, (1 + 3i) z为纯虚数,ω=z,且 | ω | = 52,求ω. 2+ i 解设 z=a+ b i( a,b∈R),则(1+3i)z= a-3b+(3 a+ b)i,由题意得 a=3b≠0. z ∵| ω| =2+i= 5 2, ∴| z| =a2+b2= 5 10, 将 a=3b 代入上式,得a=15, 或 a=-15,b =5,=- 5. b 故ω=±15+5i =±(7- i).2+ i 综合提高限时 25分钟 7.设z∈ C,且 | z+ 1| - | z- i| = 0,则 | z+ i| 的最小值为 () .A. 0B.1 解析由 | z+ 1| = | z- i| 知,在复平面内,复数z对应的点的轨迹是以 ( -1,0) 和 (0,1) 为端点的线段的垂直平分线,即直线 y=- x,而| z+i|表示直线 y=- x 上的点到点(0, -1) 的距离,其最小值等于点 (0 ,- 1) 到直线y=-x的距离.答 案 C 8.复数 z 1、 2 分别对应复平面内的点1、 2,且| z 1+2|=| z 1-2|,线段 1 2 的中点 M 对z M M z z MM 应的复数为4+3i ,则 | z1| 2+| z2| 2等于 () .A. 10 B . 25 C . 100 D . 200 →→ 解析根据复数加减法的几何意义,由| z1+z2| = | z1-z2 | 知,以OM1、OM2为邻边的平行四边形是矩形 ( 对角线相等 ) ,即∠M1OM2为直角,M是斜边M1M2的中点,→ ∵|OM| = 42+ 32= 5, ∴| M1M2| = 10.

C++实现复数四则运算

#include //using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i):real(r),imag(i){} friend istream& operator>>(istream&,Complex&);//友元函数,用来输入复数friend ostream& operator<<(ostream&,Complex&);//友元函数,用来输出复数 friend Complex operator+(Complex &c1,Complex &c2);//重载加法友元函数声明friend Complex operator-(Complex &c1,Complex &c2);//重载减法友元函数声明friend Complex operator*(Complex &c1,Complex &c2);//重载乘法友元函数声明friend Complex operator/(Complex &c1,Complex &c2);//重载除法友元函数声明private: double real; double imag; }; istream & operator>>(istream &input,Complex &c) { cout<<"请输入复数的实部:"; input>>c.real; cout<<"请输入复数的虚部:"; input>>c.imag; return input; } ostream & operator<<(ostream &output,Complex &c) { if(c.real==0&&c.imag==0) { output<<0; } else if(c.real==0&&c.imag!=0) { output<

复数的四则运算(1)

3.2.1复数的四则运算(1) 【要点梳理】 1. 设di c z bi a z +=++=21,是任意两个复数 (1) 复数的加法法则: (2) 复数的减法法则:: (3) 两个复数相加(减)就是 2. 复数bi a z +=(R b a ∈,)的共轭复数记作 z ,=z 3. 复数z 是实数的充要条件为 =z =±21z z 4.复数的代数形式的乘法运算法则 5.乘法运算律:对任何C z z z ∈321,,,* ∈N n m ,有=21z z =321)(z z z =+)(321z z z =n m z z =n m z )( =n z z )(21 6.几个特殊结论: (1)=+14n i =+24n i =+34n i =n i 4 (2)如果i 2321+- =ω,则ω= =2ω =3ω =++21ωω =ωω =2ω (3)=+2)1(i =-2 )1(i 【典型例题】 例1. 计算:50325032i i i i ++++Λ

例2.已知复数i m m m z )(12 21+++=与i m z )31(22-+= )(R m ∈是共轭复数,求实 数m 的值. 例3.已知,36)(,32)(i i z f i z z z f -=+-+=求)(z f -的值. 例4.求i 3016+-的平方根.

★ 基础训练★ 1.已知:,21i z -=则150100++z z 的值是 ( ) A .1 B .1- C .i D .i - 2.=---+-6)2 321)(2321)(2321(i i i ( ) A.1- B.0 C.1 D.以上全不对 3. 已知复数i t z i z +=+=21,43,且21z z ?是实数,则实数t 等于( ) A.43 B.34 C.34- D.4 3- 4.当复数 +-=+=2,3121z i z i 时,=+21z z +i 8,+-=-312z z i . 5.,1)(,5,3221z z f i z i z -=-=+=则=-)(21z z f . 6.已知集合}{C z z z w w P ∈+==,,{}C z z z w w Q ∈-==,,则=?Q P 7.(12)(23)(34)(20062007)i i i i ---+----=L 8.32121232++--+++n n n n i i i i = . 9.已知复数,230i z +=复数z 满足,300z z z z +=?则复数=z . 10.复数),0(,,1321R b a ai b z bi a z z ∈>+=+==,且321,,z z z 成等比数列,则=2z 11.164 -x 分解成一次式的乘积为 . 12.已知,,R y x ∈复数xi y x 5)23(++与复数18)2(+-i y 相等,求y x ,. 13.设,R m ∈复数,)3(2,)15(2 221i m m z i m m m m z -+-=-+++=若21z z +是虚数, 求m 的取值范围.

相关主题