c 自學筆記day03

2021-08-18 11:47:36 字數 940 閱讀 8975

c++中的型別轉換

1、隱式型別轉換規則:

這種轉換常見於兩個不同型別的運算元進行運算的時候會發生。

(1) 如果運算元有浮點型別,則會轉換成浮點型別

例如:(int) + (float) ---> (float) + (float)

(int) + (double) ---> (double) + (double)

(2) 如果兩個運算元都是整型,但是級別不同,會進行整型提公升

當兩個運算元都是 有/無 符號型別的時候,將級別低的轉成級別高的型別    例如:(short) + (int) -----> (int) + (int)

當兩個運算元,乙個是有符號型別,另乙個是無符號型別,無符號型別的級別比有符號型別要高,那麼把有符號的型別轉成無符號型別

當兩個運算元,乙個是有符號型別,另乙個是無符號型別,無符號型別的級別比有符號低,且有符號可以容納無符號全部的值(位元組數更大),那麼把無符號轉成有符號型別。

否則,兩者轉成有符號的無符號型別。

2、函式引數的型別轉換:

當函式的實參型別比形參規定的型別要低就會進行整型提公升   例如:f(int i){}   short i = 1 ; f(i) 這個時候 i 會進行型別提公升到 int

同理 float ----->  double

3、強制型別轉換:

c語言中的強制型別轉換方式: (typename)value

c++中的強制型別轉換方式:typename(value)

c++中後續提供了4種更安全的型別轉換方式,其中一種是 static_cast()

4、auto關鍵字

c++重新定義了auto關鍵字,可以根據字面值的型別來決定變數的型別。  例如: auto a = 1.0f; 這個時候 a 會自動變成 float型別

auto設計出來是用於複雜的復合型別宣告之用的,這個在後續學習stl模板庫的時候,會再次提到。

C 學習筆記 day03

為準備複試上機而開始記筆記,僅記錄新知識點,昨天做的太少了,今天多做一點 include intstrtoint char str1 return result sign 不過oj可能會報錯說 strrev函式並未定義 既然如此,那就重寫一下字串反轉函式 void strrev char s str...

學習筆記day03

邏輯運算子 異或 符號兩邊結果相同,結果為false 符號兩邊結果不同,結果為true 面試題1,雙與 也叫短路運算,因為左側如果為假的話直接不判斷右側結果 與 c無論左邊結果運算是什麼,右邊都參與運算。2,雙或 和或 運算結果一樣,但是運算過程有點小區別。無論左邊運算結果是什麼,右邊都參與運算 當...

爬蟲學習筆記day03

3.寫 3.ssl證書認證 引數名 verify true false 1.verify true 預設,進行ssl證書認證 2.verify false 不做認證 4.urllib.request中handler處理器 1.定義 自定義的urlopen 方法,因為模組自帶的urlopen不支援 等...