谁能说一下C语言优先级里面常用的符号的顺序 c语言符号优先级测试题

C\u8bed\u8a00 \u7b26\u53f7\u4f18\u5148\u7ea7\u7684\u6392\u5217\u987a\u5e8f

\u5206\u4e3a\u4f18\u5148\u7ea715\u7ea7\uff1a
1\u3001\u5706\u62ec\u53f7\u3010\uff08\uff09\u3011\u3001\u4e0b\u6807\u8fd0\u7b97\u7b26\u3010[]\u3011\u3001\u5206\u91cf\u8fd0\u7b97\u7b26\u7684\u6307\u5411\u7ed3\u6784\u4f53\u6210\u5458\u8fd0\u7b97\u7b26\u3010->\u3011\u3001\u7ed3\u6784\u4f53\u6210\u5458\u8fd0\u7b97\u7b26\u3010.\u3011\uff1b
2\u3001\u903b\u8f91\u975e\u8fd0\u7b97\u7b26\u3010!\u3011\u3001\u6309\u4f4d\u53d6\u53cd\u8fd0\u7b97\u7b26\u3010~\u3011\u3001\u81ea\u589e\u81ea\u51cf\u8fd0\u7b97\u7b26\u3010++\u3011\u3010 --\u3011\u3001\u8d1f\u53f7\u8fd0\u7b97\u7b26\u3010-\u3011\u3001\u7c7b\u578b\u8f6c\u6362\u8fd0\u7b97\u7b26\u3010(\u7c7b\u578b)\u3011\u3001\u6307\u9488\u8fd0\u7b97\u7b26\u548c\u53d6\u5730\u5740\u8fd0\u7b97\u7b26\u3010*\u3011\u3010&\u3011\u3001\u957f\u5ea6\u8fd0\u7b97\u7b26\u3010sizeof\u3011\uff1b
3\u3001\u4e58\u6cd5\u8fd0\u7b97\u7b26\u3010*\u3011\u3001\u9664\u6cd5\u8fd0\u7b97\u7b26\u3010/\u3011\u3001\u53d6\u4f59\u8fd0\u7b97\u7b26\u3010%\u3011\uff1b
4\u3001\u52a0\u6cd5\u8fd0\u7b97\u7b26\u3010+\u3011\u3001\u51cf\u6cd5\u8fd0\u7b97\u7b26\u3010-\u3011\uff1b
5\u3001\u5de6\u79fb\u52a8\u8fd0\u7b97\u7b26\u3010>\u3011\uff1b
6\u3001\u5173\u7cfb\u8fd0\u7b97\u7b26\u3010\u3011\u3010= \u3011\uff1b
7\u3001\u7b49\u4e8e\u8fd0\u7b97\u7b26\u3010==\u3011\u3001\u4e0d\u7b49\u4e8e\u8fd0\u7b97\u7b26\u3010!=\u3011\uff1b
8\u3001\u6309\u4f4d\u4e0e\u8fd0\u7b97\u7b26\u3010&\u3011\uff1b
9\u3001\u6309\u4f4d\u5f02\u6216\u8fd0\u7b97\u7b26\u3010^\u3011\uff1b
10\u3001\u6309\u4f4d\u6216\u8fd0\u7b97\u7b26\u3010|\u3011\uff1b
11\u3001\u903b\u8f91\u4e0e\u8fd0\u7b97\u7b26\u3010&&\u3011\uff1b
12\u3001\u903b\u8f91\u6216\u8fd0\u7b97\u7b26\u3010||\u3011\uff1b
13\u3001\u6761\u4ef6\u8fd0\u7b97\u7b26\u3010?:\u3011\uff1b
14\u3001\u8d4b\u503c\u8fd0\u7b97\u7b26\u3010=\u3011\u3010/=\u3011\u3010*=\u3011\u3010%=\u3011\u3010+=\u3011\u3010-=\u3011\u3010>=\u3011\u3010&=\u3011\u3010^=\u3011\u3010|=\u3011\uff1b
15\u3001\u9017\u53f7\u8fd0\u7b97\u7b26\u3010,\u3011\u3002

\u6269\u5c55\u8d44\u6599\uff1a
C\u8bed\u8a00\u4e2d\u5404\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\uff1a
1\u3001\u5de6\u7ed3\u5408\u6027(\u81ea\u5de6\u81f3\u53f3)\uff1a
\u4f8b\u5982\u7b97\u672f\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u662f\u81ea\u5de6\u81f3\u53f3\uff0c\u5373\u5148\u5de6\u540e\u53f3\u3002\u5982\u6709\u8868\u8fbe\u5f0fx-y+z \u5219y \u5e94\u5148\u4e0e\u201c-\u201d\u53f7\u7ed3\u5408\uff0c\u6267\u884cx-y \u8fd0\u7b97\uff0c\u7136\u540e\u518d\u6267\u884c+z \u7684\u8fd0\u7b97\u3002\u8fd9\u79cd\u81ea\u5de6\u81f3\u53f3\u7684\u7ed3\u5408\u65b9\u5411\u5c31\u79f0\u4e3a\u201c\u5de6\u7ed3\u5408\u6027\u201d\u3002
2\u3001\u53f3\u7ed3\u5408\u6027(\u81ea\u53f3\u81f3\u5de6)
\u81ea\u53f3\u81f3\u5de6\u7684\u7ed3\u5408\u65b9\u5411\u79f0\u4e3a\u201c\u53f3\u7ed3\u5408\u6027\u201d\u3002\u6700\u5178\u578b\u7684\u53f3\u7ed3\u5408 \u6027\u8fd0\u7b97\u7b26\u662f\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002\u5982x=y=z,\u7531\u4e8e\u201c=\u201d\u7684\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u5148\u6267\u884cy=z \u518d\u6267\u884cx=(y=z)\u8fd0\u7b97\u3002C\u8bed\u8a00\u8fd0\u7b97\u7b26\u4e2d\u6709\u4e0d\u5c11\u4e3a\u53f3\u7ed3\u5408\u6027\uff0c\u5e94\u6ce8\u610f\u533a\u522b\uff0c\u4ee5\u907f\u514d\u7406\u89e3\u9519\u8bef\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-C\u8bed\u8a00\u8fd0\u7b97\u7b26

printf("%d\n",*p++);\u76f8\u5f53\u4e8e\u53d6*p\u6253\u5370\u7136\u540e\u518dp++\uff1aprintf("%d\n",*p); p++;\u4f1a\u8f93\u51fa20
printf("%d\n",++*p);\u76f8\u5f53\u4e8eprintf("%d\n",++(*p));\u7531\u4e8e\u524d\u53e5p\u7684\u4f4d\u7f6e\u5df2\u7ecf\u540e\u79fb\u6267\u884ca[2]\uff0c\u6240\u4ee5\u4f1a\u8f93\u51fa31

