0、補充知識:
- 原碼、反碼、補碼的知識:
- 計算機中原碼轉補碼,正數不變,負數是符號位不變,其余各位取反碼加一。
- 負數的補碼轉原碼應該是補碼減一然后再取反,為什么負數的補碼轉原碼是補碼取反然后再加一?答:這就是用補碼的好處,保持了轉化時硬件的一致性。
- 計算機中是先把原碼轉換成補碼運算完之后再把補碼轉成原碼輸出的嗎?答:計算機中是直接使用補碼進行所有算術運算,僅在需要顯示或輸出結果時,才將補碼轉換回原碼(或用戶可理解的格式)。
- 左值(有存儲地址的值)
- 一般出現在賦值運算符的左邊的內容,標識了可以存儲結果值的地點。
- 程序編譯的時候,編譯器會為每一個變量分配一個確定地址(左值),這個地址是在編譯程序的時候直接是可知的。
- 左值是可以取地址的。
- 右值(無存儲地址的值)
- 一般是出現在賦值運算符的右邊,必須是一個特定的值。
- 與左值是相反的,變量中存儲的那個值(右值),只有在程序運行的時候才能知道它的值。
- 一般右值指的是一個具體的數字,或者常量,它在內存中并沒有一個具體的位置(地址),但它仍然是存儲在內存中的。
注意:左值可以出現在賦值符號左邊或右邊,右值可以出現在賦值符號右邊。
1、數據類型轉換:
-
隱式類型轉化(例如:一個整型數據和一個浮點型數據進行運算,結果就自然被轉換為了浮點型)
將低等級的數據類型轉化為高等級的數據類型進行計算,數據類型由低到高:int、unsigned int、long、unsigned long、long long、unsigned long long、float、double。 -
強制類型轉化
(類型說明符)(表達式):如果表達式比較復雜,可以加括號增加可讀性。
(類型說明符)表達式:如果只是簡單轉化,可以不給表達式加括號,同樣可以生效
2、選擇結構:
- if-else if -else 結構
else 和 else if是可以省略的,不一定都要使用,根據場景決定即可 - switch結構
如果進行判等的操作時,一般情況都是采用switch case,結構會更加明確。 - 三目運算符也是一種條件結構:語句?滿足語句:不滿足語句;
總結:
- 計算機當中一直是以補碼的形式運算的,原碼和補碼之間的轉換還得經過一個反碼。
- 條件結構中,switch一般是用于判等的,且switch后面只能跟整型數值,大部分情況都是采用if。