c語言常數的格式?
在C語言中,整型常量有三種書寫形式:
(1) 十進制整數。十進制整數就是通常整數的寫法。例如:11、15、21等。
(2) 八進制整數。八進制整數的書寫形式是在通常八進制整數的前面加一個數字0。例如:00、0111、015、021等,它們分別表示十進制整數:0、73、13、17
(3) 十六進制整數。十六進制整數的書寫形式是在通常十六進制整數的前面加0x。例如:0x0、0x111、0x15、0x21等,它們分別表示十進制整數0、273、21、33。
注意,整型常量前面沒有+或者-,-10其實是一元-運算符和操作數10,同樣整型常量的十進制表示并沒有0,單獨寫一個0其實是一個八進制常量。
擴展資料
轉換為整型
要明示地將一個值轉換為 integer,用 (int) 或 (integer) 強制轉換。不過大多數情況下都不需要強制轉換,因為當運算符,函數或流程控制需要一個 integer 參數時,值會自動轉換。您還可以通過函數 intval() 來將一個值轉換成整型。
1、從布爾值轉換
FALSE 將產生出0(零),TRUE 將產生出1(壹)。
2、從浮點數轉換
當從浮點數轉換成整數時,數字將被取整(丟棄小數位)。
注意:如果浮點數超出了整數范圍(通常為 +/- 2.15e+9 = 2^31),則結果不確定,因為沒有足夠的精度使浮點數給出一個確切的整數結果。在此情況下沒有警告,甚至沒有任何通知!
注:在 Linux 下返回結果是最小負數(-214748),而在 Windows 下返回結果是零(0)。
【以下以C/C++語言為例,陳述一下整型的知識】:
a、C/C++對整型長度的規定是為了執行效率,將int定義為機器字長可以取得最大的執行速度;
b、C/C++中整型包括:int,char和enum,C++中還包含bool類型,C99中bool是一個宏,實際為_Bool;
c、C和C++對enum的規定有所不同,這里不描述;
d、修飾整型正負的有signed和unsigned,對于int默認為signed;
e、修飾 int 大小的有short和long,部分編譯器還擴展了一些更長的整型,比如long long和__int64, C99中增加了long long和unsigned long long;
f、int 的長度與機器字長相同,16位的編譯器上int長16位,32位的編譯器上int長32位;
g、short int的長度小于等于int 的長度,注意它們可能長度相等,這取決于編譯器;
h、long int 的長度大于等于int 的長度,注意它們可能長度相等,這取決于編譯器;
i、char 的長度應當可以包容得下一個字符,大部分系統中就是一個字節,而有的系統中可能是4個字節,因為這些系統中一個字符需要四個字節來描述;
j、char 的正負取決于編譯器,而編譯器的決定取決于操作系統,在不同的編譯器中char可能等同于signed char,也可能等同于unsigned char。