運(yùn)算符
運(yùn)算符就像動(dòng)詞一樣,可以導(dǎo)致變量發(fā)生變化
算術(shù)運(yùn)算符
常用二元算術(shù)運(yùn)算符溉知,加減乘除 + - * /
余數(shù)運(yùn)算符
余數(shù)或模(modules)運(yùn)算符(%)用于計(jì)算整數(shù)除法的余數(shù)陨瘩。
int a = 7;
int b = 3;
int c = a%b; // c is now 1
遞增和遞減運(yùn)算符
a++;
++a;
前綴版本++a在其他任何求值發(fā)生前遞增a的值,在表達(dá)式的余下部分將使用遞增后的值级乍。
后綴版本a++在其他求值發(fā)生之后遞增a的值舌劳,在表達(dá)式的余下部分將使用原來(lái)的值。
int a = 9;
int b;
b = a++;
int c = 9;
int d;
d = ++c;
優(yōu)先級(jí)
理同數(shù)學(xué)優(yōu)先級(jí)玫荣,乘法和除法具有比加法和減法更高的優(yōu)先級(jí)甚淡。
取負(fù)運(yùn)算符
一元減號(hào)用于把一個(gè)算術(shù)值改為它的負(fù)值:
int a = 9;
int b;
b = -a; // b is now -9
比較運(yùn)算符
a > b // true, if a is greater than b
a < b // true, if a is less than b
a >= b // true, if a is greater than or equal to b
a == b // true, if a is equal to b
a != b // true, if a is not equal to b
邏輯運(yùn)算符
C語(yǔ)言使用短路求值法。表達(dá)式從左到右求值捅厂。
if ( b < a && CheckSomething () )
{
...
}
邏輯“非”運(yùn)算符
a = ! expression;
賦值運(yùn)算符
a = b;
把b的值賦予a贯卦。當(dāng)然,a必須能夠被賦值焙贷∧旄睿可以賦值的實(shí)體稱為左值,因?yàn)樗鼈兂霈F(xiàn)在賦值運(yùn)算符的左邊辙芍。
/* set up */
float a;
float b[100];
float *c;
struct dailyTemperatures today;
struct dailyTemperatures *todayPtr;
c = &a;
todayPtr = &today;
/* legal lvalues */
a = 76;
b[0] = 76;
*c = 76;
today.high = 76;
todayPtr->high = 76;
轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換
通過(guò)使用強(qiáng)制轉(zhuǎn)換啡彬,強(qiáng)制編譯器會(huì)把變量的值轉(zhuǎn)換成一種不同的類型。
int a = 6;
int b = 4;
float c, d;
c = a / b;
d = ( float )a / ( float )b;
float強(qiáng)制轉(zhuǎn)換令強(qiáng)制編譯器把a(bǔ)和b轉(zhuǎn)換成float類型故硅,并執(zhí)行浮點(diǎn)型除法運(yùn)算庶灿。
其他賦值運(yùn)算符
C語(yǔ)言還具有結(jié)合了算術(shù)和賦值運(yùn)算的簡(jiǎn)寫(xiě)運(yùn)算符:
a += b; 等價(jià)于 a = a + b;
a -= b; 等價(jià)于 a = a - b;
a *= b; 等價(jià)于 a = a* b;
a /= b; 等價(jià)于 a = a/ b;
表達(dá)式和語(yǔ)句
C語(yǔ)言中的表達(dá)式和語(yǔ)句大致相當(dāng)于自然語(yǔ)言中的短句和句子。
表達(dá)式
最簡(jiǎn)單的表達(dá)式只有一個(gè)常量或變量:
14
bananasPerBunch
每個(gè)表達(dá)式都有一個(gè)值吃衅。
j + 14
a < b
distance = rate * time
算術(shù)或邏輯表達(dá)式的值就是通過(guò)執(zhí)行算術(shù)或邏輯運(yùn)算所得到的任何值往踢。賦值表達(dá)式的值就是賦予作為賦值目標(biāo)的變量的值。
SomeFunction()
函數(shù)調(diào)用表達(dá)式的值是該函數(shù)的返回值徘层。
表達(dá)式求值
編譯器遇到表達(dá)式峻呕,創(chuàng)建二進(jìn)制代碼利职,用于計(jì)算表達(dá)式并求出它的值。
語(yǔ)句
末尾添加分號(hào);瘦癌,變成語(yǔ)句眼耀。
復(fù)合語(yǔ)句
{
timeDelta = time2 - time1;
distanceDelta = distance2 - distance1;
averageSpeed = distanceDelta / timeDelta;
}
閉大括號(hào)后面沒(méi)有分號(hào)。這種語(yǔ)句稱為復(fù)合語(yǔ)句佩憾。