c語言中資料型別可分為基本型別,結構體型別,指標型別和空型別:
1資料型別:
1基本型別:
1.1字元型(本質上也是一種整型變數):
char : 1位元組 -128~127
unsigned char : 1位元組 0~255
由於字元是按其**(整數)形式儲存的,因此c99把字元型資料作為整型的一種。
1.1.1字元與字元**:
字符集(包括ascii字符集):字母,數字,專門符號,不能顯示的字元(如空'\0',回車'\r')
注意 字元『1』,整數字元1是不同的:'1'實際上表示以1的sacii碼值(49)儲存的二進位制數,而1就是整數1的二進位制數儲存的。
1.1.2字元變數(用char定義的變數):
如:char buf=『?』;表示將?的ascii碼值(63)賦給變數buf。
在輸出時字元變數的值時,可以選擇以十進位制整型輸出或以字元型輸出。
當用printf("%d,%c\n",buf,buf);列印時輸出,63和?。
1.2整型(不同的編譯器位元組大小不同:如tuboc2.0編譯器中int是2位元組,現如今int型基本上都是4位元組):
型別符號
長度(位元組)
取值範圍
整型int
2-32768~32768(即-2^15-2^15-1)
4-2^31~2^31-1
長整型long int或long
4-2^31~2^31-1
雙長整型
long long(int)
8-2^63~2^63-1
無符號雙長整型
unsigned long long(int)
80~2^64-1
短整型short int或short
2-2^15~2^15-1
無符號整型
unsigned int
20~2^16-1
40~2^32-1
無符號長整型
unsigned long int 或unsigned long
40~2^32-1
無符號短整型
unsigned short int或unsigned short
20~2^16-1
1.2實型(浮點型)
型別位元組數
有效資料位(小數點後)
數值範圍(絕對值)
float(單精度)46
0以及1.2*10^-38~3.4*10^38
double(雙精度)815
0以及2.3*10^-308~1.7*10^308
long double(和編譯器有關,不過一般是16位元組)815
0以及2.3*10^-308~1.7*10^308
1619
0以及3.4*10^-4932~1.1*10^4932
1.3列舉型
通過預定義列出所有值的識別符號來定義乙個有序集合,這些值的次序和列舉型別說明中的識別符號的次序是一致的。列舉型別的形式:(識別符號1,……,識別符號n)
例如: type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)
列舉元素只能是識別符號,而不能是數值常量或字元常量。例如以下的定義是錯誤的:
type daystype=('sun','mon','tue','wed','thu','fri','sat')
列舉元素是識別符號,不要把作為列舉元素的識別符號視作變數名,它不能被賦值。同乙個列舉元素不能出現在兩個或兩個以上的列舉型別定義中。例如以下的定義是錯誤的:
type daytype1=(monday,tuesday);
daytype2=(monday,wednesday);
可以將列舉型別的定義和變數的定義結合在一起。例如:var a:(monday,tuesday,sunday)
列舉型別屬於順序型別。根據定義型別時各列舉元素的排列順序確定它們的序列,序列號從0開始
例如:已經定義daystype
ord(sunday)=0,succ(sunday)=monday,pred(friday)=thursday
但是列舉型別中的第乙個元素沒有前趨,最後乙個元素沒有後繼。turbo pascal不允許直接讀寫列舉值,所以列舉值的輸出常用case語句間接的輸出。列舉值的輸入,則要一一判斷讀入字元是否是列舉型別的識別符號。若是才能賦給列舉變數,否則就會出錯。
例如:列舉值的輸出
case day of
sunday:write('sunday');
monday:write('monday');
tuesday:write('tuesday');
wednesday:write('wednesday');
thursday:write('thursday');
friday:write('friday');
saturday:write('saturday');
end;
以上是個人學習總結,有錯誤或不足之處還請指出!
C 語言中的資料型別
1.1基本資料型別 字元型 char 短整型 short int 整型 int 長整型 long int 單精度浮點型 float 雙精度浮點型 double 1.2復合資料型別 陣列,結構體。字元型 char a 1 1個位元組 短整型 short int 2個位元組 整型 int 4個位元組 長...
C語言中的資料型別
常量,表示一些固定的資料 1 整型常量 int 包括了所有的整數,比如6 27 109 256 10 0 289等 2 浮點型常量 float double 浮點型常量分為double和float兩種資料型別 u double 雙精度浮點型,其實就是小數。比如5.43 2.3 0.0等 注意,0.0...
C語言中的資料型別
儲存方式 編譯系統給int型資料分配2個位元組或者4個位元組 在儲存單元中的儲存方式是使用整數的補碼形式存放。正數的補碼是是此數的二進位制形式 負數的補碼是負數的絕對值的二進位制形式按位取反再加1 在存放整數的儲存單元中,最左邊一位是用來表示符號的,該位為0表示正數,該位為1表示負數。表示範圍 如果...