欢迎来到培训无忧网!

全国切换

咨询热线 400-001-5729

位置:培训无忧网 > 新闻资讯 > 电脑/IT > c语言 >  C语言运算符优先级详解

C语言运算符优先级详解

来源:培训无忧网-星星 发布人:星星

2021-12-01 13:54:59|已浏览:394次

优先级
       在c语言的表达式中,如果存在多个运算符的时候,需要考虑数据的优先级和结合方向的问题,例如:x = a + b * c -d在这个例子中,c语言的处理流程是:
1)先做乘法b*c,
2) 然后先做加法,后做减法
3)最后将计算结果赋值给x
      我们验证一下:1 + 2 *3 -4,结果为3,验证成功!

C语言运算符优先级详解

C语言运算符优先级详解

      通过这个例子,我们可以总结如下:对于表达式a op1 b op2 c ,它的运行逻辑有两种可能性:
1) 如果op1优先级高于op2,则为:(a op1 b) op2 c
2) 如果op2优先级高于op1,则为:a op1 (b op2 c)
3)如果op1与op2优先级相同,则取决于结合方向。所谓结合方向指的是“从左至右”或“从右至左”。
结合方向
       关于结合方向,我们一起来探讨一下,还是刚刚的例子:x = a+b *c -d,这里面有二元运算和赋值运算,在c语言中:
· 赋值运算的结合方向为:从右至左
· 二元运算符的结合方向为:从左至右
      我们假设 b*c 的值为m,则,
· a + m -d 可以翻译为 (a + m) -d,,结合方向是从左至右
· x = a + m -d 可以翻译为: x = (a + m -d),结合方向是从右至左

       在C/C++中,所有的运算符都有明确的优先级和结合方向定义,具体如下:

C语言运算符优先级详解

         本文由培训无忧网达内教育课程顾问老师整理发布,更多C语言课程信息可关注C语言培训频道或添加老师微信:15033336050

      注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-5777.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注c语言频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050

留下你的信息,课程顾问老师会一对一帮助你规划更适合你的专业课程!
  • 姓名:

  • 手机:

  • 地区:

  • 想学什么:

  • 培训无忧网
免 费 申 请 试 听
提交申请,《培训无忧网》课程顾问老师会一对一帮助你规划更适合你的专业课程!