C语言中的运算符有哪些优先级?优先级的高低对计算结果有什么影响??

“ | ”按位或运算符,优先级12级,如0x01 | 0xf0运算结果为0xf1。

“ || ”逻辑或运算符,也可以称之为条件或,优先级14级,如0x01 || 0xf0运算结果为True。
“ == ”等于运算符;“ != ”不等于运算符。优先级9级。
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。优先级16级。

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。[1]
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)
合理使用优先级可以极大简化表达式。
基本表达式 1级
基本表达式(Primary expressions),主要是用于运算符之间,做为运算数。
标识,常量,字符串文字量,优先级提升表达式最优先执行。
优先级提升表达式是指圆括号包围的表达式,如“( expression )”
后缀表达式 2极
postfix-expression [ expression ],数组下标运算。
postfix-expression ( argument-expression-list),函数调用,括号内的参数可选。
postfix-expression . identifier,成员访问,
postfix-expression -> identifier,成员访问,->号之前应为指针。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 复合初始化,C99后新增。

单目/一元运算 3级
++ unary-expression 前缀自增
-- unary-expression 前缀自减
unary-operator cast-expression 单目转型表式式, 包括 取地址& ,提领 * , 正号+ ,负号- 位反~ 逻辑否!。
sizeof unary-expression 求类型长度,对表达式求类型长度
sizeof ( type-name ) 求类型长度
强制类型表达式 4级
( type-name ) cast-expression,强制表达式成为type-name指定的类型。
乘法表达式 5级
“ * ” 乘法运算符;“ / ”除法运算符;“ % ” 取余运算符。
加法运算符 6级
“ + ”加法运算符;“ - ”减法运算符。
移位运算符 7级
<< 左移运算符;>> 右移运算符。
关系运算符 8级
<、<=、>、>=关系运算符。
相等运算符 9级
“ == ”等于运算符;“ != ”不等于运算符。
位与运算符 10级
“ & ”按位与运算符
位异或运算符 11级
“ ∧ ”按位异或运算符(Bitwise exclusive OR operator)。
位或运算符 12 级
“ | ”按位或运算符(Bitwise inclusive OR operator)。
  
逻辑与运算符 13级
“&&”逻辑与运算符。
逻辑或运算符 14 级
“ || ”逻辑或运算符。
三元条件运算符 15级
? :条件运算符。
赋值运算符 16 级
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
逗号运算符 17级
“,”逗号运算符。
[pre]C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
  子表达式1, 子表达式2, ..., 子表达式n
  例如:
  a + b, c = b, c++
  逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
  逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。

  • C璇█涓绠楁暟杩愮畻绗,鍏崇郴杩愮畻绗,閫昏緫杩愮畻绗︾殑浼樺厛绾у埆
    绛旓細1绾浼樺厛绾锛堝乏缁撳悎锛() 鍦嗘嫭鍙凤紱[]涓嬫爣杩愮畻绗锛->鎸囧悜缁撴瀯浣撴垚鍛樿繍绠楃锛. 缁撴瀯浣撴垚鍛樿繍绠楃銆2绾т紭鍏堢骇锛堝彸缁撳悎锛!閫昏緫闈炶繍绠楃锛泘鎸変綅鍙栧弽杩愮畻绗︼紱++鍓嶇紑澧為噺杩愮畻绗︼紱--鍓嶇紑鍑忛噺杩愮畻绗︼紱+姝e彿杩愮畻绗︼紱-璐熷彿杩愮畻绗︼紱(绫诲瀷)绫诲瀷杞崲杩愮畻绗︼紱*鎸囬拡杩愮畻绗︼紱&鍦板潃杩愮畻绗︼紱sizeof闀垮害杩愮畻绗︺3绾...
  • c璇█||杩愮畻绗︾殑浼樺厛绾ф槸澶氬皯?
    绛旓細鈥渱|鈥濆叾瀹冨父鐢杩愮畻绗锛1銆佺Щ浣嶈繍绠楃 << 宸︾Щ杩愮畻绗︼紱>> 鍙崇Щ杩愮畻绗︺2銆佸叧绯昏繍绠楃 <銆<=銆>銆>=鍏崇郴杩愮畻绗︺3銆佺浉绛夎繍绠楃 鈥 == 鈥濈瓑浜庤繍绠楃锛涒 != 鈥濅笉绛変簬杩愮畻绗︺4銆佷綅涓庤繍绠楃 鈥 & 鈥濇寜浣嶄笌杩愮畻绗 5銆佷綅寮傛垨杩愮畻绗 鈥 鈭 鈥濇寜浣嶅紓鎴栬繍绠楃锛圔itwise exclusive OR ...
  • C璇█杩愮畻绗︾殑浼樺厛绾鎬庝箞鎺掑垪鐨?
    绛旓細c璇█杩愮畻绗鐨勪紭鍏堢骇椤哄簭锛氭嫭鍙疯繍绠楃銆佷竴鍏冭繍绠楃銆佺畻鏈繍绠楃銆佺Щ浣嶈繍绠楃銆佸叧绯昏繍绠楃銆1銆佹嫭鍙疯繍绠楃 鎷彿杩愮畻绗﹀叿鏈鏈楂樼殑浼樺厛绾э紝瀹冨彲浠ユ敼鍙樺叾浠栬繍绠楃鐨勪紭鍏堢骇椤哄簭銆備娇鐢ㄦ嫭鍙峰彲浠ユ槑纭〃杈惧紡鐨勮绠楅『搴忋2銆佷竴鍏冭繍绠楃 涓鍏杩愮畻绗﹀寘鎷姝e彿+銆佽礋鍙-銆侀掑杩愮畻绗++銆侀掑噺杩愮畻绗--銆佸彇鍦板潃杩愮畻绗&銆...
  • C璇█鐨勮繍绠楃浼樺厛绾?
    绛旓細濡傚浘 c璇█杩愮畻绗︿紭鍏堢骇
  • C璇█涓,杩愮畻浼樺厛绾ф槸鎬庢牱鐨?
    绛旓細C璇█杩愮畻绗︿紭鍏堢骇椤哄簭濡備笅鎵绀猴細鑷杩愮畻绗 ++ 鍜岃嚜鍑忚繍绠楃 --锛屽湪浣滃悗缂杩愮畻绗︼紙濡傝〃杈惧紡 x++锛夋椂锛岃緝鍏剁敤浣滃墠缂杩愮畻绗︼紙濡傝〃杈惧紡 ++x锛夋椂锛屽叿鏈夎緝楂鐨勪紭鍏堢骇銆+銆-銆* 鍜 & 杩愮畻绗﹁鍙蜂笉浣嗗彲浠ュ綋浣滀竴鍏冭繍绠楃锛坲nary operator锛屽彧闇瑕佷竴涓搷浣滄暟锛夛紝涔熷彲浠ュ綋浣滀簩鍏冭繍绠楃锛坆inary operator锛...
  • C璇█涓绠楁湳杩愮畻绗︿紭鍏堢骇鐨勯棶棰
    绛旓細C璇█涓绠楁湳杩愮畻绗浼樺厛绾浠庝笂鍒颁笅渚濇閫掑噺锛屾渶涓婇潰鍏锋湁鏈楂樼殑浼樺厛绾э紝閫楀彿鎿嶄綔绗﹀叿鏈鏈浣庣殑浼樺厛绾с傝〃杈惧紡鐨勭粨鍚堟搴忓彇鍐充簬琛ㄨ揪寮忎腑鍚勭杩愮畻绗︾殑浼樺厛绾с備紭鍏堢骇楂樼殑杩愮畻绗﹀厛缁撳悎锛屼紭鍏堢骇浣庣殑杩愮畻绗﹀悗缁撳悎锛屽悓涓琛涓殑杩愮畻绗鐨勪紭鍏堢骇鐩稿悓銆傚熀鏈殑浼樺厛绾э細1銆佹寚閽堟渶浼橈紝鍗曠洰杩愮畻浼樹簬鍙岀洰杩愮畻銆2銆佸厛杩愮畻...
  • c璇█涓繍绠楃鐨勪紭鍏堢骇鏄浣曞畾鐨?
    绛旓細浼樺厛绾浠庝笂鍒颁笅渚濇閫掑噺锛屾渶涓婇潰鍏锋湁鏈楂樼殑浼樺厛绾э紝閫楀彿鎿嶄綔绗﹀叿鏈鏈浣庣殑浼樺厛绾с傝〃杈惧紡鐨勭粨鍚堟搴忓彇鍐充簬琛ㄨ揪寮忎腑鍚勭杩愮畻绗︾殑浼樺厛绾с備紭鍏堢骇楂樼殑杩愮畻绗﹀厛缁撳悎锛屼紭鍏堢骇浣庣殑杩愮畻绗﹀悗缁撳悎锛屽悓涓琛涓殑杩愮畻绗鐨勪紭鍏堢骇鐩稿悓銆C璇█涓 杩愮畻绗﹂櫎浜嗗父瑙佺殑涓夊ぇ绫伙紝绠楁湳杩愮畻绗︺佸叧绯昏繍绠楃涓庨昏緫杩愮畻绗︿箣澶栵紝杩樻湁...
  • C璇█鎻愪緵3绉嶉昏緫杩愮畻绗,鎸浼樺厛绾楂樹綆瀹冧滑鍒嗗埆鏄
    绛旓細C璇█鎻愪緵涓夌閫昏緫杩愮畻绗锛屾寜浼樺厛绾楂樹綆瀹冧滑鍒嗗埆鏄細閫昏緫闈(!)锛岄昏緫涓(&&)銆侀昏緫鎴(||)銆傝繍绠楄鍒欙細&&锛氬綋涓斾粎褰撲袱涓繍绠楅噺鐨勫奸兘涓衡滅湡鈥濇椂锛岃繍绠楃粨鏋滀负鈥滅湡鈥濓紝鍚﹀垯涓衡滃亣鈥濄倈| 锛氬綋涓斾粎褰撲袱涓繍绠楅噺鐨勫奸兘涓衡滃亣鈥濇椂锛岃繍绠楃粨鏋滀负鈥"鍋団濓紝鍚﹀垯涓衡滅湡鈥濄! 锛氬綋杩愮畻閲忕殑鍊间负鈥滅湡鈥...
  • c璇█涓锝炰笌!璋鐨勪紭鍏堢骇楂
    绛旓細锛佺殑浼樺厛绾楂樸C璇█绗鍙峰垎涓轰紭鍏堢骇15绾э細1銆佸渾鎷彿銆()銆戙佷笅鏍杩愮畻绗銆怺]銆戙佸垎閲忚繍绠楃鐨勬寚鍚戠粨鏋勪綋鎴愬憳杩愮畻绗︺->銆戙佺粨鏋勪綋鎴愬憳杩愮畻绗︺.銆戯紱2銆侀昏緫闈炶繍绠楃銆!銆戙佹寜浣嶅彇鍙嶈繍绠楃銆悀銆戙佽嚜澧炶嚜鍑忚繍绠楃銆++銆戙 --銆戙佽礋鍙疯繍绠楃銆-銆戙佺被鍨嬭浆鎹㈣繍绠楃銆(绫诲瀷)銆戙佹寚閽堣繍绠楃鍜屽彇...
  • C璇█鎻愪緵6绉嶅叧绯杩愮畻绗,鎸浼樺厛绾楂樹綆瀹冧滑鍒嗗埆鏄
    绛旓細鍘熷垯锛氬厛楂樺悗浣庯紝鍚岀骇宸︾粨鍚堬紙鍗充粠宸﹀埌鍙筹級銆傚叧绯昏繍绠楃閮芥槸鍙岀洰杩愮畻绗︼紝鍏剁粨鍚堟у潎涓哄乏缁撳悎銆傚叧绯昏繍绠楃鐨浼樺厛绾浣庝簬绠楁湳杩愮畻绗︼紝楂樹簬璧嬪艰繍绠楃銆**鍦ㄥ叚涓叧绯昏繍绠楃涓紝<銆<=銆>銆>=鐨勪紭鍏堢骇鐩稿悓锛岄珮浜==鍜!=锛==鍜!=鐨勪紭鍏堢骇鐩稿悓銆傚湪C璇█涓锛屾湁鐨勮繍绠楃鏈涓や釜鎿嶄綔鏁帮紝渚嬪10锛20锛10...
  • 扩展阅读:c语言优先级别表图片 ... &&和 哪个优先级高 ... c语言优先级最高的是 ... c语言优先级运算符表 ... c语言优先级顺序图 ... 运算符优先级由高到低 ... c语言 和&&优先级比较 ... c符号运算符优先级 ... 4种运算符优先级顺序 ...

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