一.C語言資料型別分類
C語言的資料型別包括:整型、字符型、實型或浮點型(單精度和雙精度)、列舉型別、陣列型別、結構體型別、共用體型別、指標型別和空型別,

int : 占據的內度存大小是2 個byte short int : 占據的內度存大小是4 個byte long int : 占據的內度存大小是4 個byte float : 占據的內度存大小是4 個byte double : 占據的內度存大小是8 個byte char : 占據的內度存大小是1 個byte
二.C語言整形
C語言的整形,分類兩類,一種是有符號的(正數/負數),一種是無符號的(默認是大于等于零);
1.無符號整形(16位系統)
unsigned int 取值范圍 :0~65535 unsigned short int 取值范圍 :0~65535 unsigned long int 取值范圍 :0~4294967295
無符號整形,默認重0開始,永遠不可能有負數;
2.有符號整形(16位系統)
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.超出取值范圍的整形
/************************************************************************/
/*@File Name : helloworld.cpp
/*@Created Date : 2020/4/24 21:17
/*@Author : 猿說編程
/*@blog : www.shuopython.com
/*@Description : C語言入門教程 - 資料型別/變數型別
/************************************************************************/
#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位;
舉個例子:
/************************************************************************/
/*@File Name : float_double.cpp
/*@Created Date : 2020/4/25 11:40
/*@Author : 猿說編程
/*@blog : www.shuopython.com
/*@Description : C語言入門教程 - float和double區別
/************************************************************************/
#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 2015
2.安裝 Visual Studio 插件 Visual Assist
3.設定 Visual Studio字體/背景/行號
4.徹底卸載 Visual Studio 2008
5.徹底卸載 Visual Studio 2013/2015
轉載請注明:猿說編程 ? C語言教程 ? C語言資料型別/變數型別
技術交流、商務合作請直接聯系博主
掃碼或搜索:猿說編程

猿說編程
微信公眾號 掃一掃關注
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/20817.html
標籤:C
上一篇:資料庫錄入和處理問題
下一篇:ethercat
