今天就來跟著學霸來學一下基本數據類型學習點
邏輯類型
true false
0代表假 非0為真
整數類型
unsigned 無符號
signed 有符號 最高位為符號位 0為正,1為負編譯器中默認為有符號
原碼:符合人的邏輯思維的二進制數據,最高位為符號位
反碼:正數的反碼與原碼相同,負數的反碼:符號位保持不變,其余位取反補碼:正數的補碼和原碼相同,負數的補碼在反碼的基礎上加1
計算機中數據以補碼的形式存放
char 1個字節 0~255 -128~127 數據越界:注意char的取值范圍 -128-> 10000000(二進制)(臨界值)
char還可以當做字符類型,其實本質還是整型,用0~127代表了128個字符 short 2個字節
int 4個字節 16位機中占2個字節
long 4個字節 64位機中占8個字節
浮點類型
編譯器默認保留小數點后六位
float 占4字節 精確到小數點后6位 有效位為6~7位
double 占8個字節 精確到小數點后16位 有效位為15~16位
浮點數在內存中默認保存小數點后六位(float 和 double類型都是)
浮點數在內存中的保存形式為科學技術法且為近似保存,保存后輸出可能造成精度失
準。
構造類型
指針類型
void型
常量:在程序執行過程中不會改變的數據
整型常量:10
浮點型常量:1.23
字符常量:‘a’‘0’
字符串常量: “farsight”
標識常量:
define 可以替換一個常量或者表達式,甚至可以替換一句語句變量:在程序執行過程中可以改變的量一般形式:數據類型 變量名;
初始化:在定義的同時進行賦值
局部變量:函數內部定義,作用域為該函數
全局變量:函數外定義,作用域為整個文件
存儲類型 數據類型 變量名;
auto:只能夠修飾局部變量,定義局部變量不寫存儲類型的話會默認為auto register:修飾的變量會存放在寄存器中,加快程序的運行效率 extern :外部聲明 修飾全局變量
static: 修飾全局變量:限制了全局變量的作用域,僅本文件可用,其他文件無法通過extern 的方式引用
修飾局部變量:局部變量的存儲位置會從棧區換為數據區,作用域不變,生命周期延長,當進程結束后才會自動釋放
1、只能夠初始化一次
2、運算的結果會保留
修飾函數:該函數僅本文件可用
(棧區,堆區,數據區的區別)
二、數據類型轉換
隱式轉換 (編譯器優化的結果)
1、賦值轉換
可能會出現數據越界
當高精度數據轉化為低精度數據類型時,會出現精度丟失
2、算術運算
當一個低精度數據類型的數據和一個高精度數據類型的數據進行運算,計算結果會
自動轉化為高精度數據類型
char、short-->int-->long-->float-->double
3、當有符號數據和無符號數據進行運算,會自動轉化為無符號
強制轉換(人為強制轉換想達到某一個效果)