zoukankan      html  css  js  c++  java
  • 运算符问题优先级

    #include <stdio.h>
    int main(int argc, char *argv[])
    {
    	unsigned char a = 0xA5;
    	unsigned char b = ~a>>4+1;
    	printf( "%d", b );
    	return 0;
    }

    求输出结果。

    这个题主要是考运算符的优先级问题。

    因为>>优先级低于+所以本题答案是250.(因为a是存在一个16位寄存器中,所以不是2)。

    《转》

    C语言运算符优先级和口诀

    一共有十五个优先级: 

    1   ()  []  .  ->

    2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 

    3   * / %

    4   + - 

    5   >> <<  

    6   > >= < <= 

    7   == !=   

    8   &  

    9   ^   

    10  |   

    11  &&

    12  ||

    13  ?:

    14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=

    15  ,


    括号成员第一;        //括号运算符[]() 成员运算符.  ->

    全体单目第二;        //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四;   //这个"余"是指取余运算即%

    移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <= 等

    等于(与)不等排第七;    //即== 和!=

    位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)    

    "三分天下"八九十;  

    逻辑或跟与;            //逻辑运算符:|| 和 &&

    十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&) 

    条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","高

    逗号运算级最低!    //逗号运算符优先级最低


  • 相关阅读:
    最短路之dijkstra算法
    拓扑排序 topsort详解
    POJ2236 Wireless Network 并查集简单应用
    最小生成树详解 prim+ kruskal代码模板
    并查集详解及模板
    POJ 3190 Stall Reservations贪心
    chapter22:源码与Tarball之(1)-传统方法编译与make方法进行编译
    vi的用法
    centos7 connect internet
    java内存区域
  • 原文地址:https://www.cnblogs.com/arbboter/p/4225276.html
Copyright © 2011-2022 走看看