C語言數據類型 / 變量類型 - C語言零基礎入門教程


目錄

零基礎 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 類型已經完全足夠了;

四.猜你喜歡

  1. 安裝 Visual Studio
  2. 安裝 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸載
  4. Visual Studio 2003/2015 卸載
  5. 設置 Visual Studio 字體/背景/行號
  6. C 語言 Hello World
  7. C 語言代碼注釋
  8. C 語言數據類型 / 變量類型

未經允許不得轉載:猿說編程 » C 語言數據類型 / 變量類型

本文由博客 - 猿說編程 猿說編程 發布!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM