一、整型資料型別
1、整型資料型別名稱及關鍵詞

2、為什么要定義不同的整型型別?
因為不同的資料型別所占用的記憶體大小是不同的,他們可表示的資料范圍也是不同的,那么char,short,int,long,long long,分別占用幾個位元組?具體的數值范圍又是多少?C語言并未規定資料型別的大小范圍,具體實作交由編譯器和平臺來實作,那么我們怎么知道Visual studio 2022中各種整型型別能夠表示的范圍呢?我們可以用sizeof測量,
3、如何測量資料型別大小
- sizeof可以測量資料型別
- sizeof可以測量變數
- sizeof可以測量常量
1 //測量整型資料型別占用的位元組 2 #include<stdio.h> 3 int main() 4 { 5 printf("char=%d\n", sizeof(char)); 6 printf("short=%d\n", sizeof(short)); 7 printf("int=%d\n", sizeof(int)); 8 printf("long=%d\n", sizeof(long)); 9 printf("long long=%d\n", sizeof(long long)); 10 return 0; 11 }
運行結果:

4、整型數值范圍結論

5、不想最高位當符號位怎么做?

二、浮點型資料型別
1、int型別能裝下小數嗎?
1 //錯誤示范 2 #include<stdio.h> 3 int main() 4 { 5 int a=1.345678; 6 int b=0.123456; 7 int c=5.234567; 8 printf("a=%d\n",a); 9 printf("b=%d\n",b); 10 printf("c=%d\n",c); 11 return 0; 12 }
運行結果:

所以整型資料型別是不能表示小數的!
引入新的資料型別:浮點型資料型別
2、單精度浮點型別float
1 #include<stdio.h> 2 int main() 3 { 4 float a=1.345678; 5 float b=0.00001; 6 float c=365.12345; 7 printf("a=%f\n",a); 8 printf("b=%f\n",b); 9 printf("c=%f\n",c); 10 return 0; 11 } 12 //%d占位符用于整型 13 //%f占位符用于浮點型
運行結果:

結果顯示c=365.12344
- 所以浮點型并不能表示無限精確,會有誤差,
- float至少能表示6位有效數字
3、雙精度浮點型別double
1 #include<stdio.h> 2 int main() 3 { 4 double a=1.345678; 5 double b=0.00001; 6 double c=365.12345; 7 printf("a=%f\n",a); 8 printf("b=%f\n",b); 9 printf("c=%f\n",c); 10 return 0; 11 }
運行結果:

4、浮點型別所占位元組
1 //測量浮點型資料型別所占用的位元組 2 #include<stdio.h> 3 int main() 4 { 5 printf("float=%d\n",sizeof(float)); 6 printf("double=%d\n",sizeof(double)); 7 return 0; 8 }
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/510655.html
標籤:C
上一篇:C語言常見的八大排序(詳解)
