C语言中的运算符的优先级怎么排序?

选C.、赋值运算符<逻辑与运算符<关系运算符<算术运算符。

归纳各类运算符【高到低】:

初等运算符【()、->、.】 G1

单目运算符G2

算术运算符(先乘除【取余】,后加减) G3,4

位运算符【<< >>】 G5

关系运算符G6,7

位运算符【递减& ^ |】 G8,9,10

逻辑运算符(不包括!) G11,12

条件运算符 G13

赋值运算符G14

逗号运算符 G15。

扩展资料:

C语言中各运算符的结合性分为两种:左结合性和右结合性。

例如:算术运算符的结合性是自左至右,即先左后右。

如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向就称为“左结合性”。

而自右至左的结合方向称为“右结合性”。 最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。

C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。(上文的优先级有分辨左右结合性)。

参考资料来源:百度百科-运算符



C语言中运算符优先级排序如下:

分为优先级15级:

1、圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】;

2、逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++】【 --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*】【&】、长度运算符【sizeof】;

3、乘法运算符【*】、除法运算符【/】、取余运算符【%】;

4、加法运算符【+】、减法运算符【-】;

5、左移动运算符【<<】、右移动运算符【>>】;

6、关系运算符【< 】【>】【<=】【 >= 】;

7、等于运算符【==】、不等于运算符【!=】;

8、按位与运算符【&】;

9、按位异或运算符【^】;

10、按位或运算符【|】;

11、逻辑与运算符【&&】;

12、逻辑或运算符【||】;

13、条件运算符【?:】;

14、赋值运算符【=】【/=】【*=】【%=】【+=】【-=】【<<=】【>>=】【&=】【^=】【|=】;

15、逗号运算符【,】。

运算符优先级的记法:

C语言把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理,可见其范围的宽(如:将赋值符“=”作为赋值运算符、方括号作为下标运算符)。

