整型 字元型和浮點型

2021-05-22 06:09:34 字數 4535 閱讀 1208

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

整型和浮點型

ansi c沒有規定長整型比短整型長 只規定不得比短整型短 下表說明了各種整型值的最小範圍 型別 最小範圍 32位機器 gcc編譯器上 char 0 127 1b signed char 127 127 1b unsigned char 0 255 1b short int 32767 32767 ...

C語言基礎 整型 字元型和浮點型

1.整型資料型別 c定義了5種整型資料型別。整型資料型別表 序號型別名稱 說明位元組數 取值範圍 1signed char 有符號的單位元組整數型別 1 128 127 2short int 短整型2 32768 32767 3int整型4 2147438648 2147438647 4long i...

C 字串和整型 浮點型

using system class class1 trim方法,刪除字串中的空格或其它字元 string stre stra.trim console.writeline stre stre 使用 顯示引號 和反斜線 string strf c windows system32 console.w...