• 技术文章 >后端开发 >C#.Net教程

    C语言中的运算符优先级(代码示例)

    藏色散人藏色散人2020-09-14 09:36:53原创52123

    C语言中的运算符优先级:1、一级运算符有标识,常量;2、二级运算符有数组下标运算、函数调用;3、三级运算符有前缀自增、前缀自减;4、四级运算符为强制表达式成为指定的类型;5、五级运算符为乘法运算符等等。

    例如,x = 7 + 3 * 2;在这里,x被赋值为13,而不是20,因为运算符*的优先级高于+,所以它首先与3*2相乘,然后与7相加。

    在这里,优先级最高的运算符出现在表的顶部,优先级最低的运算符符出现在表的底部。在表达式中,优先级较高的运算符将首先计算。

    C语言中运算符优先级如下(从高到底):

    运算符关联性
    () [] -> . ++ - -左到右
    + - ! ~ ++ - - (type)* & sizeof右到左
    * / %左到右
    + -左到右
    << >>左到右
    < <= > >=左到右
    == !=左到右
    &左到右
    ^左到右
    |左到右
    &&左到右
    ||左到右
    ?:右到左
    = += -= *= /= %=>>= <<= &= ^= |=右到左
    ,左到右

    C中的运算符优先级示例:

    #include <stdio.h>main() {
    
       int a = 20;
       int b = 10;
       int c = 15;
       int d = 5;
       int e;
     
       e = (a + b) * c / d;      // ( 30 * 15 ) / 5
       printf("Value of (a + b) * c / d is : %d\n",  e );
    
       e = ((a + b) * c) / d;    // (30 * 15 ) / 5
       printf("Value of ((a + b) * c) / d is  : %d\n" ,  e );
    
       e = (a + b) * (c / d);   // (30) * (15/5)
       printf("Value of (a + b) * (c / d) is  : %d\n",  e );
    
       e = a + (b * c) / d;     //  20 + (150/5)
       printf("Value of a + (b * c) / d is  : %d\n" ,  e );
      
       return 0;}

    输出:

    Value of (a + b) * c / d is : 90
    Value of ((a + b) * c) / d is  : 90
    Value of (a + b) * (c / d) is  : 90
    Value of a + (b * c) / d is  : 50

    相关推荐:《C教程

    本篇文章就是关于C语言中的运算符优先级的介绍,希望对需要的朋友有所帮助!

    以上就是C语言中的运算符优先级(代码示例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:c语言标识符有哪些 下一篇:c语言递归算法怎么实现
    大前端线上培训班

    相关文章推荐

    • c语言如何随机生成数字• C语言和C++有什么区别• c语言标识符有哪些• c语言变量名规则是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网