目錄
零基礎 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~+2147483647
unsigned long int j=4294967295; //unsigned long int 取值范圍 :0~4294967295
printf("%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 類型已經完全足夠了;
四.猜你喜歡
- 安裝 Visual Studio
- 安裝 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸載
- Visual Studio 2003/2015 卸載
- 設置 Visual Studio 字體/背景/行號
- C 語言 Hello World
- C 語言代碼注釋
- C 語言數據類型 / 變量類型
未經允許不得轉載:猿說編程 » C 語言數據類型 / 變量類型
本文由博客 - 猿說編程 猿說編程 發布!