c语言逻辑运算符有哪些,及运算先后顺序? C语言逻辑运算符顺序
c\u8bed\u8a00\u4e2d\u8fd0\u7b97\u7b26\u6709\u54ea\u51e0\u79cd\uff0c\u4f18\u5148\u7ea7\u987a\u5e8f\u662f\u600e\u6837C\u8bed\u8a00\u4e2d\uff0c\u8fd0\u7b97\u7b26\u9664\u4e86\u5e38\u89c1\u7684\u4e09\u5927\u7c7b\uff0c\u7b97\u672f\u8fd0\u7b97\u7b26\u3001\u5173\u7cfb\u8fd0\u7b97\u7b26\u4e0e\u903b\u8f91\u8fd0\u7b97\u7b26\u4e4b\u5916\uff0c\u8fd8\u6709\u4e00\u4e9b\u7528\u4e8e\u5b8c\u6210\u7279\u6b8a\u4efb\u52a1\u7684\u8fd0\u7b97\u7b26\u3002
\u8fd0\u7b97\u7b26\u7684\u8fd0\u7b97\u4f18\u5148\u7ea7\u5171\u5206\u4e3a15 \u7ea7\uff0c1 \u7ea7\u6700\u9ad8\uff0c15 \u7ea7\u6700\u4f4e\u3002 \u5728\u8868\u8fbe\u5f0f\u4e2d\uff0c\u4f18\u5148\u7ea7\u8f83\u9ad8\u7684\u5148\u4e8e\u4f18\u5148\u7ea7\u8f83\u4f4e\u7684\u8fdb\u884c\u8fd0\u7b97\u3002\u800c\u5728\u4e00\u4e2a\u8fd0\u7b97\u91cf\u4e24\u4fa7\u7684\u8fd0\u7b97\u7b26 \u4f18\u5148\u7ea7\u76f8\u540c\u65f6\uff0c\u5219\u6309\u8fd0\u7b97\u7b26\u7684\u7ed3\u5408\u6027\u6240\u89c4\u5b9a\u7684\u7ed3\u5408\u65b9\u5411\u5904\u7406\u3002
\u4e00\u7ea7\u8fd0\u7b97\u7b26\uff1a\u6807\u8bc6\uff0c\u5e38\u91cf\uff0c\u5b57\u7b26\u4e32\u6587\u5b57\u91cf\uff0c\u4f18\u5148\u7ea7\u63d0\u5347\u8868\u8fbe\u5f0f\u6700\u4f18\u5148\u6267\u884c\u3002
\u4e8c\u7ea7\u8fd0\u7b97\u7b26\uff1a\u6570\u7ec4\u4e0b\u6807\u8fd0\u7b97\uff08expression\uff09\u3001\u51fd\u6570\u8c03\u7528\uff08argument-expression-list\uff09\u3001\u6210\u5458\u8bbf\u95ee\uff08identifier\u3001 -> identifier\uff09\u3001\u540e\u7f00\u81ea\u589e\uff08i++\uff09\u3001\u540e\u7f00\u81ea\u51cf\uff08i--\uff09\u3001 \u590d\u5408\u521d\u59cb\u5316\uff08initializer-list\uff09\u3002
\u4e09\u7ea7\u8fd0\u7b97\u7b26\uff1a\u524d\u7f00\u81ea\u589e\uff08++i\uff09\u3001\u524d\u7f00\u81ea\u51cf\uff08--i\uff09\u3001\u5355\u76ee\u8f6c\u578b\u8868\u5f0f\u5f0f\uff08\u53d6\u5730\u5740& \uff0c\u63d0\u9886 * \uff0c \u6b63\u53f7+ \uff0c\u8d1f\u53f7-\u3001 \u4f4d\u53cd~ \u903b\u8f91\u5426!\uff09\u3001\u6c42\u7c7b\u578b\u957f\u5ea6\uff08sizeof unary-expression\uff09\u3002
\u56db\u7ea7\u8fd0\u7b97\u7b26\uff1a\u5f3a\u5236\u8868\u8fbe\u5f0f\u6210\u4e3atype-name\u6307\u5b9a\u7684\u7c7b\u578b( type-name ) cast-expression\u3002
\u4e94\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c * \u201d \u4e58\u6cd5\u8fd0\u7b97\u7b26\u3002
\u516d\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c + \u201d\u52a0\u6cd5\u8fd0\u7b97\u7b26\u3002
\u4e03\u7ea7\u8fd0\u7b97\u7b26\uff1a> \u53f3\u79fb\u8fd0\u7b97\u7b26\u3002
\u516b\u7ea7\u8fd0\u7b97\u7b26\uff1a\u3001>=\u5173\u7cfb\u8fd0\u7b97\u7b26\u3002
\u4e5d\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c == \u201d\u7b49\u4e8e\u8fd0\u7b97\u7b26\uff1b\u201c != \u201d\u4e0d\u7b49\u4e8e\u8fd0\u7b97\u7b26\u3002
\u5341\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c & \u201d\u6309\u4f4d\u4e0e\u8fd0\u7b97\u7b26\u3002
\u5341\u4e00\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c \u2227 \u201d\u6309\u4f4d\u5f02\u6216\u8fd0\u7b97\u7b26\u3002
\u5341\u4e8c\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c | \u201d\u6309\u4f4d\u6216\u8fd0\u7b97\u7b26\u3002
\u5341\u4e09\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c&&\u201d\u903b\u8f91\u4e0e\u8fd0\u7b97\u7b26\u3002
\u5341\u56db\u7ea7\u8fd0\u7b97\u7b26\uff1a\u201c || \u201d\u903b\u8f91\u6216\u8fd0\u7b97\u7b26\u3002
\u5341\u4e94\u7ea7\u8fd0\u7b97\u7b26\uff1a? :\u6761\u4ef6\u8fd0\u7b97\u7b26\u3002
\u6269\u5c55\u8d44\u6599
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\u2014\u2014C\u8bed\u8a00\u8fd0\u7b97\u7b26
\u903b\u8f91\u8fd0\u7b97\u7b26\u6709\u4e09\u79cd\uff0c\u5206\u522b\u4e3a&&\uff08\u4e0e\u8fd0\u7b97\uff09||\uff08\u6216\u8fd0\u7b97\uff09!\uff08\u975e\u8fd0\u7b97\uff09\uff0c\u4e09\u8005\u7684\u4f18\u5148\u7ea7\u987a\u5e8f\u4e3a!>&&>||\u3002
PS.
1\u3001\u4e0e\u8fd0\u7b97\u7b26(&&)\u548c\u6216\u8fd0\u7b97\u7b26(||)\u5747\u4e3a\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u5177\u6709\u5de6\u7ed3\u5408\u6027\u3002\u975e\u8fd0\u7b97\u7b26(!)\u4e3a\u5355\u76ee\u8fd0\u7b97\u7b26\uff0c\u5177\u6709\u53f3\u7ed3\u5408\u6027\u3002
2\u3001\u201c&&\u201d\u548c\u201c||\u201d\u4f18\u5148\u7ea7\u4f4e\u4e8e\u5173\u7cfb\u8fd0\u7b97\u7b26\uff0c\u201c!\u201d\u4f18\u5148\u7ea7\u9ad8\u4e8e\u7b97\u672f\u8fd0\u7b97\u7b26\u3002
1 逻辑与运算,符号为&&,形式为a&&b;
2 逻辑或运算,符号为||,形式为a||b;
3 逻辑非运算,符号为!,形式为!a。
当逻辑运算写在一起的时候,逻辑非!运算优先级最高,其次为逻辑与&&,最低为逻辑或||。
即先计算非,再计算与,最后计算或。
同类运算时,运算顺序为从左到右。
按先后顺序:!逻辑非运算符、&&逻辑与运算符、||逻辑或运算符、
c语言逻辑运算符有 !(非) > &&(与) > ||(或)
绛旓細閫昏緫杩愮畻鏈変笁绉嶏紝涓庢垨闈銆1 閫昏緫涓庤繍绠楋紝绗﹀彿涓&&锛屽舰寮忎负a&&b;2 閫昏緫鎴栬繍绠楋紝绗﹀彿涓簗|锛屽舰寮忎负a||b;3 閫昏緫闈炶繍绠楋紝绗﹀彿涓!锛屽舰寮忎负!a銆傚綋閫昏緫杩愮畻鍐欏湪涓璧风殑鏃跺欙紝閫昏緫闈!杩愮畻浼樺厛绾ф渶楂橈紝鍏舵涓洪昏緫涓&&锛屾渶浣庝负閫昏緫鎴東|銆傚嵆鍏堣绠楅潪锛屽啀璁$畻涓庯紝鏈鍚庤绠楁垨銆傚悓绫昏繍绠楁椂锛岃繍绠楅『搴忎负浠庡乏...
绛旓細C璇█鎻愪緵涓夌閫昏緫杩愮畻绗︼紝鎸変紭鍏堢骇楂樹綆瀹冧滑鍒嗗埆鏄細閫昏緫闈(!)锛岄昏緫涓(&&)銆侀昏緫鎴(||)銆傝繍绠楄鍒欙細&&锛氬綋涓斾粎褰撲袱涓繍绠楅噺鐨勫奸兘涓衡滅湡鈥濇椂锛岃繍绠缁撴灉涓衡滅湡鈥濓紝鍚﹀垯涓衡滃亣鈥濄倈| 锛氬綋涓斾粎褰撲袱涓繍绠楅噺鐨勫奸兘涓衡滃亣鈥濇椂锛岃繍绠楃粨鏋滀负鈥"鍋団濓紝鍚﹀垯涓衡滅湡鈥濄! 锛氬綋杩愮畻閲忕殑鍊间负鈥滅湡鈥...
绛旓細C璇█涓殑閫昏緫杩愮畻绗︼細&&锛堜笌杩愮畻锛夈亅|锛堟垨杩愮畻锛夈!锛堥潪杩愮畻锛銆備笌杩愮畻绗(&&)鍜屾垨杩愮畻绗(||)鍧囦负鍙岀洰杩愮畻绗︺傚叿鏈夊乏缁撳悎鎬с傞潪杩愮畻绗(!)涓哄崟鐩繍绠楃锛屽叿鏈夊彸缁撳悎鎬с傞昏緫杩愮畻绗﹀拰鍏跺畠杩愮畻绗︿紭鍏堢骇鐨勫叧绯诲彲琛ㄧず濡備笅锛氭湰鏉ユ病鏈夐敊璇紝鍏崇郴杩愮畻绗﹂兘鏄寜鈥滈潪涓庢垨鈥濋『搴忔潵杩愮畻鐨勩備絾鏄紝涓嶅悓鐨勭紪...
绛旓細1 銆绠楁湳杩愮畻绗 鐢ㄤ簬鍚勭被鏁板艰繍绠銆鍖呮嫭鍔(+)銆佸噺(-)銆佷箻(*)銆侀櫎(/)銆佹眰浣(鎴栫О妯¤繍绠楋紝%)銆佽嚜澧(++)銆佽嚜鍑(--)鍏变竷绉銆2銆佸叧绯昏繍绠楃 鐢ㄤ簬姣旇緝杩愮畻銆傚寘鎷ぇ浜(>)銆佸皬浜(<)銆佺瓑浜(==)銆 澶т簬绛変簬(>=)銆佸皬浜庣瓑浜(<=)鍜屼笉绛変簬(!=)鍏銆3銆侀昏緫杩愮畻绗 鐢ㄤ簬閫昏緫杩愮畻銆傚寘鎷笌(&&)...
绛旓細C璇█閫昏緫杩愮畻绗﹀垎鍒槸锛氭垨锛坾|锛夈佷笖锛&&锛夈侀潪锛!锛夛紝鍒嗗埆瀵瑰簲浜庡懡棰橀昏緫涓殑OR銆丄ND銆丯OT杩愮畻銆傞昏緫杩愮畻绗︼細鎴東|銆傚湪鍛介閫昏緫涓紝褰揚=1鎴朡=1鏃讹紝P||Q绛変簬1銆傞昏緫杩愮畻绗︼細涓&&銆傚湪鍛介閫昏緫涓紝褰揚=1涓擰=1鏃讹紝P&&Q鎵嶇瓑浜1銆傞昏緫杩愮畻绗︼細闈!銆傚湪鍛介閫昏緫涓紝褰揚绛変簬0鏃讹紝!P绛変簬1锛...
绛旓細C璇█涓殑涓庛佹垨銆侀潪鏄疌璇█鐨閫昏緫杩愮畻绗銆1銆侀昏緫涓 鍦–璇█涓昏緫涓庣敤&&琛ㄧず銆備妇渚嬶細a&&b锛堝叾涓璦銆乥閮戒唬琛ㄤ竴涓潯浠讹級濡傛灉a鍜宐閮戒负鐪燂紝鍒欑粨鏋滀负鐪燂紝濡傛灉a鍜宐涓湁涓涓潯浠朵负鍋囷紝鍒欑粨鏋滀负鍋囥2銆侀昏緫鎴 鍦–璇█涓昏緫鎴栫敤||琛ㄧず銆備妇渚嬶細a||b锛堝叾涓璦銆乥閮戒唬琛ㄤ竴涓潯浠讹級濡傛灉a鍜宐鏈変竴涓...
绛旓細1.&& 2.|| 3.!
绛旓細c璇█涓&&鏄竴绉嶅弻鐩繍绠楃锛岃〃绀轰笌杩愮畻锛鑰屽綋宸﹁竟鎵缁欒〃杈惧紡鎴栧彉閲忎负0鏃讹紝涓嶅啀璁$畻鍙充晶锛屾暣涓〃杈惧紡涓洪浂銆傗&&鈥濊〃绀轰笌锛屾剰涓哄悓鏃堕兘瑕佹弧瓒筹紝灞炰簬閫昏緫杩愮畻绗銆傞昏緫杩愮畻绗︽诲叡鏈3涓紝鍒嗗埆鏄"&&"銆"||"鍜"!"銆俛 && b锛屼竴鍋囧繀鍋囷紝缁撳悎鎬т粠宸﹁嚦鍙炽倈|鏄昏緫鎴栬繍绠楃锛宎 || b锛屼竴鐪熷繀鐪燂紝...
绛旓細鍦c璇█涓锛岄昏緫杩愮畻绗︽湁閫昏緫涓庛侀昏緫鎴栧拰閫昏緫闈炪傚叾涓昏緫涓庡氨鏄氬父鎵璇寸殑骞朵笖锛屽彧鏈夌鍙蜂袱杈圭殑琛ㄨ揪寮忓潎涓虹湡锛岀粨鏋滄墠鏄湡锛岀敤绗﹀彿&&琛ㄧず锛涢昏緫鎴栬〃绀烘垨鑰咃紝鍙绗﹀彿涓よ竟鏈変竴涓负鐪燂紝鏁翠釜琛ㄨ揪寮忓嵆涓虹湡锛岀敤绗﹀彿||琛ㄧず锛涜繕鏈変竴涓昏緫闈烇紝琛ㄧず瀵瑰彸杈硅〃杈惧紡鐨勭粨鏋滃彇鍙嶏紝鐢ㄧ鍙凤紒琛ㄧず銆
绛旓細c璇█涓殑鈥!鈥鏄昏緫杩愮畻涓殑闈炶繍绠椼傗!鈥鏄疌璇█涓殑闈杩愮畻绗︼紝鍦ㄥ彉閲忓墠闈娇鐢ㄥ畠锛屼細鏋勫缓闈炶繍绠楄〃杈惧紡锛岃〃杈惧紡鐨勮繑鍥炵粨鏋滄槸涓竷灏斿硷紙涔熷氨鏄彧鏈塼rue鎴杅alse锛夈傚鍙橀噺浣跨敤鏃讹紝濡傛灉鍙橀噺涓嶆槸甯冨皵鏁版嵁绫诲瀷锛屽皢浼氬己鍒惰浆鍖栦负甯冨皵绫诲瀷鍐嶄娇鐢紝濡傛暣褰㈠彉閲123灏嗚杞寲涓簍rue锛屾暣褰㈠彉閲0灏嗚杞寲涓篺alse銆