关于运算符的优先级不是什么难点问题,只是有时候会记不太清楚,所以啦,小整理一下:
C语言中涉及的运算符统计下有31个,现将运算符的优先级从高到低排序如下:
1、单目运算符:
(1) ():小括号虽然小,岂不知它能力巨大啊,一看到它呀,立马优先级提第一喽。
(2) [ ] :下标运算符,当然也可以叫它地址运算符啦,很厉害,位居榜眼。
(3) —> :指向结构体成员运算符,说句废话,跟结构体关联啦。通常情况下,和指针合用,用于取值。
(4) . : 成员运算符。
(5) ! :虽说啊,它是逻辑运算符,但是它也是单目的哦,当然,要跟逻辑运算符比起来它可是老大。
(6) ~ :按位取反运算,它是位运算的一种啦,不过人家单目当然没有累赘,位居排行榜老六。
(7) ++ :自增加
(8) —— :自减
(9) — :这个这个,可别以为是减号哦,别忘记负号啦。
(10)() :看看,看看,这个必须不是小括号,强转么。
(11) * :指针啊指针,让人欢喜让人忧,跌出前十啊。
(12)& :取址运算符
(13)sizeof():还记得当年这个运算符和某某函数的比较吗?
2、单目完了,二目,三目就来喽:根据熟识度啊,当然先是算术运算啦,咱们不是小学就学嘛。插进来两个位运算,谁叫人家是二目中的一目呢,给点儿特殊待遇。关系运算可是大于位运算的。关系和位运算搞好关系之后,逻辑运算紧随其后。三目人最多,那就呆在最后吧。
(14) * :乘
(15) / :除
(16) % :取余
(17) + :加
(18) - :减
(19) << :左移,是 *2^n 运算。
(20) >> :右移,是 /2^n运算。
(21) < , <= , >, >= :不用说啦。
(22) == :这才是真正的等于,跟=赋值不要头晕搞错哦。
(23) != :有等于当然有不等于么。
(24) & :按位与
(25) ^ :按位异或
(26) | :按位或
(27) && :与啊,逻辑运算
(28) || :或
(29) ? ::C中唯一涉及的三目运算。
(30) = 、+=、 *=、 …… := :凡是跟赋值运算相关的,靠后靠后哈。
(31) , :其实,逗号也是运算符。
到此,结束,其实也都已经分类啦。