表示式:表示式是由非賦值運算子或特殊運算子和值組成的,每個表示式都可以計算出乙個值
基本的運算子有+,-,*,/,%
我相信你除了%
應該能看得懂
%
運算是求餘數的運算,具體請看:這篇文章的part 0部分
怎麼用呢?舉例介紹:
int a=1,b=2;
a+b;//3
a-b;//-2
a*b;//2
a/b;//1/2
b%a;//0
關係運算子描述幾個量之間的關係,他們是:==,!=,>,=,<=
解釋一下:==
即=
,!=
即≠
,>=
即≥
,<=
即≤
邏輯運算子主要用於判斷
當中,他們包括:&&,||,!
接下來請記住概念:
只要a,b有乙個為假,a&&b即為假請注意!真假在bool型別中只能為1和0,但是對於其他變數,只要不為0即為真只要a,b有乙個為真,a||b即為真
如果a為真,則!a為假;如果a為假,!a則為真
這些運算子是最難懂的運算子,因為他們針對的是二進位制的。他們是:&,|,^,<>,~
若a,b的二進位制的同一位上為0,則a&b中,這一位為0接下來的運算,是針對乙個數的二進位制進行操作:若a,b的二進位制的同一位上為1,則a|b中,這一位為1
^和&為互逆的運算
~a表示把a的每一位取反(0改為1,1改為0)
上面的三個運算子會針對乙個數的二進位制的每一位單獨操作,假設a的二進位制有4位,則若a參與&運算,&要判斷4個位上的數,最後把四次的結果組合為乙個新的數字,舉個例子:
假設a=1100,b=0011(二進位制),求a&b
第1次:a的第一位1和b的第一位0運算:1 & 0 = 0
第2次:a的第一位0和b的第一位1運算:0 & 1 = 0
第3次:a的第一位1和b的第一位0運算:1 & 0 = 0
第4次:a的第一位0和b的第一位1運算:0 & 1 = 0
組合結果,a&b=0000(二進位制)
a>>b表示,把a的每一位向右移動b次,溢位的數字捨去,空缺的位用0補全特殊運算子並不是用來計算的,他們包括:a舉個例子:假設a=1111(二進位制):
由於非賦值運算子並不會改變值,如果你想a加一,你要寫a = a+1
有了賦值運算子,就簡單的多了!
除了邏輯運算子,上面談到的非賦值運算子字尾
=
即為賦值運算子了:=> >>=
<< => <<=
~ => ~=
sizeof(),&,*,?:
sizeof(a)
用來返回變數a所佔的位元組大小
&,*
為指標運算子,此時他們左邊沒有數值,&p
來返回乙個變數p在計算機內儲存的位址,*p
返回指標p指向的位址所儲存的值
a?x:y
中,a是乙個表示式,如果表示式為真,則a?x:y
的值為x
;否則,a?x:y
的值為y
C語言 運算子與 運算子
我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...
C語言 運算子和 運算子
變數 代表 取變數的位址 變數 代表 指標型的變數 取址運算子 用來取得其運算元的位址。如果運算元 x 的型別為 t,則表示式 x 的型別是 t 型別指標 指向 t 的指標 取址運算子的運算元必須是在記憶體中可定址到的位址。換句話說,該運算子只能用於函式或物件 例如左值 而不可以用於位欄位,以及那些...
(運算子) 運算子
運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...