=!

c語言中i=!a的意思是將a取非的值賦值給i。
!作為單目運算符的意思是取非,如!真=假,!假=真。C語言中一般情況下0表示假,非0表示真。
另外值得注意的是=,==和!=的區別,=是賦值運算符,即把=右側表達式的值賦值給左側的變量;==是邏輯等于運算符,當兩側的表達式的值相等時返回真,否則返回假;!=是邏輯不等于運算符,當兩則表達式的值不相等時返回真,否則返回假。

ps:

單目運算符

單目運算符是運算所需變量為一個的運算符,又叫一元運算符。
邏輯非運算符【!】、按位取反運算符【~】、自增自減運算符【++, --】、負號運算符【-】、類型轉換運算符【(類型)】、指針運算符和取地址運算符【和&】、長度運算符【sizeof】
運算所需變量為兩個的運算符叫做雙目運算符,例如+,-,
,/,%,<,>,>=,<=,==,!=,<<,>>,&,^,|,&&,||,=
運算所需變量為三個的運算符叫做三目運算符,只有條件表達式【?:】

衍生:
單目,一個運算數 i++, i--, !a, ~a
雙目,兩個運算數 a+b a-b a*b
三目,三個運算數 bc=a?b:c; (if(a) bc =b;else bc =c;)
看一下運算符優先級表就知道了,會列出所有運算符,并標明單目,雙目,三目

單(一)、二、三 是指參與運算的對象(變量)的數量,例如:
++、--都是單目操作符,因為它們只要求一個變量。
+、*、/都是雙目操作符,因為它們是對兩個變量進行運算。
? : (條件操作符)三目運算符。

賦值運算符:
分類編輯

基本的賦值運算符是“=”。他的優先級別低于其他的運算符,所以對該運算符往往最后讀取。

簡單的最常用的=運算符
一開始可能會以為它是“等于”,其實不是的。它的作用是將一個表達式的值賦給一個左值。一個表達式或者是一個左值,或者是一個右值。所謂左值是指一個能用于賦值運算左邊的表達式。左值必須能夠被修改,不能是常量。我們現在是用變量作左值,以后還可以看到,指針和引用也可以作左值。例如:
int a, b, c;
a=3;
b=4;
c = ( a + b )(2a - b) // 得出14
php賦值運算符
基本的賦值運算符是“=”。一開始可能會以為它是“等于”,其實不是的。它實際上意味著把右邊表達式的值賦給左邊的運算數。
賦值運算表達式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。這樣就可以做一些小技巧: <?php
$a = ($b = 4) + 5; // $a 現在成了 9,而 $b 成了 4。
?>
在基本賦值運算符之外,還有適合于所有二元算術和字符串運算符的“組和運算符”,這樣可以在一個表達式中使用它的值并把表達式的結果賦給它,例如: <?php
$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
?>
注意賦值運算將原變量的值拷貝到新變量中(傳值賦值),所以改變其中一個并不影響另一個。這也適合于在很密集的循環中拷貝一些值例如大數組。自 php 4 起支持引用賦值,用 $var = &$othervar; 語法,但在 php 3 中不可能這樣做。引用賦值意味著兩個變量都指向同一個數據,沒有任何數據的拷貝。有關引用的更多信息見引用的說明。
復合的賦值運算符
復合的賦值運算符,又稱為帶有運算的賦值運算符,也叫賦值縮寫。
例如:i=i+j;可表示為 i+=j;這里+=是復合賦值運算符。
同樣的共有10種這樣的運算符,它們是:
+= 加賦值
-= 減賦值
*= 乘賦值
/= 除賦值
%= 求余賦值
&= 按位與賦值
| = 按位或賦值
^= 按位異或賦值
<<= 左移位賦值

