C语言运算符优先级顺序
我知道从高到低为:圆括号单目运算符算术运算符关系运算符逻辑运算符三目运算符赋值运算符逗号运算符如:()!+-*/%+->>=<<===!=&&||?:=,问按位运算符(&...
我知道从高到低为:圆括号 单目运算符 算术运算符 关系运算符 逻辑运算符 三目运算符 赋值运算符 逗号运算符
如:() ! + - */% + - > >= < <= == != && || ?: = ,
问按位运算符(& | ^ ~ >> <<)应该插在上面的哪里? 展开
如:() ! + - */% + - > >= < <= == != && || ?: = ,
问按位运算符(& | ^ ~ >> <<)应该插在上面的哪里? 展开
14个回答
展开全部
C语言运算符优先级顺序如下所示:
自增运算符 ++ 和自减运算符 --,在作后缀运算符(如表达式 x++)时,较其用作前缀运算符(如表达式 ++x)时,具有较高的优先级。
+、-、* 和 & 运算符记号不但可以当作一元运算符(unary operator,只需要一个操作数),也可以当作二元运算符(binary operator,需要两个操作数)。例如,* 只有一个操作数的时候,就是间接运算符(indirection operator),而有两个操作数的时候,就是乘号。
扩展资料
一个表达式可以包含多个运算符。在这种情况下,运算符的优先级决定表达式的哪部分被处理为每个运算符的操作数。例如,按照运算规则,表达式中 *、/、以及 % 的优先级比 + 和 - 高。如下列表达式:
a - b * c
相当于 a-(b*c)。如果想让操作数以不同的方式组合在一起,则必须使用括号:
(a - b) * c
如果一个表达式中的两个操作数具有相同的优先级,那么它们的结合律(associativity)决定它们的组合方式是从左到右或是从右到左。例如,算术运算符和操作数的组合方式是从左到右,赋值运算符则是从右到左。
展开全部
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
就着多吧 结合性:2 13 14 是从右至左 其他都是 从左至右
有问题可以在交流的 共同进步
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
就着多吧 结合性:2 13 14 是从右至左 其他都是 从左至右
有问题可以在交流的 共同进步
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一共有十五个优先级:
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
☆注意: 结合性:2 13 14 是 右结合(从右至左) 其他都是 左结合(从左至右)
括号成员第一 // 括号运算符[]() 成员运算符. ->
全体单目第二 // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
乘除余三加减四 // 这个"余"是指取余运算即%
移位五,关系六 // 移位运算符:<< >> ,关系:> < >= <= 等
等于 不等排第七 // 即== 和!=
位与异或和位或 // 这几个都是位运算: 位与(&)异或(^)位或(|)
三分天下八九十
逻辑与跟或 // 逻辑运算符:|| 和 &&
十一跟十二 // 注意顺序:优先级(&&) 高于 优先级(||)
条件高于赋值 // 三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低 // 逗号运算符优先级最低
标签:
C/C++
1 () [] . ->
2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof
3 * / %
4 + -
5 >> <<
6 > >= < <=
7 == !=
8 &
9 ^
10 |
11 &&
12 ||
13 ?:
14 = += -= *= /= %= |= ^= &= >>= <<=
15 ,
☆注意: 结合性:2 13 14 是 右结合(从右至左) 其他都是 左结合(从左至右)
括号成员第一 // 括号运算符[]() 成员运算符. ->
全体单目第二 // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&
乘除余三加减四 // 这个"余"是指取余运算即%
移位五,关系六 // 移位运算符:<< >> ,关系:> < >= <= 等
等于 不等排第七 // 即== 和!=
位与异或和位或 // 这几个都是位运算: 位与(&)异或(^)位或(|)
三分天下八九十
逻辑与跟或 // 逻辑运算符:|| 和 &&
十一跟十二 // 注意顺序:优先级(&&) 高于 优先级(||)
条件高于赋值 // 三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低 // 逗号运算符优先级最低
标签:
C/C++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
7级优先级 左结合
== 等于运算符
!= 不等于运算符
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
在!=后面
== 等于运算符
!= 不等于运算符
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
在!=后面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询