- 表達式:表達式是c語言的主體,在c語言中,表達式由操作符和操作數組成。簡單的表達式可以只有一個操作數。根據操作符的個數,可以將表達式分為簡單表達式和復雜表達式,簡單的表達式只含有一個操作符(如:5+5),而復雜的表達式則含有兩個或者兩個以上的操作符(如5+5+6*4);表達式是本身什么事情也不做,只是返回結果的值,在程序不多結果值做任何處理的情況下,返回的結果值不起任何作用;表達式產生的作用有兩種情況:(1)放在賦值語句的右側;(2)放在函數的參數中。
- 賦值運算符和賦值表達式:“=”就是賦值運算符,其作用是將一個數據賦值給一個變量。變量的賦初值(int iNumber=12;char cMyChar=‘a’;int iAmount=1+2)。
- 自動類型轉換:低級數據向高級轉換,低級數據會變高級,數據不會失真;高級數據向低級數據轉換時,數據級別會降低,並且會發生截斷(如float fMum=1.02f;int j=i)。
- 強制類型轉換:如float i=1.01f;int j=(int)i;
#include<stdio.h> int main() { char cChar; /*字符型變量*/ short int iShort; /*短整型變量*/ int iInt; /*整形變量*/ float fFloat=70000; /*浮點型變量*/ cChar=(char)fFloat; /*強制賦值轉換*/ iShort=(short)fFloat; iInt=(int)fFloat; printf("........."); return 0; }
- 算數運算符和表達式:單目運算符(正,負);雙目運算符(乘法,除法,取模,加法,減法);優先級分別是(單目運算符,乘法、除法、取模,加法、減法)。
- 算術表達式:含有算術運算符的表達式。
- 算術運算符的結合性:當算術運算符的優先級相同的時候,結合方向是自左向右(如a-b+c)。
- 自增自減運算符:自增運算符“++”和自減運算符“--”。自增運算符和自減運算符對變量的操作分別是增加1和減少1;
int a=1,b=1,c; c=++a;//c的值為2,a的值為2 c=b++;//c的值為1,b的值為2 //當自增自減運算符在變量的前面時,變量在參加表達式之前就完成了自增或者自減運算; //當放在后面時,變量在參加表達式之后完成自增或自減;
- 關系運算符和表達式:關系運算符的作用就是判斷兩個操作數的大小關系,關系運算符包括:>,>=,<,<=,==,!=。優先級和結合性:關系運算符的結合性是自左向右的。
- 邏輯運算符和表達式:邏輯運算符根據表達式的真或者假屬性返回其真值或者假值;邏輯運算符包括邏輯與(&&),邏輯或(||),單目邏輯非(!);優先級和結合性:自左向右的結合性,優先級從高到低依次為:單目邏輯非運算符“!”,邏輯與運算符“&&”,邏輯或運算符“||”。
- 位邏輯運算符和表達式:位運算符是C語言中比較有特色的內容。位邏輯運算符可以實現位的設置、清零、取反和取補操作。利用位運算可以實現很多匯編語言才能實現的功能。為邏輯運算符包括:位邏輯與“&”,位邏輯或“|”,位邏輯非“^”,取補”~“;在程序中,位邏輯運算符一般被程序員用作開關標志。較低層次的硬件設備驅動程序,經常需要對輸入輸出設備進行為操作。
- 逗號運算符和表達式:在c語言中,可以用逗號將多個表達式分隔開來。其中,用逗號分開的表達式分別計算,並且整個表達式的值就是最后一個表達式的值。逗號表達式稱為順序求值運算符,逗號表達式的一般形式是:表達式1,表達式2,表達式3,...,表達式n;逗號表達式的求解思路是:先求表達式1,再求表達式2,已知求解到表達式n。整個逗號表達式的值是表達式n的值。如:Value=2+1,5+3,4+5;若按照上述說法,Value的值應該為9,但是實際上Value的值為3,因為還涉及到一個運算符的優先級問題,賦值運算符優先級大於逗號運算符。但是Value=(2+1,5+3,4+5);的Value的值就是9了。
- 復合賦值運算符:符合運算符是C原因中獨有的,實際這是一種操作的做些形式,可使得變量的操作描述方式更為簡潔;如Value+=3;實際就是Value=Value+3;
- 運算符的優先級表如下:
