C的基本資料型別

2021-06-27 20:58:38 字數 1794 閱讀 6604

一.資料在程式中如何表現?

1.   資料以常量和變數的形式在程式中表現出來,常量又分直接常量(如1,100,『a』等)和符號常量(巨集定義的常量)。

注:符號常量不能在巨集定義後再次賦值。

2.變數名和變數值是乙個概念嗎?

不是。變數名實際上是代表乙個記憶體位址,變數值實際上是通過變數名找到相應的記憶體單元,按照規則讀取其中的值。

3.變數名的長度有限制嗎?

變數名的長度要小於識別符號的長度, 識別符號的長度取決於不同的編譯器。

4.c語言如何定義識別符號?

識別符號只能由數字,字母,下劃線組成,且第乙個字元不能是數字。

二.整型常量的表示方法?

1.十進位制整數:如123。

2.八進位制整數:以0開頭的數是八進位制數,0123(相當於十進位制的83)。

3.十六進製制整數:以0x開頭的數是十六進製制數,0x123。

三.整型資料在記憶體中的存放形式?

首先所有的資料在記憶體中都是以二進位制的形式存放。正整數與負整數在記憶體中的存放有所不同。計算機以補碼的形式存放整型資料,正整數的補碼和原碼相同,負整數的補碼是將該數的絕對值的二進位制形式,按位取反再加1。可知,在存放整數的儲存單元中,最左面的一位是表示符號的,該位為0,表示數值為正,該位為1,表示數值為負(注:只限於在定義有符號整數時這樣理解是可以的)。

四.整型資料的溢位問題?

通常資料溢位時程式並不報錯。所以這一塊要弄清楚。

五.浮點型常量的表示方法?

1.十進位制小數形式:如123。

2.指數形式:如1.23e2,12.3e1等,注意e(e)之前必須有數字,且後面的指數必須是整數。

六.浮點型資料在記憶體中的存放形式?

系統把乙個浮點數資料分成符號部分,小數部分和指數部分分別存放在連續的儲存單元中。計算機是用二進位制數來表示小數部分,用2的冪次來表示指數部分。

究竟有多少位來表示小數部分?多少位來表示指數部分?不同的標準有所不同。小數部分佔的位數越多,數的有效位數也就越多,精度也就越高。指數部分佔的位數越多,則能表示的數值範圍就越大。

注:1.同樣的儲存空間,浮點數能表示比整數大的多的範圍,但這是以犧牲資料的精度為代價的。盡量避免很大的浮點數與很小的數進行相加減。

2.二進位制小數與十進位制小數並沒有完全一一對應的關係,二進位制小數對於十進位制小數來說相當於離散的,而不是連續的。也就是說並不是所有的十進位制的實數在有限的儲存單元中能用二進位制剛好表示出來。各種浮點數資料型別都有它的精度範圍。

3.浮點數資料在多個處理器之間通訊時,傳遞的數值是它的二進位制數,比如1234.5678這個浮點數的二進位制數是0x449a522b,如果使用串列埠傳送的話,就會發現串列埠裡傳送的是0x44,0x9a,0x52,0x2b(傳送的順序也可能是逆序),接受端接受到這4個資料後再組合成0x449a522b,按照浮點數解析的規則被解析為1234.5678,如果兩個處理器使用的浮點數解析的規則不同,那麼資料可能會有很大差異。

七.字元型資料

1.轉義字元雖然包含兩個或多個字元,但它代表乙個字元,在記憶體中只佔乙個位元組。

2.字元與字串是不同的概念,不能把乙個字串常量賦給乙個字元變數。

3.c語言允許字元資料與整數直接進行算術運算,如'a'+32會得到97,即'a'。

4.c規定在每乙個字串常量的結尾加乙個「字串結束標識」,即『\0』,『\0』是系統自動加上的,不需要我們加。

八.基本資料型別的混合運算

橫向向左的箭頭表示運算時必定的轉換,縱向的箭頭表示當運算的物件不同時轉換的方向。這裡程式設計要留心有符號數會轉換為無符號數。

C 基本資料型別

型別識別符號 型別說明 長度 位元組 範圍備註 char字元型 1 128 127 27 27 1 unsigned char無符字元型 10 255 0 28 1 short int短整型 2 32768 32767 2 15 215 1 unsigned short int無符短整型 20 65...

C 基本資料型別

1.基本資料型別 程式中的變數都是先定義,後使用的。對變數的定義,可以包括三個方面 資料型別 儲存型別 作用域。所謂資料型別是按被定義變數的性質,表示形式,佔據儲存空間的多少,構造特點來劃分的。在c語言中,資料型別可分為 基本資料型別 構造資料型別,指標型別 空型別。基本型別 整型 字元型 實型 浮...

C 基本資料型別

型別別名位 允許的值 sbyte system.sbyte 8在 128 127 之間的整數 byte system.byte 8在 0 255 之間的整數 short system.int16 16在 32 768 32 767 之間的整數 ushort system.uint16 16在 0 6...