1. 程式人生 > 其它 >字元型別

字元型別

1.字元變數

字元變數是用型別符char定義字元變數。如:
char c=‘?’.
'?'的ASCII碼是63,系統把整數63賦值給變數c。c是字元變數,實質上是一個位元組的整形變數,由於它常用來存放字元。所以稱為字元變數。
在輸出字元變數的值時,可以選擇以十進位制整形輸出,或者以字元形式輸出,如:

char c = '?';
printf("%d %c \n",c,c );
輸出結果是 63 ?;

2.浮點型資料

浮點型資料是用來表示具有小數點的實數的。
在這裡插入圖片描述1)float型(單精度浮點數)每一個float變數佔據4個位元組。系統將實型資料分成小數部分和指數部分兩個部分,分別存放。小數部分的小數點前面的數為0。

小數部分佔的位(bit)數愈多,數的有效數字愈多,精度也就愈高。指數部分佔的位數愈多,能表示的數值範圍愈大。
2)double型(雙精度浮點數)。 為了擴大能表示的數值範圍,用8個位元組儲存一個double型資料。在C語言中進行浮點數的算術運算時,將float型資料都自動轉換成double型,然後進行運算。

強制型別轉換運算子

可以利用強制型別轉換運算子將一個表示式轉換成所需型別。例如:
(double)a(將a轉換成double型別)
(int)(x+y) (將x+y的值轉換成int型)
(float)(5%3) (將結果轉換成float型)
其一般形式為
(型別名)(表示式)
注意,表示式應該括起來。如果寫成

(int)x+y
則只將x轉換成整形,然後與y相加。
需要說明的是,在強制型別轉換時,得到一個所需型別的中間資料,而原來變數的型別未發生變化,例如:
a=(int)x
如果已定義x為float型變數,a為整形變數,進行強制型別運算(int)x後得到一個int型別的臨時值,他的值等於x的整數部分,把它賦值給a,注意x的值和型別都未發生變化,仍為float型。該臨時值 複製之後就不存在了。