基本資料型別最主要的特點就,其值不可以再分解為其它型別。也就是說,基本資料型別是自我說明的。
常量在程式執行過程中,其值不發生改變的量。在c語言中用乙個識別符號來表示,所以又叫作符號常量。
公式:#define 識別符號 常量
eg:
#define pi 3.1415926
其中#define也是一條預處理命令(預處理命令都以「#」開頭),也叫做巨集定義命令,作用是把這個識別符號定義為他後面的常量值。一旦定義,以後在這個程式中所有出現該識別符號的地方均代之以該常量值。 變數
顧名思義,它的值是可以改變的。乙個變數應該有乙個名字,在記憶體中佔據一定的儲存單元。變數的定義必須放在變數使用之前(即先宣告後使用)。一般放在函式體的開頭部分。注意:變數名和變數值是兩個不同的概念。
公式:資料型別 變數名(識別符號) = 變數值;(必須是英文輸入法的分號)
eg:
int woshibianliang =3;
int a,b,c,d;
整型變數
可以用方法 (函式)sizeof 檢查記憶體大小;資料型別都有對應的變數範圍,超過就會出現資料溢位的錯誤(精確度變小)。
實型資料(浮點型)
實行也稱為浮點型。實型常量也稱為實數或者浮點數。在c語言中,實數只採用十進位制。主要有兩種形式:十進位制小數形式、指數形式。
字元型資料
字元型資料由**字元常量和*字元變數***組成,eg:char a; 。
字元常量:就是用英文單引號括起來的乙個字元。
eg:『a』、『b』、『中』、』?』、、、
各類數值型資料之間的混合運算
變數的資料型別是可以轉換的。轉換的方法有兩種,一種是自動轉換,一種是強制轉換。
自動型別轉換
自動轉換發生在不同資料據型別的量混合運算時,有編譯系統自動完成。轉換遵循以下規則:
如果參與運算量的型別不同,則先轉換成同一種型別,然後進行運算。
轉換按資料長度增加的方向進行,以保證精度不降低。如 int 型和 long 型運算時,先把 int 型轉成 long 型後再進行運算。
所有的浮點運算都是以雙精度進行的,即使只含 float 單精度型運算的表示式,也要先轉換成 double 型再運算。
char 型和 short 型參與運算時,必須先轉換成 int 型。
在賦值運算中,賦值號兩邊量的資料型別不同時,賦值號右邊量的型別將轉換為左邊量的型別。如果右邊量的資料型別長度比左邊長時,將會丟失一部分資料,也就是降低了精度,丟失的部分會按四捨五入向前捨入。
強制型別轉換
通過型別轉換運算來實現,一般形式為: (型別說明符)(表示式)
其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。eg:
(float)a 把a轉換為浮點型
(int)(x+y) 把x+y的結果轉換為整型
需要注意的問題:
型別說明符和表示式都必須加括號(單個變數可以不加),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。
無論是強制轉換還是自動轉換,都只是為了本次運算的需要而對變數的資料長度進行的臨時性轉換,但是不改變資料說明時對該變數定義到位型別。
構造資料型別是根據已定義的乙個或多個資料型別用構造的方法來定義的。也就是說,乙個構造型別的值可以分解成若干個「成員」或「元素」。每個「成員」都是乙個基本資料型別或又是乙個構造型別。在c語言中,構造型別有以下幾種:
指標是一種特殊的,同時又是具有重要作用的資料型別。其值用來表示某個變數在記憶體儲器中的位址。雖然指標變數的取值類似於整型量,但這是兩個型別完全不同的量,因此不能混為一談。
在呼叫函式時,通常應向呼叫者返回乙個函式值。這個返回的函式值是具有一定的資料型別的,應在函式定義及函式說明中給以說明,
資料型別和表示式(c )
main.cpp 資料型別與表示式 created by mac on 15 2 16.include int main int argc,const char argv 三個數的排序 using namespace std void sortthree int x,int y,int z else...
資料型別和表示式
一 整型資料儲存格式 1 整形資料在記憶體中是以補碼形式儲存的。2 整數的原碼,反碼,補碼相同,符號位是0,其餘各位表示數值。3 負數的原碼,反碼和補碼不同。原碼 符號位為1,其餘各位表示數值的絕對值。反碼 符號位為1,其餘各位對原碼取反。補碼 反碼末位加1。上面說的都是有符號的整數,而無符號整數不...
C語言程式設計 資料型別與表示式
這章比較簡單,主要介紹了資料的分類以及他們的特點以及各種表示式。資料的分類 資料主要分為四大類,分別是基本資料型別,構造資料型別,指標型別和空型別。基本資料型別 基本資料型別分為整型,字元型和浮點型,其中整型又分為short int long 其中short佔連個位元組,int佔四個,long佔四個...