1级优先级 左结合() 圆括号 [] 下标运算符 -> 指向结构体成员运算符
. 结构体成员运算符
2级优先级 右结合 ! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符
-- 自减运算符 - 负号运算符
(类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符
3级优先级 左结合 * 乘法运算符 / 除法运算符 % 取余运算符
4级优先级 左结合+ 加法运算符 - 减法运算符
5级优先级 左结合 << 左移运算符 >> 右移运算符
6级优先级 左结合 <、<=、>、>= 关系运算符
7级优先级 左结合 == 等于运算符 != 不等于运算符
8级优先级 左结合 & 按位与运算符
9级优先级 左结合 ^ 按位异或运算符
10级优先级 左结合 | 按位或运算符
11级优先级 左结合 && 逻辑与运算符
12级优先级 左结合 || 逻辑或运算符
13级优先级 右结合 ? : 条件运算符
14级优先级 右结合 = += -= *= /= %= &= ^= |= <<= >>= 全为赋值运算符
15级优先级 左结合 逗号运算符
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。
具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操作。()是与函数相关,[]与数组相关,而->及.是取结构成员。
其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为的 真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。
接下来是算术运算符,*、/、%的优先级当然比+、-高了。
移位运算符紧随其后。
其次的关系运算符中,< <= > >=要比 == !=高一个级别,不大好理解。
所有的逻辑操作符都具有不同的优先级(单目运算符出外,!和~)
逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。
跟在其后的&&比||高。
接下来的是条件运算符,赋值运算符及逗号运算符。
在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。
&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位0,则右边表达式b就不再判断。
在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。
赋值表达式则规定先对右边的表达式求值,因此使 a = b = c = 6;成为可能。
C++运算符优先级

  • C璇█涓殑杩愮畻绗︾殑浼樺厛绾鎬庝箞鎺掑簭?
    绛旓細閫C.銆佽祴鍊艰繍绠楃<閫昏緫涓庤繍绠楃<鍏崇郴杩愮畻绗<绠楁湳杩愮畻绗︺傚綊绾冲悇绫昏繍绠楃銆愰珮鍒颁綆銆戯細鍒濈瓑杩愮畻绗︺愶紙锛夈->銆.銆 G1 鍗曠洰杩愮畻绗2 绠楁湳杩愮畻绗(鍏堜箻闄ゃ愬彇浣欍戯紝鍚庡姞鍑) G3,4 浣嶈繍绠楃銆<< >>銆 G5 鍏崇郴杩愮畻绗6,7 浣嶈繍绠楃銆愰掑噺& ^ |銆 G8,9,10 閫昏緫杩愮畻绗(涓嶅寘鎷紒) G11,12...
  • c璇█杩愮畻绗︾殑浼樺厛绾鏄庢牱鐨?
    绛旓細c璇█杩愮畻绗︾殑浼樺厛绾椤哄簭锛氭嫭鍙疯繍绠楃銆佷竴鍏冭繍绠楃銆佺畻鏈繍绠楃銆佺Щ浣嶈繍绠楃銆佸叧绯昏繍绠楃銆1銆佹嫭鍙疯繍绠楃 鎷彿杩愮畻绗﹀叿鏈夋渶楂樼殑浼樺厛绾э紝瀹冨彲浠ユ敼鍙樺叾浠栬繍绠楃鐨勪紭鍏堢骇椤哄簭銆備娇鐢ㄦ嫭鍙峰彲浠ユ槑纭〃杈惧紡鐨勮绠楅『搴忋2銆佷竴鍏冭繍绠楃 涓鍏冭繍绠楃鍖呮嫭姝e彿+銆佽礋鍙-銆侀掑杩愮畻绗++銆侀掑噺杩愮畻绗--銆佸彇鍦板潃杩愮畻绗&銆...
  • C璇█杩愮畻绗浼樺厛绾椤哄簭鏄粈涔堝憿?
    绛旓細C璇█杩愮畻绗浼樺厛绾椤哄簭濡備笅鎵绀猴細鑷杩愮畻绗 ++ 鍜岃嚜鍑忚繍绠楃 --锛屽湪浣滃悗缂杩愮畻绗︼紙濡傝〃杈惧紡 x++锛夋椂锛岃緝鍏剁敤浣滃墠缂杩愮畻绗︼紙濡傝〃杈惧紡 ++x锛夋椂锛屽叿鏈夎緝楂樼殑浼樺厛绾с+銆-銆* 鍜 & 杩愮畻绗﹁鍙蜂笉浣嗗彲浠ュ綋浣滀竴鍏冭繍绠楃锛坲nary operator锛屽彧闇瑕佷竴涓搷浣滄暟锛夛紝涔熷彲浠ュ綋浣滀簩鍏冭繍绠楃锛坆inary operator锛...
  • c璇█浼樺厛绾鎺掑簭琛
    绛旓細c璇█浼樺厛绾鎺掑簭琛細鎷彿銆侀掑/閫掑噺杩愮畻绗︺佹璐熷彿杩愮畻绗︿互鍙婂彇鍦板潃杩愮畻绗︺侰璇█鏄竴绉嶉噸瑕佺殑缂栫▼璇█锛屽叾鍚勭杩愮畻绗︾殑浼樺厛绾ч潪甯搁噸瑕併傞鍏堝氨鏄渶楂樹紭鍏堢骇鐨勮繍绠楃锛岃繖浜涜繍绠楃鐨勪紭鍏堢骇鎺掑湪鏈鍓嶉潰锛屼紭鍏堢骇鏈楂橈紝濡傛灉鍦ㄧ▼搴忎腑鍑虹幇浜嗚繖浜涜繍绠楃锛岄偅涔堝畠浠細棣栧厛琚墽琛屻傛帴涓嬫潵鏄箻娉曘侀櫎娉曞拰姹傛ā杩愮畻绗...
  • C璇█鐨浼樺厛绾鎬庝箞鐪?
    绛旓細&& 鐨勯珮 浼樺厛绾銆愰珮鍒颁綆銆戯細绗竴绾э細鍦嗘嫭鍙枫愶紙锛夈戙佷笅鏍囪繍绠楃銆怺]銆戙佸垎閲忚繍绠楃鐨勬寚鍚戠粨鏋勪綋鎴愬憳杩愮畻绗︺->銆戙佺粨鏋勪綋鎴愬憳杩愮畻绗︺.銆戠浜岀骇锛氶昏緫闈炶繍绠楃銆!銆戙佹寜浣嶅彇鍙嶈繍绠楃銆悀銆戙佽嚜澧炶嚜鍑忚繍绠楃銆++ --銆戙佽礋鍙疯繍绠楃銆-銆戙佺被鍨嬭浆鎹㈣繍绠楃銆(绫诲瀷)銆戙佹寚閽堣繍绠楃鍜屽彇鍦板潃杩愮畻...
  • c璇█涓繍绠楃鐨勮繍绠浼樺厛绾鏄庢牱鐨?
    绛旓細include <stdio.h> void main(){ int a,b,c;printf("璇疯緭鍏鍜宐鐨勫:");scanf("%d %d", &a, &b);c = a * b;printf("a*b = %d\n",c);}
  • C璇█杩愮畻绗︾殑浼樺厛绾鏄浣曡瀹氱殑?
    绛旓細C璇█涓紝杩愮畻绗﹂櫎浜甯歌鐨勪笁澶х被锛岀畻鏈繍绠楃銆佸叧绯昏繍绠楃涓庨昏緫杩愮畻绗︿箣澶栵紝杩樻湁涓浜涚敤浜庡畬鎴愮壒娈婁换鍔$殑杩愮畻绗︺傝繍绠楃鐨勮繍绠浼樺厛绾鍏卞垎涓15 绾э紝1 绾ф渶楂橈紝15 绾ф渶浣庛 鍦ㄨ〃杈惧紡涓紝浼樺厛绾ц緝楂樼殑鍏堜簬浼樺厛绾ц緝浣庣殑杩涜杩愮畻銆傝屽湪涓涓繍绠楅噺涓や晶鐨勮繍绠楃 浼樺厛绾х浉鍚屾椂锛屽垯鎸夎繍绠楃鐨勭粨鍚堟ф墍瑙勫畾...
  • C璇█涓湁鍝簺杩愮畻绗浼樺厛绾姣旇緝楂?
    绛旓細涓嬮潰鎸浼樺厛绾浠庨珮鍒颁綆鐨勯『搴忔荤粨涓涓嬪悇绉嶈繍绠楃锛屾瘡涓鏉℃墍鍒楃殑鍚勮繍绠楃鍏锋湁鐩稿悓鐨浼樺厛 绾锛屽浜庡悓涓浼樺厛绾х殑澶氫釜杩愮畻绗︽寜浠涔堥『搴忚绠椾篃鏈夎鏄庯紝鍙岀洰杩愮畻绗﹀氨绠鍗曞湴鐢ㄢ滃乏缁 鍚堚濇垨鈥滃彸缁撳悎鈥濇潵璇存槑浜嗐傚拰鎸囬拡鏈夊叧鐨勮繍绠楃* & ->涔熷湪杩欓噷鍒楀嚭鏉ヤ簡锛屼互鍚庡啀璇︾粏瑙i噴銆1 銆佹爣璇嗙銆佸父閲忋佸瓧绗︿覆鍜岀敤...
  • c璇█杩愮畻绗浼樺厛绾
    绛旓細|| 鍜 && 鍗佷簩鍜屽崄涓; //娉ㄦ剰椤哄簭:浼樺厛绾(||) 浣庝簬 浼樺厛绾(&&)鏉′欢楂樹簬璧嬪, //涓夌洰杩愮畻绗︿紭鍏堢骇鎺掑埌13 浣嶅彧姣旇祴鍊艰繍绠楃鍜","楂 閫楀彿杩愮畻绾ф渶浣! //閫楀彿杩愮畻绗︿紭鍏堢骇鏈浣 璇﹁锛歨ttp://www.slyar.com/blog/c-operator-priority.html ...
  • c璇█杩愮畻浼樺厛绾
    绛旓細浼樺厛绾灏辨槸褰撹〃杈惧紡涓湁澶氫釜杩愮畻绗︽椂锛屽厛璁$畻璋侊紝鍚庤绠楄皝銆傛墦涓瘮鏂癸紝鍦ㄥ洓鍒欒繍绠椾腑涔橀櫎鐨勪紭鍏堢骇灏遍珮浜庡姞鍑忋備絾鏄C璇█涓殑杩愮畻绗﹂櫎浜嗗姞鍑忎箻闄よ繕鏈夊緢澶氾紝鎴戜滑涔熸病蹇呰灏嗘墍鏈夎繍绠楃鐨勪紭鍏堢骇閮借浣忥紝杩欓噷鍒楀嚭鏉ュ悇涓繍绠楃鐨勪紭鍏堢骇琛紝瀹炲湪闇瑕佺敤鍒扮殑鏃跺欐煡涓涓嬭〃灏辫浜嗐傝屼笖瀹為檯涓婂湪缂栫▼鐨勬椂鍊欓渶瑕佽冭檻...
  • 扩展阅读:c语言优先级排序图片 ... c语言算数优先级图表 ... c语言优先级天梯图 ... c语言中运算优先级 ... c语言优先级别表图片 ... c语言优先级口诀 ... c语言中优先级顺序表 ... 运算优先级c语言 ... c语言优先级越小越优先吗 ...

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