= 右移位賦值
<> 當右操作數又是一個賦值表達式時,形成多重賦值表達式。例如:
i=j=0; //結果i、j的值都為0
構成復合賦值表達式的一般形式
變量 雙目運算符=表達式
它等效于
變量=變量 運算符 表達式
例如:
a+=5 等價于a=a+5
x=y+7 等價于x=x(y+7)
r%=p 等價于r=r%p
賦值運算符的運用編輯
基本信息
運算符
實例
等價于
=
n=25
+=
n += 25
n=n+25
-=
n -= 25
n=n-25
=
n = 25
n=n
25
/=
n /= 25
n=n/25
%=
n %= 25
n=n%25
<<=
n <<= 25
n=n<<25
=
n >>= 25
n=n>>25
&=
n &= OxF2F2
n=n&OxF2F2
^=
n ^= OxF2F2
n=n ^ OxF2F2
|=
n |= OxF2F2
n=n | OxF2F2
1.= 賦值運算符
變量=表達式 如:a=3;將a的值賦為3
2./= 除后賦值
變量/=表達式 如:a/=3;即a=a/3
3.
= 乘后賦值
變量=表達式 如:a=3;即a=a*3
4.%= 取模后賦值
變量%=表達式 如:a%=3;即a=a%3
5.+= 加后賦值
變量+=表達式 如:a+=3;即a=a+3

6.-= 減后賦值
變量-=表達式 如:a-=3;即a=a-3
7.<<= 左移后賦值
變量<<=表達式 左移就是將<<左邊的數的二進制各位全部左移若干位,<<右邊的數指定移動位數,高位丟棄,低位補0, 移幾位就相當于乘以2的幾次方
8.>>= 右移后賦值
變量>>=表達式 右移運算符是用來將一個數的各二進制位右移若干位,移動的位數由右操作數指定(右操作數必須是非負值),移到右端的低位被舍棄,對于無符號數,高位補0。對于有符號數,某些機器將對左邊空出的部分用符號位填補(即“算術移位”),而另一些機器則對左邊空出的部分用0填補(即“邏輯移位”)。注意:對無符號數,右移時左邊高位移入0;對于有符號的值,如果原來符號位為0(該數為正),則左邊也是移入0。如果符號位原來為1(即負數),則左邊移入0還是1,要取決于所用的計算機系統。有的系統移入0,有的系統移入1。移入0的稱為“邏輯移位”,即簡單移位;移入1的稱為“算術移位”。
9.&= 按位與后賦值
變量&=表達式 按位與是指:參加運算的兩個數據,按二進制位進行“與”運算。如果兩個相應的二進制位都為1,則該位的結果值為1;否則為0。這里的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上“與”的運算規則一致。邏輯上的“與”,要求運算數全真,結果才為真。若,A=true,B=true,則A∩B=true

  1. ^= 按位異或后賦值
    變量^=表達式 參與運算的兩個量按照對應的位進行異或運算,且
    0^0→0, 0^1→1, 1^0→1, 1^1→0
    此外,一個數與0異或仍保持不變,即a^0=a
    一個數與自己異或結果為0,即a^a=0
    11.|= 按位或后賦值
    變量|=表達式 參與運算的兩個量按照對應位進行或運算,且0|0→0, 0|1→1, 1|0→1, 1|1→1
    注意
  2. 多重賦值表達式不能出現在變量說明中。例如:
    int i=j=0;
    是非法的。
    例:有變量說明
    int a=2,b;
    指出下面表達式運算后a和b的結果。
    b+=b=++a;
    答:a為3,b為6。
    <> 有時將賦值運算與比較運算結合在一起形成嵌入賦值。例如:
    while ((ch=getchar())!='\n');
    這條語句的含義是:等待用戶按下回車鍵后程序向下執行。
  3. x = y+8等價于x=x(y+8),不等價于 x = x*y+8。
    同樣:z &= y-x等價于z = z & (y-x),而不等價于z = z &y -x。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,517評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,087評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,521評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,493評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,207評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,603評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,624評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,813評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,364評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,110評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,305評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,874評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,532評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,953評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,209評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,033評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,268評論 2 375

推薦閱讀更多精彩內容

  • 《裕語言》速成開發手冊3.0 官方用戶交流:iApp開發交流(1) 239547050iApp開發交流(2) 10...
    葉染柒丶閱讀 27,476評論 5 19
  • 指針是C語言中廣泛使用的一種數據類型。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數據結構; ...
    朱森閱讀 3,464評論 3 44
  • 陳陣和楊克打算去掏狼崽。大概是在草原呆久了,知青對狼的認識也越發的深起來,膽子越來越大,想要做一些像蒙古人做的事,...
    煎魚炒肉閱讀 909評論 0 0
  • 最大領導力學習課程 取勝是內心的事情 約翰.麥克斯韋爾博士 取勝的第一守則:不要打擊自己...
    一個不安的訪客閱讀 824評論 0 0