數值範圍前提條件(32位系統機)
一、基本資料型別
1、整型
int :-2^31 至 +2^31-1 即 -2147483648 至 +2147483647
unsigned int :0 至 2^32-1 即 0 至 4294967296
long :現在一般編譯器都認為同 int
unsigned long :現在一般編譯器都認為同 unsigned int
short :-2^15 至 +2^15-1 即 -32768 至 +32767
unsigned short :0 至 2^16-1 即 0 至 65535
long long : -2^63 至 +2^63-1 即 -9223372036854775808 至 +9223372036854775807 (gcc才支援)
_int64 : -2^63 至 +2^63-1 即 -9223372036854775808 至 +9223372036854775807 (vc/vs才支援)
2、字元型:值所代表的字元見ascii碼表
char : -2^7 至 2^7-1 即 -128 至 127
unsigned char : 0 至 2^8 即 0 至 255
3、單精度型浮點型
float : 32位,10^(-38) 至 10^(+38),7位有效數字
4、雙精度型浮點型
double : 64位,16位有效數字
5、列舉型別
二、構造型別
1、陣列型別
2、結構體型別
3、共用體型別
三、指標型別
四、空型別
五、型別轉換
1、自動型別轉換
如果賦值運算子兩邊的資料型別不相同,系統將自動進行型別轉換,即把賦值號右邊的型別換成左邊的型別。
具體規定如下:
1.實型賦予整型,捨去小數部分。
2.整型賦予實型,數值不變,但將以浮點形式存放,即增加小數部分,小數部分值為0。
3.字元型賦予整型,由於字元型為乙個位元組,而整型為4個位元組,故將字元的ascii碼值放到整型量的低八位中,高八位為0。整型賦予字元型,只把低八位賦予字元量。
原則:把表示範圍小的型別的值轉換到表示範圍大的型別的值
short int long float double
2、強制型別轉換:
形式:(型別名)運算元
說明:1.強制型別轉換不會改變運算元自身的型別,只是得到乙個所需型別的中間量
2.多用於自動型別轉換不能實現的目的
3.強制型別轉換後,會影響c語言做型別檢查
舉例:int a = 5, b = 2;float c = (float)a/b;
六、ascii碼表及轉義字元
1、常見ascii碼表項,後面可補充
0 空字元 或 \0**義字元)
10 \n
32 空格
48-57 0-9
65-90 a-z
97-122 a-z
2、轉義字元含義及對應ascii碼值
\n 回車換行 10
\t 橫向跳到下一製表位置 9
\b 退格 8
\r 回車 13
\f 走紙換頁 12
\\ 反斜線符「\」 92
\' 單引號符 39
\" 雙引號符 34
\a 鳴鈴 7
\ddd 1到3位八進位制數所代表的字元
\xhh 1到2位十六進製制數所代表的字元
C語言 資料型別
基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...
c語言資料型別
下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...
C語言 資料型別
整形資料在記憶體中的存放形式 數值是以補碼表示的 1.正數的補碼和原始碼相同,2.負數的補碼 將該數的絕對值的二進位制形式按位取反再加1.例如 求 10 的補碼 10的原始碼 0000 0000 0000 1010 取反 1111 1111 1111 0101 再加1,得 10補碼 1111 111...