day04 邏輯操作符

2021-08-02 20:26:52 字數 3228 閱讀 5289

把二進位制數字從右向左每三個數字分成一組,

每組用乙個0到7之間的數字替換,這個

替換結果叫做八進位制表示方式

0110 1011     01 101 011    153(八進位制)

可以在程式中直接使用八進位制方式表示數字,

這個時候數字必須以0做開頭

在printf函式呼叫語句裡使用%o做佔位符可以把

數字的八進位制表示方式顯示在螢幕上

把二進位制數字從右向左每四個數字分成一組,

每組用乙個字元替換(用a到f之間的字母

替換10到15之間的數字),這個替換結果

叫做數字的十六進製制表示方式

1100 1011           cb(十六進製制)

可以在程式中直接用十六進製制方式表示數字,

這個時候數字必須以0x做開頭

可以使用%x或%x做佔位符把數字的十六進製制

方式顯示在螢幕上

顯示結果裡不包含0x開頭

用%x做佔位符的時候顯示結果裡所有字元都是

小寫的用%x做佔位符的時候顯示結果裡所有字元都是

大寫的操作符用來表示對數字的處理規則

根據操作符所需要配合的數字個數把操作符分成

單目操作符,雙目操作符和三目操作符

加減乘除(+,-,*,/)都是雙目操作符

如果參與除法計算的兩個數字都是整數則計算

結果保留整數部分

c語言裡用%表示取餘操作

賦值操作符用=表示

賦值語句可以當作數字使用,這個數字就是賦值

結束後儲存區里的內容

可以在一條語句裡使用多個賦值操作符,這個

時候優先計算右邊的操作符

絕大多數雙目操作符可以和賦值操作符合併

成復合賦值操作符,例如+=,*=等

復合賦值操作符會把雙目操作符的計算結果記錄

到左邊的儲存區里

復合賦值操作符的優先順序和賦值操作符的優先順序

一樣低自增操作符(++)和自減操作符(--)都是單目

操作符它們都只能和儲存區配合使用,它們可以把

儲存區的內容加一或者減一

它們各自有兩種使用方法,一種是前操作

(操作符寫在儲存區前面),另外一種

是後操作(操作符寫在儲存區後面)

使用自增(自減)操作符編寫的表示式也可以

當作數字使用,前操作當作數字使用的時候

是修改後的數字,後操作當數字使用的時候

是修改前的數字

不要在一條語句裡對同乙個變數多次進行自增

或自減計算,因為結果不確定

邏輯操作符用來編寫邏輯表示式

邏輯表示式的計算結果只能是布林值

!是乙個單目邏輯操作符,它可以根據乙個布林值

計算出相反的布林值

它代表的操作叫做求反

雙目邏輯操作符包括==(等於),!=(不等於),

>(大於),<(小於),>=(大於等於)和

<=(小於等於)

最多隻包含乙個雙目邏輯操作符的表示式

叫簡單邏輯表示式,簡單邏輯表示式

在數學裡和計算機裡的結果一定一樣

c語言裡包含多個雙目邏輯操作符的表示式

必須首先拆分成多個簡單邏輯表示式

然後再合併

可以採用與(&&)和或(||)這兩個雙目邏輯

操作符把兩個邏輯表示式合併

只要兩個邏輯表示式裡有乙個的結果是假則

用與(&&)合併後結果就是假

只要兩個邏輯表示式裡有乙個的結果是真則

用或(||)合併後結果就是真

與(&&)和或(||)都具有短路特徵(如果前乙個

邏輯表示式的結果能決定整個邏輯表示式

的結果則後乙個邏輯表示式不計算)

位操作符可以直接操作二進位制數字

~是乙個單目位操作符

這個符號可以根據乙個數字計算處另外乙個

數字,這兩個數字所有二進位制數字的

內容都不一樣

它所代表的操作叫按位求反

雙目位操作符包括按位與(&),按位或(|)和

按位異或(^)

它們都可以把兩個數字對應數字上的內容做

計算按位與可以把對應數字的內容做與計算

只要乙個數字的內容是0則計算結果就是0

3       0000 0011

&   5       0000 0101

0000 0001

按位或可以把兩個數字對應數字的內容做或計算

只要有乙個數字的內容是1則計算結果就是1

3       0000 0011

|   5       0000 0101

0000 0111

按位異或可以把兩個數字對應數字的內容做

異或計算

如果兩個數字的內容一樣則結果是0,否則

結果是1

3       0000 0011

^   5       0000 0101

0000 0110

移位操作可以把乙個數字裡的所有二進位制數字

內容統一向左或向右移動n個位置

>>表示向右移位操作

《表示向左移位操作

它們都是雙目位操作符

操作符左邊的數字是將要進行移位操作的數字

操作符右邊的數字是將要移動的位數

移位操作相當於把數字中每個二進位制數字的內容

換乙個數字放

左移的時候右邊空出來的位置上一定填充0

無符號型別數字右移的時候左邊空出來的位置上

一定填充0,有符號型別數字右移的時候

左邊空出來的位置上填充符號位內容

一般情況下把數字左移n位相當於乘以2的

n次方,右移n位相當於除以2的n次方

位操作符不會修改任何現有儲存區的內容

&也可以作為單目操作符使用,這個時候

它可以用來計算乙個儲存區的位址

使用的時候這個符號應該寫在乙個儲存區的前面

可以使用%p做佔位符把位址資料顯示在螢幕上

我們的計算機裡所有位址都是由32個二進位制

數字構成的

*也可以作為單目操作符使用,這個時候

它可以根據乙個位址找到對應的儲存區

使用的時候要寫在乙個位址前面

三目操作符可以從兩個計算規則裡選擇乙個

進行計算

三目操作符的格式如下

布林值 ? 公式一 : 公式二

如果布林值為真就用公式一進行計算,否則

用公式二進行計算

不要在問號後面使用賦值操作符

預習:1.型別轉換

2.分支(if分支和switch...case分支)

3.for迴圈

邏輯操作符

邏輯操作符 與 或 非 邏輯與 只有兩個條件同時滿足的時候才會返回true,兩個條件都是假的返回的結果是false 即 一假即假 當邏輯語操作不是布林值的時候,返回值就不一定是布林值,可分為以下幾種情況 1 當第乙個運算元據是物件時,返回第二個運算元據的值。2 當第二個運算元據為物件時,如果第乙個運...

邏輯操作符

邏輯操作符 只要有乙個條件不成立,返回false 說明 在有乙個運算元不是布林值的情況,邏輯與操作就不一定返回值,此時它遵循下列規則 1 如果第乙個運算元隱士型別轉換後為true,則返回第二個運算元。說明 規則是兩個運算元的情況。例子 console.log 80 50 返回結果 50 2 如果第乙...

關係操作符和邏輯操作符

關係操作符和邏輯操作符使用算術或指標型別的運算元,並返回bool 型別的值。操作符功能用法 logical not 邏輯非 expr less than 小於 expr expr less than or equal 小於等於 expr expr greater than 大於 expr expr ...