char型別
const限定符
浮點數c++算術運算子
auto宣告
當需要切換輸出八進位制、十進位制和十六進製制整數時,可以通過控制符oct
、dec
、hex
來進行控制:
cout << hex;
cout <<
0x42
;cout << oct;
cout <<
042;
cout << dec;
cout <<
42;
這三個控制符只是修改了整數顯示方式,並不會顯示在列印介面中。
如果使用using name space std;
宣告命名空間,則不能再將上面三個控制符作為變數名,但是如果省略,而是用std::hex
這種方式來修改輸出方式,則可以用作變數名。
型別沒有字尾時,採用能夠儲存此整型常量的最小型別。
也可以通過字尾控制儲存方式:
字尾型別
uunsigned int
llong
ulunsigned long
ullunsigned long long
字尾可以採用任何一種順序,大寫小寫均可。
長度十六進製制有些特殊,通常十六進製制採用無符號型別,因為十六進製制通常用來表示記憶體位址,記憶體位址是沒有符號的。
char
型別本身很簡單,區分為常規字元和轉義字元,在c語言和c++早期版本中,字元常量被視作int
型別,存放在16位或32位單元中,當進行char ch = 'm'
操作時,將整型常量m
中的低8位存放到ch
中。
因此cout
保留了成員函式put
,可以通過cout.put('$')
來輸出乙個整型常量為字元。
但是後來c++將字元常量儲存為char
,put
方法也不是必要的了。
可以基於字元的八進位制和十六進製制編碼來使用轉義字元。
比如ctr+z
的ascii碼為26,對應八進位制編碼為032,對應十六進製制編碼為x1a,則可以用\032
和\xla
來表示。
signed char和unsigned char
預設情況下char
可能沒有符號,也可能有符號,由c++實現決定。
可以通過signed char
和unsigned char
顯式宣告。
wchar_t
當處理的字符集無法用8位位元組表示時,可以使用wchar_t
擴充套件字符集來表示。
wchar_t
型別是一種整數型別,由於cin
和cout
使用的是char
流,想要處理wchar_t
型別可以使用wcin
和wcout
來完成。
wchar_t
有乙個底層型別,底層型別即基於某個基本型別,它的長度取決於實現。
char16_t和char32_t
wchar_t
隨實現的不同長度不同,為了解決這個問題,引入了新的型別char16_t
和char32_t
。
前者字元常量或字串常量使用u
字首標識:u'c'
。
後者字元常量或字串常量使用u
字首標識:u'c'
。
const
限定符用於處理常量,以const
限定的變數僅唯一表示初始化時的值,此後不能對其進行修改。
const
相比於#define
,const
有很多好處:
浮點數表示的範圍要比整型大得多,但是運算速度和精度都會相應降低。
浮點數常量預設情況下儲存為double
型別,若新增字尾f
則可儲存為float
型別,若新增字尾l
可儲存為long double
型別。
型別轉換是c++中很重要的概念。當賦值時型別不同,或不同型別資料運算時,都涉及到型別轉換。一般的型別轉換將取值範圍小的型別轉換為取值範圍大的型別,若整型和浮點型同時存在則將整型轉換為浮點型。
初始化和賦值中的轉換
當我們將取值範圍小的型別賦值給取值範圍大的型別通常沒問題,但是反之可能出現問題。
當大範圍轉換為小範圍時對大範圍的數值進行截斷,即只取小範圍資料的那部分。
若將浮點數轉換為整型可能出現浮點數超出整型可表示範圍,此時的結果是不確定的,基於不同的實現而不同。
表示式中的轉換
在計算表示式時,通常將比int
型別小的型別轉換為int
型別然後進行計算,這種轉換成為整型提公升。
當不同型別之間進行轉換時通常將小型別轉換為大型別。
強制型別轉換
強制型別轉換不會修改變數本身,而是建立乙個新的、指定型別的值,可以在表示式中使用這個值。
有兩種格式:
(typename) value;
typename (value);
在c++中通常使用第二種格式,為的是讓強制型別轉換看起來更像是乙個函式呼叫。
auto
時c++11中新增的工具,但是很少使用。
它的作用是讓編譯器自動識別變數型別,用作基本型別時會比較雞肋,但是在使用stl
時使用auto
會非常好用。
這部分會在stl
部分詳細解釋。
C 資料處理
時間限制 1 sec 記憶體限制 64 mb 提交 92 解決 22 標籤 提交統計 討論版 做完大學物理實驗後,wyl同學得到了很多比例形式的實驗結果。比如1498 902,337 124等等。不過,老師對這些比例很不滿意。因為比例的數值太大,難以一眼看出與理論值的關係。對於上面這個例子,如果把比...
python 資料處理基礎
2 python 語法簡介 型別轉化 int x base 將x轉換為乙個整數 long x base 將x轉換為乙個長整數 float x 將x轉換到乙個浮點數 complex real imag 建立乙個複數 str x 將物件 x 轉換為字串 repr x 將物件 x 轉換為表示式字串 eva...
資料探勘(資料處理基礎)
資料及資料型別 資料是資料庫儲存的基本物件,狹義的資料理解為數值,廣義的資料理解為記錄。資料的屬性 標稱 nominal 序數 ordinal 區間 interval 和比率。標稱的屬性 只提供足夠的資訊以區分物件,例如甲乙丙 序數屬性 提供足夠的資訊,區別物件的序,例如及格,不及格 區間屬性 其屬...