很多朋友对于赋值运算符的优先级和c语言优先级排序图片不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
关系运算符和逻辑运算符优先级
如果是算术运算符,逻辑运算符,关系运算符和赋值运算符,优先级高低为:算术运算符>关系运算符>逻辑运算符>赋值运算符。
1.关系运算符
返回值是boolean一般用于判断语句中
2逻辑运算符
&逻辑与|逻辑或!逻辑非逻辑与||短路或
与运算符:所有条件都为真结果才为真
或运算符:所有条件都为假结果才为假
3三元运算符
4运算符优先为先运算后赋值
C语言符号优先级的排列顺序
c语言运算符号
1级优先级左结合
()圆括号
[]下标运算符
->指向结构体成员运算符
.结构体成员运算符
2级优先级右结合
!逻辑非运算符
~按位取反运算符
++自增运算符
--自减运算符
-负号运算符
(类型)类型转换运算符
*指针运算符
&地址与运算符
sizeof长度运算符
3级优先级左结合
*乘法运算符
/除法运算符
%取余运算符
4级优先级左结合
+加法运算符
-减法运算符
5级优先级左结合
<<左移运算符
>>右移运算符
6级优先级左结合
<、<=、>、>=关系运算符
7级优先级左结合
==等于运算符
!=不等于运算符
8级优先级左结合
&按位与运算符
9级优先级左结合
^按位异或运算符
10级优先级左结合
|按位或运算符
11级优先级左结合
&&逻辑与运算符
12级优先级左结合
||逻辑或运算符
13级优先级右结合
?:条件运算符
14级优先级右结合
=+=-=*=/=%=&=^=|=<<=>>=全为赋值运算符
15级优先级左结合
,逗号运算符
算术运算符的优先级顺序是()
优先级【高到低】
第一级:圆括号【()】、下标运
算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】。
第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++--】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】。
第三级:乘法运算符【*】、除法运算符【/】、取余运算符【%】。
第四级:加法运算符【+】、减法运算符【-】。
第五级:左移动运算符【<<】、右移动运算符【>>】。
第六级:关系运算符【<><=>=】。
第七级:等于运算符【==】、不等于运算符【!=】。
第八级:按位与运算符【&】。
第九级:按位异或运算符【^】。
第十级:按位或运算符【|】。
第十一级:逻辑与运算符【&&】。
第十二级:逻辑或运算符【||】。
第十三级:条件运算符【?:】。
第十四级:赋值运算符【=+=-=*=/=%=>>=<<.=&=|=^=】。
第十五级:逗号运算符【,】。
扩展资料
优先级与求值顺序无关。如(a+b)&&(b*c),虽然*优先级最高,但这个表达式求值顺序是从左到右。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。1<<3+2&7等价于(1<<(3+2))&7。逻辑运算最后结合。
c运算符的优先级顺序
C语言中,运算符的运算优先级共分为15级。
1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。
而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。
1、圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】;
2、逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++】【--】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*】【&】、长度运算符【sizeof】;
3、乘法运算符【*】、除法运算符【/】、取余运算符【%】;
4、加法运算符【+】、减法运算符【-】;
5、左移动运算符【<<】、右移动运算符【>>】;
6、关系运算符【<】【>】【<=】【>=】;
7、等于运算符【==】、不等于运算符【!=】;
8、按位与运算符【&】;
9、按位异或运算符【^】;
10、按位或运算符【|】;
11、逻辑与运算符【&&】;
12、逻辑或运算符【||】;
13、条件运算符【?:】;
14、赋值运算符【=】【/=】【*=】【%=】【+=】【-=】【<<=】【>>=】【&=】【^=】【|=】;
15、逗号运算符【,】。
优先等级用字母表示
c语言运算符号 1级优先级左结合 ()圆括号 []下标运算符 ->指向结构体成员运算符 .结构体成员运算符 2级优先级右结合 !逻辑非运算符 ~按位取反运算符 ++自增运算符 --自减运算符 -负号运算符 (类型)类型转换运算符 *指针运算符 &地址与运算符 sizeof长度运算符 3级优先级左结合 *乘法运算符 /除法运算符 %取余运算符 4级优先级左结合 +加法运算符 -减法运算符 5级优先级左结合 <<左移运算符 >>右移运算符 6级优先级左结合 <、<=、>、>=关系运算符 7级优先级左结合 ==等于运算符 !=不等于运算符 8级优先级左结合 &按位与运算符 9级优先级左结合 ^按位异或运算符 10级优先级左结合 |按位或运算符 11级优先级左结合 &&逻辑与运算符 12级优先级左结合 ||逻辑或运算符 13级优先级右结合 ?:条件运算符 14级优先级右结合 =+=-=*=/=%=&=^=|=<<=>>=全为赋值运算符 15级优先级左结合 ,逗号运算符
关于赋值运算符的优先级的内容到此结束,希望对大家有所帮助。