学编程应该知道的c语言中的复数操作

学编程应该知道的c语言中的复数操作

学编程应该知道的c语言中的复数操作

复数在数学运算中十分重要,在编写数值运算或者算法的时候,我们会用到复数这种概念。 那么,复数在c/c++语言中是如何表示的呢?我们接下来一一介绍。

C语言中复数

在数学中一个复数可以定义为 (z=a + bi) 的形式。 C 语言在 ISO C99 时就引入了复数类型。它是通过 complex.h 中定义的。 我们可以使用 complex , __complex__ , 或 _ComplexI 类型符号来表示。在C语言中有三种复数类型,分别为 float complex , double complex , long double complex 。他们之间 的区别就是表示复数中实部和虚步的数的数据类型不同。 complex 其实就是一个数组,数组中有两个元素,一个表示复数的实部,一个表示复数的虚部。

定义一个复数

在 complex.h 头文件中定义了两个宏 _Complex_I 和 I 来创建一个复数。

立即学习“C语言免费学习笔记(深入)”;

Macro: const float complex _Complex_I;Macro: const float complex  I;

这两个宏表示复数 (0+1i) , 我们可是使用这个单位复数来创建任何复数。

#include #include int main(int argc, char *argv[]){  complex  double  a = 3.0 + 4.0 * _Complex_I;  __complex__ double b = 4.0 + 5.0 * _Complex_I;  _Complex  double c = 5.0 + 6.0 * _Complex_I;  printf("a=%f+%fin", creal(a),cimag(a));  printf("b=%f+%fin", creal(b), cimag(b));  printf("c=%f+%fin", creal(c), cimag(c));  printf("the arg of a is %d", carg(a));  return 0;}a=3.000000+4.000000ib=4.000000+5.000000ic=5.000000+6.000000ithe arg of a is 176

复数的基本操作函数

在 complex.h 头文件中定义一些对复数的基本操作的函数。

函数功能

creal    获取复数的实部    

cimag    获取复数的虚部    

conj    获取复数的共轭    

carg    获取,复平面上穿过原点和复数在复平面表示的点,的直线和实数轴之间的夹角    

cproj    返回复数在黎曼球面上的投影    

复数的数值操作

复数类型也可以像普通数值类型,~int, double, long~ 一样进行直接使用数值操作符号,进行数值操作。

#include #include int main(int argc, char *argv[]){  complex  double  a = 3.0 + 4.0 * _Complex_I;  __complex__ double b = 4.0 + 5.0 * _Complex_I;  _Complex  double c = 5.0 + 6.0 * _Complex_I;  complex double d =a + b;  complex double f = a *b ;  complex double g = a/b;  printf ("d=a+b=%f+%fin",creal(d),cimag(d));  printf ("f=a*b=%f+%fin",creal(f),cimag(f));  printf("g=a/b=%f+%fin",creal(g),cimag(g));  return 0;}d=a+b=7.000000+9.000000if=a*b=-8.000000+31.000000ig=a/b=0.780488+0.024390i

感谢大家的阅读,希望大家收益多多。

本文转自:https://blog.csdn.net/duandianR/article/details/70846638

推荐教程:《C语言》

以上就是学编程应该知道的c语言中的复数操作的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1433888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 09:34:43
下一篇 2025年12月15日 15:01:10

