Linux C语言开发-D7D8运算符

算术运算符:+-*/%,浮点数可以参与除法运算,但不能参与取余运算

a%b:表示取模或取余

关系运算符:<,>,>=,<=,==,!=

逻辑运算符:!,&&,||

&&,||逻辑运算符是从左到右,依次运算,下图中b++和a++都未进行计算

Linux C语言开发-D7D8运算符_第1张图片

位运算符:~(位逻辑反),&(位逻辑与),|(位逻辑或),^(位逻辑异或),>>(右移位),<<(左移位)

Linux C语言开发-D7D8运算符_第2张图片

printf("%#x\n",y)其中x表示16进制,#表示加上0x前缀

^(位逻辑异或):相同为假,相异为真

<<(左移位):左移一位×2,>>(右移位):右移一位/2

Linux C语言开发-D7D8运算符_第3张图片

左移、右移应用

1、快速将x=0x14的第y位置为1

        x | (1<<(y - 1))

2、快速将x=0x14的第y位置为0

        x & (~(1<<(y - 1)))

3、利用位运算把一个十进制数转换成十六进制数

        a%16相当于保留最后4个二进制位。所以就是a & 0xf;

Linux C语言开发-D7D8运算符_第4张图片

特殊运算符

三目运算符:<表达式1> ?<表达式2> : <表达式3>

        表达式1成立就进行运算表达式2否则运算表达式3

逗号运算符:从左到右依次执行,最后一个运算符赋值给等号左边

Linux C语言开发-D7D8运算符_第5张图片

sizeof运算符

运算符的优先级

Linux C语言开发-D7D8运算符_第6张图片

 下图中,1、++优先级大于&&,&&优先级大于||;

                2、!优先级大于&&,

                3、==优先级大于+=,

Linux C语言开发-D7D8运算符_第7张图片

你可能感兴趣的:(Linux,c语言,c语言,linux)