C語言學習三:整型類型

前言

前面提到了整型類型:
這裏寫圖片描述


整型

(1)
除了布爾型之外,其餘的都可以加上修飾符:unsigned、signed、
如:
有符號基本整型:[signed] int
無符號基本整型 :unsigned int;
//加[]表示在使用的時候,可以有也可以沒有。signed:符號、

(2)
在將一個變量定義爲無符號整型後,不應向其賦予一個負值,否則有錯誤結果,而並不是程序
錯誤。

unsigned short price = -1;
printf("%d\n",price);

但是輸出的不是-1,是65535,系統會對-1先轉換成補碼形式 ,就是全是1,然後存入到price
中,由於price是無符號短整型變量,器左邊第一位不代表符號,按照%d輸出就是這個結果

(3)
C標準中沒有具體規定各種類型數據所佔用的存儲單元的長度,反而是由各編譯系統自決定。
C標準中要求long型數據長度不短於int型,short型不長於int型。

詳細

針對於整型的符號類型

這裏寫圖片描述


字符型數據

由於C語言中,字符是按其代碼(整數)。因此C99把字符型數據作爲整數類型的一種。

介紹

系統可以識別的的字符,大多數存在ASCII字符集中。
字母:A-Z、a-z、
數字:0-9
專門符號:29個,
如:!、#、”、’、&、(、)、*、+、-、,、.、/、?、<、>、^、{、}、~、[、]、
空格符:
等等
所以,佔一個字符

字符變量

就是如何出使用這些字符。

char c = '?';

定義c爲字符型變量並使初值爲’?’,?的ASCII碼爲63,那麼系統會把63賦值給c

int main(){
  char c = '?';
  printf("%d %c\n",c,c);
}

輸出結果:63 ?
也就是說輸出時候,可以將字符變量通過整數的形式輸出。
字符也分爲signed char 和 unsigned char, 兩者的取值範圍:-128——127和0——255
但是如果signed c = -99;
可以將一個負整數賦給有符號字符型變量,但是不代表一個字符了,而是一個字節整型變量。
char c = 255;
打印,顯示爲-1,表示255已經超過了char變量的數值允許範圍,如果改成unsigned char
則可以出去255


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章