C學習筆記(三) 資料型別分類及型別轉換

2021-07-14 18:18:54 字數 1550 閱讀 1235

資料型別的基本知識點

資料型別的分類

型別轉換

1.      隱式型別轉換

隱式型別轉換分為算術轉換,賦值轉換,輸出轉換

(1)算術轉換:進行算術運算(加、減、乘、除、取餘以及符號運算)時,不同型別數必須轉換成同

一型別的資料才能運算,算術轉換原則為:

在進行運算時,以

表示式中最長型別為主

,將其他型別位據均轉換成該型別,如:若運算數中有

double

型或float

型,則其他型別資料均轉換成

double

型別進行運算。

特別注意的是有符號和無符號之間的轉換:

包含long

與unsigned int,32

位機器上都是

4位元組,所以均轉換為

unsigned long. 包含

signed

與unsigned int

signed

會轉換為

unsigned

。如果int恰好為負數,其結果為對

unsigned

取值個數求模的結果。比如將

-1賦給8位的

unsigned char

,呢麼結果就是

255(-1對

256取模後的值)。

unsigned char

取值範圍

0~255。

注意:在進行自動型別轉換的時候,如果原來的數是無符號數,那麼在擴充套件的時候,高位填充的是

0;如果是有符號數,那麼高位填充的時符號位!

(2)賦值轉換

進行賦值操作時,賦值運算子右邊的資料型別必須轉換成賦值號左邊的型別,若右邊的資料型別的長度大於左邊,則要進行截斷或捨入操作。

(3)輸出轉換

在程式中將資料用

printf

函式以指定格式輸出時,當要輸出的資料型別與輸出格式不符時,便自動進行型別轉換,如乙個

long

型資料用整型格式

(%d)

輸出時,則相當於將

long

型轉換成整型

(int)

資料輸出;乙個字元

(char

)型資料用整型格式輸出時,相當於將

char

型轉換成

int型輸出。

注意:較長型資料轉換成短型資料輸出時,其值不能超出短型資料允許的值範圍,否則

轉換時將出錯。

2.      強制型別轉換

當資料型別不相容時,為避免發生錯誤,需要進行強制型別轉換

int num = 5;

int *p = &num

char *ptr = (char *)p;

資料型別分類及範圍

基本資料型別 今天重點 整數型 byte short int long 浮點型 float double 字元型 char 布林型 boolean 引用資料型別 今後學習 字串 陣列 類 介面 lambda 資料型別大小 system.out.println 基本型別 byte 二進位制位數 byt...

c 學習筆記(三) 資料型別轉換

int i 927 long j i 將int隱式轉換為longint short int uint float int double int 數值類 char decimal all 型別說明符 表示式 float x 把x轉換為float型別long number1 3000000000 int...

資料型別分類

資料型別 兩大類 資料型別的判斷 typeof 資料 或者 typeof 資料 typeof null 時返回的時object console.log typeof 數字 返回數字 number console.log typeof 字串 返回字串 string console.log typeof...