C語言中的相關變量知識
- C語言
- 關注:1.21W次
導語:變量就是其值可以改變的量。變量要有變量名,在內存中佔據一定的存儲單元,存儲單元裏存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。下面是C語言中的相關變量知識,歡迎閲讀:
(一)整型變量
整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。
不同的.編譯系統對上述四種整型數據所佔用的位數和數值範圍有不同的規定。
類型説明符
説明:
單詞signed來説明“有符號”(即有正負數之分),不寫signed也隱含説明為有符號,unsigned用來説明“無符號”(只表示正數)。
(二)實型變量
C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:
float a , b ;
double m ;
在vc中,float 型數據在內存中佔4個字節(32位),double型數據佔8個字節。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據其類型截取實型常量中相應的有效數字。
注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。
(三)字符變量
字符變量用來存放字符常量,定義形式:
char 變量名;
其中關鍵字char定義字符型數據類型,佔用一個字節的存儲單元。
例:char cr1,cr2;
cr1= ‘A’ , cr2=‘B’ ;
將一個字符賦給一個字符變量時,並不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:01000001
由於在內存中字符以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出,字符數據也能進行算術運算,此時相當於對它們的ASCII碼進行運算。
類型的自動轉換和強制轉換
當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型後再進行計算。轉換優先級為:
char < int < float < double
即左邊級別“低“的類型向右邊轉換。具體地説,若在表達式中優先級最高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先級最高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。
在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高於左邊的類型時,則在轉換時對右邊的數據進行截取。
除自動轉換外,還有強制轉換,表示形式是:
( 類型 )(表達式);
例:(int)(a+b)
討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?
- 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/jsj/cyuyan/zxq0w.html