C 基礎 資料處理

2021-10-10 19:39:15 字數 3086 閱讀 8672

char型別

const限定符

浮點數c++算術運算子

auto宣告

當需要切換輸出八進位制、十進位制和十六進製制整數時,可以通過控制符octdechex來進行控制:

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++將字元常量儲存為charput方法也不是必要的了。

可以基於字元的八進位制和十六進製制編碼來使用轉義字元。

比如ctr+z的ascii碼為26,對應八進位制編碼為032,對應十六進製制編碼為x1a,則可以用\032\xla來表示。

signed char和unsigned char

預設情況下char可能沒有符號,也可能有符號,由c++實現決定。

可以通過signed charunsigned char顯式宣告。

wchar_t

當處理的字符集無法用8位位元組表示時,可以使用wchar_t擴充套件字符集來表示。

wchar_t型別是一種整數型別,由於cincout使用的是char流,想要處理wchar_t型別可以使用wcinwcout來完成。

wchar_t有乙個底層型別,底層型別即基於某個基本型別,它的長度取決於實現。

char16_t和char32_t

wchar_t隨實現的不同長度不同,為了解決這個問題,引入了新的型別char16_tchar32_t

前者字元常量或字串常量使用u字首標識:u'c'

後者字元常量或字串常量使用u字首標識:u'c'

const限定符用於處理常量,以const限定的變數僅唯一表示初始化時的值,此後不能對其進行修改。

const相比於#defineconst有很多好處:

浮點數表示的範圍要比整型大得多,但是運算速度和精度都會相應降低。

浮點數常量預設情況下儲存為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 和比率。標稱的屬性 只提供足夠的資訊以區分物件,例如甲乙丙 序數屬性 提供足夠的資訊,區別物件的序,例如及格,不及格 區間屬性 其屬...