首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言整型常數與變數:進位制表示、型別自動推導與長度修飾完整解析

     編輯:關於C語言

整型常數的三種進位制表示

進位制前綴規則有效字元範例
十進位無前綴,首位不可為 00-9123, 4567
八進位以 0 開頭0-70173, 077
十六進位以 0x 或 0X 開頭0-9, a-f, A-F0x1F, 0XABC

常數預設為正值;負值需加負號 -。常數型別由編譯器依數值大小自動推導:

  • 十進位 → int 或 long int
  • 八/十六進位 → int、unsigned int、long int、unsigned long int(取最小能容納的型別)

長整型常數後綴

在常數後加 L 或 l 強制指定為 long int:

10L, 79L, 012L, 0115L, 0XAL, 0x4fL

整型變數宣告

C 語言要求所有變數使用前必須宣告型別(定義),與 BASIC/FORTRAN 不同,類似 Pascal。基本整型關鍵字:

  • int、short int、long int
  • unsigned、unsigned long

不同整型混合運算範例

int a = 10;
unsigned int u = 12;
printf("a+u=%d, a-u=%d", a+u, a-u);
// 輸出:a+u=22, a-u=-2(若 unsigned 視為無號則需注意提升規則)

不同整型可直接進行算術運算,編譯器會依「整數提升」與「慣用算術轉換」規則自動處理型別轉換。

關鍵提醒

  1. 八進位常數以 0 開頭極易誤寫(如 09 非法),建議避免使用或加註解。
  2. 十六進位常數大小寫皆可,0x 較 0X 常見。
  3. 常數型別自動推導可能導致溢位或符號誤判,關鍵計算建議顯式加後綴或強制轉型。
  4. 16 位元環境 int 為 2 位元組,32/64 位元環境通常為 4 位元組,撰寫可移植程式碼應使用 stdint.h 定義的固定寬度型別(int32_t 等)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved