C语言的逻辑运算符有点难理解!?

一、逻辑运算符:
包括:1。&&逻辑与
2。||逻辑或
3。!逻辑非
逻辑运算符用于对包含关系运算符的表达式进行合并或取非
对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释
请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成=
=是错误的。
假设一个程序在同时满足条件a<10和b==7时,必须执行某些操作。应使用关系运算符和逻辑运算符“与”来写这个
条件的代码。用&&表示“与”运算符,该条件代码如下:
(a<10)
&&
(b==7);
类似地,“或”是用于检查两个条件中是否有一个为真的运算符。它由两个连续的管道符号(||)表示。如果上例
改为:如果任一语句为真,则程序需执行某些操作,则条件代码如下:
(a<10)
||
(b==7);
第三个逻辑运算符“非”用一个感叹号(!)表示。这个运算符对表达式的真值取反。例如,如果变量s小于10,程序
程序需执行某些操作,则条件代码如下:
(s<10)

(!(s>=10))
//s不大于等于10
关系运算符和逻辑运算符的优先级一般都低于算术运算符。例如,5>4+3的计算与5>(4+3)运算符是一样的,即
先计算4+3,再执行关系运算。此表达示的结果为“假”,即,将返回0。
下面的语句
printf("%d",5>4+3);
将输出
0
可以总结为:&&的结果是真真为真。||的结果是假假为假。
二、位运算符:
包括:1。&位与符
2。|位或符
3。^位异或符
4。~位取反符
以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值
可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。
位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。例如:
表达式10&15表示(1010
&
1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1
表达式10|15表示(1010
|
1111),它将返回表示1111的值15。假假得假。全零得零。
表达式10^15表示(1010
^
1111),
它将返回表示0101的值5。此时是同性相斥,相同的就为假。
表达式~10表示(~1010),它将返回表示0101的值
-11。此号好理解,按位取反

"&"和"|"是位运算符
比如:
二进制数0110&0101
结果就是0100
二进制数0110|0101
结果就是0111
如果不是二进制数,内部运算的时候也是转化为二进制数进行的
"&&"和"||"是逻辑运算符
表达式1
&&
表达式2
先计算表达式1的值,若为真(即不为0)则接着计算表达式2的值,之后两个表达式的结果做与运算,即都是真才为真,否则为假;
这里要说下,表达式1若为假,则表达式2不进行运算,表达式1
&&
表达式2
的结果直接为假。
表达式1
||
表达式2
先计算表达式1的值,若为假(即不为0)则接着计算表达式2的值,之后两个表达式的结果做或运算,即都是假才为假,否则有一个真就为真;
这里要说下,表达式1若为真,则表达式2不进行运算,表达式1
||
表达式2
的结果直接为真。

  • 濡備綍鐞嗚ВC璇█涓殑杩愮畻绗
    绛旓細锛堢粨鏋勪綋銆佺被銆佸叡鍚屼綋绛夛級鍙栨垚鍛杩愮畻绗锛屼緥濡傦紝p-> 鐩稿綋浜庯細(*p).p涓瀹氭槸涓涓寚閽堢被鍨嬨備妇涓緥瀛愯鍚э細struct Student { char Name[20];int Age;};浣犲畾涔変釜鏁版嵁锛歴truct Student *p;閭d箞锛屼綘灏卞彲浠ヨ繖涓彇瀹冪殑鎴愬憳浜嗭細(*p).Name (*p).Age 杩欎釜绛変簬濡備笅鐨勫啓娉曪細p->Name p->Age 搴旇娓呮浜...
  • 鍦C璇█涓,閫昏緫涓庛侀昏緫鎴栧拰閫昏緫闈炴湁浠涔堝尯鍒?
    绛旓細鍦C璇█涓锛岄昏緫涓庯紙&&锛夈侀昏緫鎴栵紙||锛夊拰閫昏緫闈(!)鏄笁绉嶅熀鏈鐨勯昏緫杩愮畻绗銆傚畠浠垎鍒敤浜庤繛鎺ュ竷灏旇〃杈惧紡骞跺垽鏂畠浠殑鐪熷亣銆傞昏緫涓庯紙&&锛夛細閫昏緫涓庤繛鎺ヤ袱涓竷灏旇〃杈惧紡锛屽彧鏈夊綋涓や釜琛ㄨ揪寮忕殑鍊奸兘鏄湡鏃讹紝鏁翠釜琛ㄨ揪寮忕殑鍊兼墠鏄湡銆傚惁鍒欙紝鏁翠釜琛ㄨ揪寮忕殑鍊煎氨鏄亣銆備緥濡傦細閫昏緫鎴栵紙||锛夛細閫昏緫鎴栬繛鎺ヤ袱涓竷灏...
  • C璇█閲岄潰閫昏緫杩愮畻绗鐨勯棶棰
    绛旓細|| && 鏄閫昏緫杩愮畻绗 閫昏緫杩愮畻鍙湁涓や釜鍊煎嵆鐪熸垨鑰呭亣 鍦C璇█閲岋紝鍙鏄潪闆剁殑鍊奸兘涓虹湡锛0鍒欎负鍋囥1&&2 鍗崇劧浣犵煡閬&&鏄笖鐨勬剰鎬濆氨涓闅剧悊瑙鍛锛1&&2鏄昏緫杩愮畻杩欎釜琛ㄨ揪寮忔渶鍚庣殑缁撴灉鍙湁涓や釜鍊 鍗崇湡鎴栬呭亣锛1涓虹湡锛2涔熶负鐪燂紝鑲畾鏈鍚庣粨鏋 1&&2 涓虹湡銆1||2 鍚岀悊 ...
  • 濡備綍鐞嗚ВC璇█涓殑鍏抽敭瀛楀拰杩愮畻绗?
    绛旓細3銆閫昏緫杩愮畻绗:!閫昏緫闈炪&&閫昏緫涓庛亅閫昏緫鎴栥4銆佽祴鍊艰繍绠楃:= 灏嗙瓑鍙峰彸杈圭殑鏁版嵁璧嬪肩粰绛夊彿宸﹁竟銆5銆佸涓鍜屽噺涓杩愮畻绗: ++澧炰竴銆 --鍑忎竴銆4銆佸垎闅旂 鍐欐枃绔犱负浜嗕笉浜х敓姝т箟锛屾垜浠細鍦ㄩ傚綋鐨勪綅缃鍔犳爣鐐圭鍙凤紝鐢ㄦ潵鍖哄垎銆傝屽啓C璇█绋嬪簭锛屽氨浼氱敤鍒嗛殧绗︽潵鍖哄垎銆備緥濡:灏忔槑鏍¢暱鎵句綘銆傚拰灏忔槑锛屾牎闀挎壘浣...
  • C璇█涓殑閫昏緫涓杩愮畻绗鏄"&"杩樻槸" or"??
    绛旓細C璇█涓殑閫昏緫涓杩愮畻绗锛圓ND锛夌鍙锋槸"&"銆傚湪C璇█涓紝閫昏緫涓庤繍绠楃"&"鐢ㄤ簬鍒ゆ柇涓や釜鏉′欢鏄惁鍚屾椂婊¤冻銆傚鏋滀袱涓搷浣滄暟閮戒负鐪燂紙闈為浂锛夛紝鍒欑粨鏋滀负鐪燂紙闈為浂锛夛紝鍚﹀垯缁撴灉涓哄亣锛堥浂锛夈備緥濡傦紝浠ヤ笅浠g爜灏嗘墦鍗"Both true"锛屽洜涓虹涓涓拰绗簩涓潯浠堕兘涓虹湡锛歩nt a = 1; int b = 2; if (a & b)...
  • C璇█涓寰闅剧悊瑙鐨勯儴鍒
    绛旓細棣栧厛搴旇鏄庣櫧锛屼綅杩愮畻鏄寚瀵逛簩杩涘埗浣嶈繘琛岀殑杩愮畻锛堣█涓嬩箣鎰忔槸瑕佸鍏朵粬杩涘埗鏁颁笌浜岃繘鍒舵暟鐨勮浆鎹㈢啛缁冩帉鎻℃墠鑳芥洿濂鐨勭悊瑙锛夛紝杩愮畻瀵硅薄鍙兘鏄暣鍨嬫暟鎴栧瓧绗﹀瀷鏁版嵁鑰岄潪鍏朵粬銆備綅杩愮畻缁撴灉涓烘暣鍨嬫暟鎹備笅闈㈡槸鍚勪綅杩愮畻绗鐨勪粙缁嶏細1銆&锛屾槸鎸囧弬涓庤繍绠楃殑涓ゆ暟瀵瑰簲浣嶇浉涓庯紝涔熷氨鏄搴斾綅閮芥槸1锛屽垯璇ヤ綅缁撴灉涓1锛屽惁鍒欎负...
  • 浠涔堟槸C璇█涓殑閫昏緫杩愮畻绗?
    绛旓細鍦C璇█涓锛岄昏緫杩愮畻绗︾敤浜庡甯冨皵锛坱rue鎴杅alse锛夎繘琛岄昏緫鎿嶄綔銆傚父瑙鐨勯昏緫杩愮畻绗鍖呮嫭锛1. 閫昏緫涓庯紙AND锛夛細鐢ㄧ鍙 "&&" 琛ㄧず銆傚綋涓や釜鎿嶄綔鏁伴兘涓虹湡鏃讹紝缁撴灉涓虹湡锛屽惁鍒欎负鍋囥2. 閫昏緫鎴栵紙OR锛夛細鐢ㄧ鍙 "||" 琛ㄧず銆傚綋涓や釜鎿嶄綔鏁颁腑鑷冲皯鏈変竴涓负鐪熸椂锛岀粨鏋滀负鐪熴3. 閫昏緫闈烇紙NOT锛夛細鐢ㄧ鍙 "!"...
  • 涓轰粈涔C璇█涓&&鏄閫昏緫杩愮畻绗?
    绛旓細c璇█涓&&鏄竴绉嶅弻鐩繍绠楃锛岃〃绀轰笌杩愮畻锛岃屽綋宸﹁竟鎵缁欒〃杈惧紡鎴栧彉閲忎负0鏃讹紝涓嶅啀璁$畻鍙充晶锛屾暣涓〃杈惧紡涓洪浂銆傗&&鈥濊〃绀轰笌锛屾剰涓哄悓鏃堕兘瑕佹弧瓒筹紝灞炰簬閫昏緫杩愮畻绗銆傞昏緫杩愮畻绗︽诲叡鏈3涓紝鍒嗗埆鏄"&&"銆"||"鍜"!"銆俛 && b锛屼竴鍋囧繀鍋囷紝缁撳悎鎬т粠宸﹁嚦鍙炽倈|鏄昏緫鎴栬繍绠楃锛宎 || b锛屼竴鐪熷繀鐪燂紝...
  • C璇█涓:&&鍜寍|绗﹀彿鏄粈涔堟剰鎬?
    绛旓細鈥&&鈥濊〃绀 涓庯紝鎰忎负鍚屾椂閮借婊¤冻銆傗渱|鈥濊〃绀 鎴栵紝鎰忎负浜岃呮垨澶氱潃鍙婊¤冻鍏朵腑涓涓傚湪C璇█涓锛&&鍜寍|閮藉睘浜閫昏緫杩愮畻绗锛屽苟涓旈兘鏄弻鐩繍绠楃銆傞昏緫杩愮畻绗︽诲叡鏈3涓紝鍒嗗埆鏄"&&"銆"||"鍜"!"銆俛 && b锛屼竴鍋囧繀鍋囷紝缁撳悎鎬т粠宸﹁嚦鍙炽倈|鏄昏緫鎴栬繍绠楃锛宎 || b锛屼竴鐪熷繀鐪燂紝缁撳悎鎬т粠宸...
  • C璇█涓殑閫昏緫杩愮畻绗鍜屽叧绯昏繍绠楃鏄庢牱鎻忚堪鐨?
    绛旓細1銆C璇█涓鐢閫昏緫杩愮畻绗鏉ユ弿杩版垨銆佷笖銆侀潪鐨勫叧绯伙紝闂涓殑鎴栬繍绠楋紝閫氳繃||杩愮畻绗︽潵琛ㄧず銆2銆丆璇█涓叧绯昏繍绠楃鏉ユ弿杩板彉閲忕殑澶у皬鍏崇郴锛岄渶瑕佹敞鎰忛棶棰樹腑鐨勫ぇ浜庣瓑浜庡拰灏忎簬绛変簬锛孋璇█閫氳繃>=鍜<=涓や釜杩愮畻绗︽潵鎻忚堪锛岃屽苟涓嶅儚闂涓殑绗﹀彿琛ㄧず銆3銆佹渶缁堬紝鐢–璇█鎻忚堪鐨勮〃杈惧紡涓:a>=10 || a<=0 ...
  • 扩展阅读:扫一扫题目出答案 ... c++中<< ... c++和java哪个好就业 ... 逻辑运算符有哪三种 ... c++运算符大全 ... 4种运算符优先级顺序 ... c#一般用来开发什么 ... c#工资为什么低 ... c语言表示逻辑量的方法 ...

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