C语言数据类型 / 变量类型 - C语言零基础入门教程
目錄
- 一.C 語言數據類型分類
- 二.C 語言整形
- 1.無符號整形(16 位系統)
- 2.有符號整形(16 位系統)
- 3.int 和 long 區別
- 4.超出取值范圍的整形
- 三.C 語言浮點型 float/double
- 1.float(單精度)
- 2.double(雙精度)
- 四.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.C 語言數據類型分類
C 語言的數據類型包括:整型、字符型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
/************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言數據類型 / 變量類型 //@Time:2021/05/21 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /************************************************************************/int : 占據的內度存大小是2 個byte short int : 占據的內度存大小是4 個byte long int : 占據的內度存大小是4 個byte float : 占據的內度存大小是4 個byte double : 占據的內度存大小是8 個byte char : 占據的內度存大小是1 個byte二.C 語言整形
C 語言的整形,分類兩類,一種是有符號的(正數/負數),一種是無符號的(默認是大于等于零);
1.無符號整形(16 位系統)
/************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言數據類型 / 變量類型 //@Time:2021/05/21 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /************************************************************************/unsigned int 取值范圍 :0~65535 unsigned short int 取值范圍 :0~65535 unsigned long int 取值范圍 :0~4294967295無符號整形,默認重 0 開始,永遠不可能有負數;
2.有符號整形(16 位系統)
/************************************************************************/ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com /************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言數據類型 / 變量類型 //@Time:2021/05/21 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /************************************************************************/int 取值范圍 :-32768~+32767 short int 取值范圍 :-32768~+32767 long int 取值范圍 :-2147483648~+2147483647有符號整形有正負區間(包含大于 0 和小于 0 兩個區間),實際上總長度和無符號整形一樣;
3.int 和 long 區別
早期的操作系統是 16 位系統
int用二字節表示,范圍是-32768~32767; long用4字節表示,范圍是-2147483648~2147483647;后來發展到 32 位操作系統
int 用4字節表示,與long相同,范圍是-2147483648~2147483647;目前的操作系統已發展到 64 位操作系統,但因程序編譯工藝的不同,兩者表現出不同的差別:
32位編譯系統:int占四字節,與long相同,范圍是-2147483648~2147483647; 64位編譯系統:int占四字節,long占8字節,long數據范圍變為:-2^63 ~ 2^63-1;4.超出取值范圍的整形
/************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言數據類型 / 變量類型 //@Time:2021/05/21 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /************************************************************************/#include "stdafx.h"int main() {int i=2147483647; //32位操作系統 int 取值范圍 :-2147483648~+2147483647unsigned long int j=4294967295; //unsigned long int 取值范圍 :0~4294967295printf("%d %d %u %u\n",i,i+1,j,j+1); }/* 輸出結果:2147483647 -2147483648 4294967295 0 請按任意鍵繼續. . . */由此可見:當 int 型整數超出自己范圍時,會從它的最小值重新開始!( int 和 long int 取值范圍一樣)
三.C 語言浮點型 float/double
C 語言變量類型除了整形之外,還有浮點數類型,例如:3.5,3.1415927685……
浮點數類型也分為兩類,一種是 float 單精度 ,一種是 double 雙精度,區別就在于 double 的取值范圍不管是小數部分還是整數部分都比 float 更高;
1.float(單精度)
- float 整數部分取值范圍:能表達式萬億級別,已經夠大了,實際開發完全夠用;
- float 小數部分取值范圍:最多只能精確到小數點后 6 位;
2.double(雙精度)
- double 整數部分取值范圍:比 float 更大,腦補就行了….
- double 小數部分取值范圍:最多只能精確到小數點后 15 位;
舉個例子:
/************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言數據類型 / 變量類型 //@Time:2021/05/21 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /************************************************************************/#include "stdafx.h"int main() {float num1 = 3.1415926535;double num2 = 3.1415926535;printf("float num1 = %.10f \n",num1);printf("double num2 = %.10f \n", num2); }/* 輸出結果:float num1 = 3.1415927410 double num2 = 3.1415926535 請按任意鍵繼續. . . */由上面可以看出,float 類型的小數點最多只能精確到第 6 位,第 7 位開始就已經不準確了,而 double 類型可以精確到 15 位,一般項目中使用 float 類型已經完全足夠了;
四.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言數據類型 / 變量類型
總結
以上是生活随笔為你收集整理的C语言数据类型 / 变量类型 - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 for 循环 - C语言零基础入
- 下一篇: C语言 __DATE__ - C语言零基