相关推荐

  • 适合小白入门C语言的简单教程

    适合小白入门c语言的简单教程 C语言数据变量的声明 整型变量的声明用int,如:int a; 单精度浮点型的声明用float,如:float b; 双精度浮点型的声明用double,如:double c; 立即学习“C语言免费学习笔记(深入)”; C语言基本的输入输出 从键盘输入数据用scanf()…

    好文分享 2025年12月17日
    000
  • C语言实现删除数组中某个元素

      C语言实现删除数组中某个元素 大家知道C语言实现删除数组中某个元素方法吗?下面将讲述在C语言中实现删除数组中某个元素的两种方法,大家一起看看吧。 方法1: /* name: c语言 删除数组的某个元素 tip: 数组元素的增/删/ 改/查(简单遍历就ok) 数组增删操作在c语言中没有相应的函数-…

    2025年12月17日
    000
  • 一定要了解的c语言中&与&&的区别

    一定要了解的c语言中&与&&的区别 c语言中&与&&的区别如下: &:按照位与操作,例如:0010&1101,结果为0000       &是java中的位逻辑运算:      eg: 2&3=2;       分析如下…

    2025年12月17日
    000
  • c语言中函数调用的方式有哪些?

    c语言中函数调用的方式有哪些? c语言中函数调用的方式: 1.最常见的,直接调用 void fun(void){ …… //你的代码 ….. }{ ……. fun(); ….. } 2.用函数指针 void fun(void) { printf(“OK!n”);} int m…

    2025年12月17日
    000
  • c语言break什么意思?

    break在一些计算机语言中是保留字,其作用大多情况下是终止上一层的循环,以C语言来说,break在switch(开关语句)中在执行一条case后跳出语句的作用。 1、 C语言中的break : break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出swi…

    2025年12月17日
    000
  • c语言fgets函数用法是什么?

    c语言fgets函数用法:fgets()函数用于从文件流中读取一行或指定个数的字符。 语法为: char * fgets(char * string, int size, FILE * stream); 参数说明: s: 字符型指针,指向存储读入数据的缓冲区的地址。 立即学习“C语言免费学习笔记(深…

    2025年12月17日
    000
  • visual c++6.0怎么新建C语言项目

    1、首先在工作区中,切换到”fileview”(文件视图)下 2、点击【文件】,选择【新建】 3、选择”c++ source File”创建源文件,然后勾选”添加到工程”,并命名文件名,点击”确定” 立即学习“C语言免费学习笔记(深入)”; 4、同理,点击”文件”,新建,在弹出的窗口中,选择”C/C…

    2025年12月17日 好文分享
    000
  • c语言怎么比较两个数的大小

    c语言怎么比较两个数的大小? 首先新建一个工程和一个.c文件 输入头文件 立即学习“C语言免费学习笔记(深入)”; 输入主函数 定义变量类型 输入2个数字 比较两个数 编译运行 注意事项 注意if语句括号后面没有分号 else语言后面没有分号 以上就是c语言怎么比较两个数的大小的详细内容,更多请关注…

    2025年12月17日 好文分享
    000
  • 如何用c语言输出100到200之间的素数

    分析: 首先找出100~200以内的所有整数,再让这些整数对除了1和它本身以外的数求余,如果有能整除的就不是素数,否则就为素数。 代码实现: #includeint main(){int conut = 0;int i = 0;for(i=100; i<=200; i++) //先找出来100…

    2025年12月17日
    000
  • c语言如何判断整数是几位数

    实现代码: #include int main(){ long long a; int count=0; printf(“请输入一个整数:”); scanf(“%lld”,&a); while(a!=0) { a/=10; count++; } printf(“输入的数字是%d位数。”,co…

    2025年12月17日
    000
  • c语言中while与do while循环的主要区别是什么

    while循环与do while循环的区别如下: 1、循环结构的表达式不同 while循环结构的表达式为:while(表达式){循环体}; do while循环结构的表达式为:do{循环体;}while (条件表达);。 2、执行时判断方式不同 立即学习“C语言免费学习笔记(深入)”; while循…

    2025年12月17日
    000
  • 0基础学c语言看什么书?

    1、C语言适合当第一门编程语言学习 ①、C语言语法相对简单,但又比较完整和严谨,包含该有的各种元素。学完C语言语法,要学习其它编程语言就很容易了。  ②、C语言接近底层,可以了解内存和计算机的基本原理。 ③、许多基础课程比如算法与数据结构教材都是以C语言为例子的,特别是中国版的书籍。 立即学习“C语…

    2025年12月17日
    000
  • c语言的四大数据类型是什么?

    c语言的四大数据类型是什么?下面本篇文章就来给大家介绍一下c语言的四大数据类型。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 现实世界中的信息存在方式多样,表示方法各有不同,如整数、实数、字符等。这些信息在计算机中也要按照一定的方式进行组织存放,以便于分析存储空间和进行运算。 C…

    2025年12月17日
    000
  • c语言中的关键字有哪些?

    C语言的关键字共有32个,根据关键字的作用,可分为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 auto:声明自动变量 缺省时编译器默认为auto     int:声明整形变量 double:声明双精度变量 立即学习“C语言免费学习笔记(深入)”; long:声明长整形变量 ch…

    2025年12月17日
    000
  • c语言double类型默认输出几位小数?

    C语言中常用的小数有两种类型,分别是 float 或 double;float 称为单精度浮点型,double 称为双精度浮点型。不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占用4个字节,double 始终占用8个字节。 c语言double类型默认输出几位小数? C语言中,输…

    2025年12月17日
    000
  • c语言可以直接对硬件进行操作吗

    c语言可以直接对硬件进行操作吗? 不能。 首先,C语言不能够直接对硬件进行操作。从本质上来说,连汇编语言都不可以。只有机器语言能够直接操作硬件。 其次,C语言要操作硬件是必须经过一系列的编译转换。最终它会成为0101的机械码,这个时候它根本不是我们所能够理解的C语言了。 以GCC编译器为例,这个可以…

    2025年12月17日
    000
  • 一个c语言程序由什么组成

    一个C语言程序是由一个main函数和若干个其他函数组成的,函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。 函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。接收用户数据的函数在定义时要指明参数,不接收用户数…

    2025年12月17日
    000
  • c语言主函数名是什么?

    C语言主函数名是main,main函数又称主函数,是程序执行的起点,如果有其他函数,则完成对其他函数的调用后再返回到主函数,最后由main函数结束整个程序。 具体形式如下: main(){   } 被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。 立即学习…

    2025年12月17日
    000
  • c语言文件的扩展名是什么

    c语言文件的扩展名有: .h头文件,主要是函数、结构声明,常量定义等 .c源文件,函数定义 .dll动态链接库 立即学习“C语言免费学习笔记(深入)”; .lib静态链接库 .dsp,.dsw都是工程文件 .cpp是C++的源文件 .so 动态库文件 .a静态库文件 以上就是c语言文件的扩展名是什么…

    2025年12月17日
    000
  • c语言函数如何声明

    所谓声明(Declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。 函数声明的格式非常简单,相当于去掉函数定义中的函数体,并在最后加上分号;,如下所示: dataType functionName( dataType1 param1, …

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信