C語言基本資料型別

2021-07-25 20:56:04 字數 2422 閱讀 5169

一,整型

char    short    int  long      、long long(c99新加入),再與unsigned搭配,共有10種型別

c,八進位制和十六進製制的整數常量(無負數)

234u,234,

在c語言中預設的數字為十進位制。如果在乙個數字前面加上字首0(零),就可以表示為八進位制了

01如果在乙個數字前面加上字首0x或者0x,就可以表示為十六進製制

0xff

(注意:不論是十進位制還是八進位制還是十六進製制表示法,最終被轉換成的機器語言的值都是一樣的)

e,整數溢位(省略)

占用位元組大小的排列順序為 short <= int <= long,c標準保證short至少為16位,int不少於short,long至少為32位,  並且不少於int,   long long 至少不少於64位.

大多數情況下,採用最小標準,long long型別為64位,long型別為32為,short 為16位,int型別則較多,為16位或32位

b,常量

不論是十進位制、八進位制還是十六進製制的常量,根據數字大小,以int、long、unsigned long、long long、unsigned long long的順序依次適應儲存

可以加字尾。字尾l或l、ll、u或u、ul等

3,字元char型別(屬於整型)

a,乙個char型別變數所占用的位元組與平台相適應,c保證char型別所佔記憶體足夠大,以儲存其所在系統上的基本字符集

(注:c語言中的乙個位元組定義為乙個char變數所占用的位數)

b,大多數情況下占用8個位元組,取值範圍為-127到128。可以在前面加上unsigned使其取值範圍為0-255以便表示擴充套件的ascii碼

字元常量  』a'

d,4種賦值方法:char x = 'a'; //直接用字元賦值

char x = 65; //用ascii碼賦值

char x = '\007'; //八進位制形式。格式為\0oo 可以省略前面的零

char x = '\x7'; //十六進製制形式。格式為\xhhh或\xhhh

(注意:65本來應該是乙個常量,而這個常量應該被存為int型別,因此當被賦值的時候,只讀取最後乙個位元組的內容

八進位制和十六進製制形式的轉義字元形式還可以用於字串中)

e,轉義字元序列

\a----------報警 \b----------退格 \f----------走紙 \n----------換行

\r----------回車 \t----------水平製表符\v----------垂直製表符

\\------反斜槓(\) \『---------單引號(') \"----------雙引號("")

\?----------問號(?) \0ooo-------八進位制值(o表示乙個八進位制數字)

\xhhh----------十六進製制值(h表示乙個十六進製制數字)

二,浮點型

1,float、double和long double(c99新加入)

a,float型別:

有效數字至少6位

取值範圍至少為10的-37次方到10的37次方

儲存方式:以二進位制的指數形式用32位儲存乙個浮點數,其中8位用於表示指數及其符號,24位用於表示尾數

b,double型別:

有效數字至少10位

取值範圍同float,至少為10的-37次方到10的37次方

儲存方式:以二進位制的指數形式用64位儲存乙個雙精度數,指數和尾數的位數隨系統不同而不同

2,宣告方法同上

3,浮點常量

浮點常量是指乙個常量數字中至少存在乙個小數點或者指數部分(區別於int常量)

預設情況下編譯器將浮點常量視為double型別,佔8個位元組,以便使常量之間的計算更加精確。

如果要更改為float型別,可以在後面加上f或f,如果要更改為long double型別,可以在後面加上l或l

還可以用十六進製制來表示浮點常量,那麼就需要在前面加上0x或0x接著就是十六進製制數字,但是指數p或p,表示是2的指數

比如:0xa.1fp10-------1010.00011111 * 2^10 = 101000011111 換成10進製就是10364

(注意:列印double型別的時候,預設只有6位有效數字,要列印更多的有效位可以在f前面加上.7 .8等)

5,浮點值的上溢和下溢

上溢:當計算結果是乙個達到不能在計算機裡面表達的時候,就會發生上溢。發生上溢之後,計算得到的值為inf,表示無窮大

下溢:當乙個數字的尾數和指數已經是最小了,在進行運算以時這個數字更小的時候,就會發生下溢。發生下溢的時候,會損失有效數字的精度

6,浮點數的捨入誤差

當乙個數字的精度太大的時候,將這個數字進行加減運算,由於計算機能夠表示出的有效位數有限,因此不能正確計算出結果

比如:2e20 + 1 - 2e20 在第21位加上1,計算機是做不到的 如果是2e4 + 1 - 2e4 結果是1

C語言基本資料型別

2.各種資料型別介紹 2.1整型 整形包括短整型 整形和長整形。2.1.1短整形 short a 1 2.1.2整形 一般佔4個位元組 32位 最高位代表符號,0表示正數,1表示負數,取值範圍是 2147483648 2147483647,在記憶體中的儲存順序是地位在前 高位在後,例如0x12345...

C語言基本資料型別

1.資料型別可以理解為固定記憶體大小的別名 c語言誕生之前的彙編時代,在低端的機器語言裡面沒有資料型別的概念,如何操作記憶體呢?當然我們知道記憶體的起始位址和記憶體大小,就可以操作這段記憶體了。然而在程式設計過程中,我們發現經常用到1個位元組,2個位元組和4個位元組的記憶體。我們每次呢都會去記這個2...

C語言基本資料型別

記得大學一年級上的基礎課中就有c 語言,剛開始學的時候感覺很難 雖然現在感覺也不容易 最近開始重新翻開c語言的書籍,對於其中的基本資料型別感覺很重要也別有一翻feel。c語言基本資料型別有 int,short int long int double float,char.不管是整型,浮點型以及字元型...