优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。逻辑运算最后结合。



  • c璇█杩愮畻绗︾殑浼樺厛绾鏄鎬庢牱鐨?
    绛旓細c璇█杩愮畻绗︾殑浼樺厛绾ч『搴忥細鎷彿杩愮畻绗︺佷竴鍏冭繍绠楃銆佺畻鏈繍绠楃銆佺Щ浣嶈繍绠楃銆佸叧绯昏繍绠楃銆1銆佹嫭鍙疯繍绠楃 鎷彿杩愮畻绗﹀叿鏈夋渶楂樼殑浼樺厛绾э紝瀹冨彲浠ユ敼鍙樺叾浠栬繍绠楃鐨勪紭鍏堢骇椤哄簭銆備娇鐢ㄦ嫭鍙峰彲浠ユ槑纭〃杈惧紡鐨勮绠楅『搴忋2銆佷竴鍏冭繍绠楃 涓鍏冭繍绠楃鍖呮嫭姝e彿+銆佽礋鍙-銆侀掑杩愮畻绗++銆侀掑噺杩愮畻绗--銆佸彇鍦板潃杩愮畻绗&銆佸彇...
  • c璇█杩愮畻绗︾殑浼樺厛绾椤哄簭
    绛旓細c璇█杩愮畻绗︿紭鍏堢骇浠庨珮鍒颁綆鐨勯『搴忎緷娆″涓嬶細浼樺厛绾т粠涓婂埌涓嬩緷娆¢掑噺锛屾渶涓婇潰鍏锋湁鏈楂樼殑浼樺厛绾э紝閫楀彿鎿嶄綔绗﹀叿鏈夋渶浣庣殑浼樺厛绾銆傝〃杈惧紡鐨勭粨鍚堟搴忓彇鍐充簬琛ㄨ揪寮忎腑鍚勭杩愮畻绗︾殑浼樺厛绾с備紭鍏堢骇楂樼殑杩愮畻绗﹀厛缁撳悎锛屼紭鍏堢骇浣庣殑杩愮畻绗﹀悗缁撳悎锛屽悓涓琛屼腑鐨勮繍绠楃鐨勪紭鍏堢骇鐩稿悓銆備笉鍚岀被鍨嬬殑杩愮畻绗︿箣闂翠篃鏈夌浉搴旂殑浼樺厛绾...
  • C璇█鐨勮繍绠楃浼樺厛绾ф庝箞鍒嗙殑?
    绛旓細C璇█鐨勮繍绠楃鍖呮嫭鍗曠洰杩愮畻绗︺佸弻鐩繍绠楃銆佷笁鐩繍绠楃銆浼樺厛绾у涓嬶細绗1浼樺厛绾э細鍚勭鎷嫭鍙凤紝濡()銆乕]绛夈佹垚鍛樿繍绠楃 . 锛涚2浼樺厛绾э細鎵鏈夊崟鐩繍绠楃锛屽++銆佲撱!銆亊绛夛紱绗3浼樺厛绾 锛堢畻鏁拌繍绠楃锛夛細涔樻硶杩愮畻绗*銆侀櫎娉曡繍绠楃/銆佹眰浣欒繍绠楃%锛涚4浼樺厛绾 锛堢畻鏁拌繍绠楃锛夛細鍔犳硶杩愮畻绗+銆佸噺娉...
  • C璇█杩愮畻绗︾殑浼樺厛绾
    绛旓細1銆丆璇█涓紝杩愮畻绗︾殑杩愮畻浼樺厛绾у叡鍒嗕负15绾с1绾ф渶楂橈紝15绾ф渶浣銆傚湪琛ㄨ揪寮忎腑锛屼紭鍏堢骇杈冮珮鐨勫厛浜庝紭鍏堢骇杈冧綆鐨勮繘琛岃繍绠椼傝屽湪涓涓繍绠楅噺涓や晶鐨勮繍绠楃浼樺厛绾х浉鍚屾椂锛屽垯鎸夎繍绠楃鐨勭粨鍚堟ф墍瑙勫畾鐨勭粨鍚堟柟鍚戝鐞嗐2銆乧璇█杩愮畻绗︿紭鍏堢骇浠庨珮鍒颁綆鐨勯『搴忎緷娆″涓嬶細浼樺厛绾т粠涓婂埌涓嬩緷娆¢掑噺锛屾渶涓婇潰鍏锋湁鏈楂...
  • C璇█杩愮畻绗︿紭鍏堢骇椤哄簭
    绛旓細C璇█杩愮畻绗︿紭鍏堢骇椤哄簭濡備笅鎵绀猴細鑷杩愮畻绗 ++ 鍜岃嚜鍑忚繍绠楃 --锛屽湪浣滃悗缂杩愮畻绗︼紙濡傝〃杈惧紡 x++锛夋椂锛岃緝鍏剁敤浣滃墠缂杩愮畻绗︼紙濡傝〃杈惧紡 ++x锛夋椂锛屽叿鏈夎緝楂樼殑浼樺厛绾с+銆-銆* 鍜 & 杩愮畻绗﹁鍙蜂笉浣嗗彲浠ュ綋浣滀竴鍏冭繍绠楃锛坲nary operator锛屽彧闇瑕佷竴涓搷浣滄暟锛夛紝涔熷彲浠ュ綋浣滀簩鍏冭繍绠楃锛坆inary operator锛...
  • c璇█涓殑杩愮畻绗︿紭鍏堢骇鎬庝箞鎺?
    绛旓細锛堝彇鍙嶃佸乏绉汇佹寜浣嶄笌銆佹寜浣嶅紓鎴栥佹寜浣嶆垨锛浼樺厛绾鐢遍珮鍒颁綆鐨勯『搴鎺掑垪涓哄彇鍙 > 宸︾Щ > 鎸変綅涓 > 鎸変綅寮傛垨 > 鎸変綅鎴栥1銆侊綖锛氭剰鎬濇槸鎸変綅鍙栧弽锛岀被浼间簬闈烇紙锛侊級鐨勫叧绯伙紝鍙栧畠鐨勫弽闈2銆<<: 鎰忔濇槸宸︾Щ锛岀Щ鍔ㄤ簩杩涘埗鐨勪綅銆3銆& : 鎰忔濇槸鎸変綅涓庯紝绫讳技浜庝笌(&&)鐨勫叧绯伙紝涓鍋囦负鍋囥4銆...
  • c璇█涓繍绠楃鐨勪紭鍏堢骇鏄浣曟帓鍒鐨?
    绛旓細浼樺厛绾銆愰珮鍒颁綆銆戯細绗竴绾э細鍦嗘嫭鍙枫愶紙锛夈戙佷笅鏍囪繍绠楃銆怺]銆戙佸垎閲杩愮畻绗︾殑鎸囧悜缁撴瀯浣撴垚鍛樿繍绠楃銆->銆戙佺粨鏋勪綋鎴愬憳杩愮畻绗︺.銆戙傜浜岀骇锛氶昏緫闈炶繍绠楃銆!銆戙佹寜浣嶅彇鍙嶈繍绠楃銆悀銆戙佽嚜澧炶嚜鍑忚繍绠楃銆++ --銆戙佽礋鍙疯繍绠楃銆-銆戙佺被鍨嬭浆鎹㈣繍绠楃銆(绫诲瀷)銆戙佹寚閽堣繍绠楃鍜屽彇鍦板潃杩愮畻绗︺*...
  • c璇█涓繍绠楃浼樺厛绾鎺掑簭
    绛旓細C璇█涓繍绠楃浼樺厛绾鎺掑簭锛1. 鍚庣紑杩愮畻绗︼細鍖呮嫭鍦嗘嫭鍙枫佹柟鎷彿鍜屽ぇ鎷彿锛屽叿鏈夋渶楂樹紭鍏堢骇銆2. 涓鍏冭繍绠楃锛氬鑷銆佽嚜鍑忋侀昏緫闈炪3. 绠楁湳杩愮畻绗︼細鍖呮嫭涔樸侀櫎銆佹ā銆佸姞銆佸噺锛屼紭鍏堢骇浠庨珮鍒颁綆銆4. 鍏崇郴杩愮畻绗︼細濡傚ぇ浜庛佸皬浜庛佸ぇ浜庣瓑浜庛佸皬浜庣瓑浜庛5. 浣嶈繍绠楃锛氬绉讳綅杩愮畻绗︺6. 閫昏緫杩愮畻绗︼細濡...
  • c涓繍绠楃鐨勪紭鍏堢骇鎬庝箞鎺掑垪?
    绛旓細c璇█杩愮畻绗︿紭鍏堢骇浠庨珮鍒颁綆鐨勯『搴忎緷娆″涓嬶細浼樺厛绾т粠涓婂埌涓嬩緷娆¢掑噺锛屾渶涓婇潰鍏锋湁鏈楂樼殑浼樺厛绾э紝閫楀彿鎿嶄綔绗﹀叿鏈夋渶浣庣殑浼樺厛绾с傝〃杈惧紡鐨勭粨鍚堟搴忓彇鍐充簬琛ㄨ揪寮忎腑鍚勭杩愮畻绗︾殑浼樺厛绾с備紭鍏堢骇楂樼殑杩愮畻绗﹀厛缁撳悎锛屼紭鍏堢骇浣庣殑杩愮畻绗﹀悗缁撳悎锛屽悓涓琛屼腑鐨勮繍绠楃鐨勪紭鍏堢骇鐩稿悓銆備紭鍏堢骇涓庢眰鍊奸『搴忔棤鍏炽傚a+b && b...
  • C璇█鐨勮繍绠楃鐨勪紭鍏堢骇鏄粈涔?
    绛旓細閫昏緫涓&&浼樺厛绾澶т簬閫昏緫鎴東|銆8銆佺鍏骇锛氾紵 锛氫篃绉颁负鏉′欢杩愮畻绗﹀彿锛屾槸C璇█涓鍞竴鐨勪竴涓笁鐩繍绠楃锛岀粨鍚堥『搴忔槸浠庡彸寰宸︺9銆佺涔濈骇锛=銆+=銆-+銆*=銆/=銆%= 杩欎簺杩愮畻绗︿篃鍙仛璧嬪艰繍绠楃锛岄櫎姝や箣澶栵紝>>=銆<<=銆&=銆乛=銆亅=杩欎簺璧嬪艰繍绠楃涔熷湪杩欎竴绾у埆鍐咃紝缁撳悎椤哄簭鏄粠鍙冲線宸︺&#...
  • 扩展阅读:扫一扫题目出答案 ... 4种运算符优先级顺序 ... c语言优先级别表图片 ... 运算符优先级由高到低 ... c++运算符大全 ... c语言优先级天梯图 ... c语言中 和 有什么区别 ... c语言中优先级最低的运算符 ... c语言优先级最低是多少 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网