1.整型資料型別
c定義了5種整型資料型別。
整型資料型別表
序號型別名稱
說明位元組數
取值範圍
1signed char
有符號的單位元組整數型別
1-128~+127
2short int
短整型2
-32768~+32767
3int整型4
-2147438648~+2147438647
4long int
長整型4
-2147438648~+2147438647
5long long int
長長整型
8-9223372036854775808~+-9223372036854775807
例 輸出各種整型型別的位元組數
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c15.c
[root@localhost ccc]# ./a.out
sizeof(signed char) = 1
sizeof(short int) = 2
sizeof(int) = 4
sizeof(long int) = 4
sizeof(long long int) = 8
程式說明:sizeof是位元組操作符,使用方式,sizeof(資料型別)。sizeof的作用是得到資料型別所佔的位元組數。我們執行程式使用的環境是redhat 5 linux,編譯器是gcc。
2.無符號整數型別
對應有符號型別,還有無符號整數型別。
無符號整數型別表
序號型別名稱
位元組數取值範圍
1unsigned char
10~255
2unsign short int
20~65535
3unsigned int
40~4294967295
4unsigned long int
40~4294967295
5unsign long long int
80~18446744073709551615
例 輸出各種無符號整數型別的位元組數
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c16.c
[root@localhost ccc]# ./a.out
sizeof(unsigned char) = 1
sizeof(unsigned short int) = 2
sizeof(unsigned int) = 4
sizeof(unsigned long int) = 4
sizeof(unsigned long long int) = 8
3.整型常量
整型常量是指用以表示整型數值的常量,分為短整型(short int)、整型(int)、長整型(long int )和長長整型(long long int)四種。c預設整型(int)。各種型別整型常量進製表示表(字尾不區分大小寫)
序號資料型別
八進位制十進位制
十六進製制1整型
0112
740x4a
2長整型(l)
0112l
74l0x4al
3長長整型(ll)
0112ll
74ll
0x4all
4無符號整型(u)
0112u
74u0x4au
5無符號長整型(ul)
0112ul
74ul
0x4aul
6無符號長長整型(ull)
0112ull
74ull
0x4aull
4.字元資料型別
c語言中字元型資料只有一種,即char型資料。一般也把char直接稱為字元型。字元型占用記憶體空間最少,一般占用乙個位元組,儲存在char型別變數的整數可以表示為有符號或無符號的值,這取決於編譯器。
例 字元型資料型別的位元組長度
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c17.c
[root@localhost ccc]# ./a.out
sizeof(char) = 1
sizeof(signed char) = 1
sizeof(unsigned char) = 1
5.字元變數
字元變數是用於儲存字元型數值的變數。字元型變數也分為兩種:有符號和無符號型。
語法結構:
[signed] char ch1;
[unsigned] char ch2;
例#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c18.c
[root@localhost ccc]# ./a.out
ch1 = [
], [10]
ch2 = [ ], [9]
ch3 = [0], [48]
程式說明:轉義符'/n'是換行符,第乙個printf函式中%c處會替換為'/n',輸出到終端上則會替換為換行,我們可以看到輸出的第乙個方括號中間發生換行。%d是c1的ascii碼值代替。轉義符'/t'是水平製表符,第二個printf裡的%c會替代為'/t',輸出到終端上。數值48對應的 ascii碼是0,所以對應輸出到終端上是乙個0。
6.浮點型資料型別
c語言定義了三種浮點資料型別:
?float,單精度
?double,雙精度
?long double,長雙精度
c標準中對不同型別的浮點數有不同的規定,編譯器不同或硬體條件不同,位元組長度也不相同。
例 測試三種浮點型位元組長度
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c19.c
[root@localhost ccc]# ./a.out
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 12
浮點型的位元組長度、精度、數量級範圍和輸出輸入格式表
序號資料型別
位元組長度
精度數量級範圍
printf和scanf格式
1float(f)47
-38~38%f2
double
8約16
-308~308%f3
long double(1)
12約19
-4932~4932
%llf
7.浮點型精度
浮點型精度從低到高排列為float、double和long long double。
例 檢查浮點型精度
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c20.c
[root@localhost ccc]# ./a.out
f = 0.9876543283462524414062500
d = 0.9876543210123456262294894
ld = 0.9876543210123456789217150
8.浮點型的儲存方式
浮點型數值以科學計數法的表示形式儲存在記憶體中。浮點型的記憶體形式包含三個部分:
1)符號位
符號位浮點型的符號位只有一位,為最高位。該位為1,表示負數,該位為0,為非負數。
2)指數字
浮點型的指數字以補碼形式儲存,是科學計數法的指數部分。
3)基數字
基數字是浮點型的最後一位,這個位決定數值的精度。
浮點型儲存分段表
序號資料型別
符號位指數字
基數字偏差值
1float18
23127
2double111
521023
3long double115
6416383
例 檢測float、double和long double的儲存狀態
#include
int main(void)
編譯和執行結果
[root@localhost ccc]# gcc c21.c
[root@localhost ccc]# ./a.out
float (2.0) = 40000000
float (2.5) = 40200000
double(2.0) = 4000000000000000
double(2.5) = 4004000000000000
londou(2.0) = 00004000 80000000 00000000
londou(2.5) = 00004000 a0000000 00000000
整型 字元型和浮點型
1.整型資料型別 c定義了5種整型資料型別。整型資料型別表 序號型別名稱 說明位元組數 取值範圍 1signed char 有符號的單位元組整數型別 1 128 127 2short int 短整型2 32768 32767 3int整型4 2147438648 2147438647 4long i...
整型和浮點型
ansi c沒有規定長整型比短整型長 只規定不得比短整型短 下表說明了各種整型值的最小範圍 型別 最小範圍 32位機器 gcc編譯器上 char 0 127 1b signed char 127 127 1b unsigned char 0 255 1b short int 32767 32767 ...
C 字串和整型 浮點型
using system class class1 trim方法,刪除字串中的空格或其它字元 string stre stra.trim console.writeline stre stre 使用 顯示引號 和反斜線 string strf c windows system32 console.w...