無論是加減乘除還是大于小于,都需要用到運(yùn)算符,在C語言中的運(yùn)算符和我們平時(shí)用的基本上都差不多。
運(yùn)算符包括賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符、位邏輯運(yùn)算符、位移運(yùn)算符、關(guān)系運(yùn)算符、自增自減運(yùn)算符。大多數(shù)運(yùn)算符都是二目運(yùn)算符,即運(yùn)算符位于兩個(gè)表達(dá)式之間。單目運(yùn)算符的意思是運(yùn)算符作用于單個(gè)表達(dá)式。(具體什么是表達(dá)式下一節(jié)再說)
一、賦值運(yùn)算符
賦值語句的作用是把某個(gè)常量或變量或表達(dá)式的值賦值給另一個(gè)變量。符號(hào)為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。
注意:賦值語句左邊的變量在程序的其他地方必須要聲明。
得已賦值的變量我們稱為左值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的左邊;產(chǎn)生值的表達(dá)式我們稱為右值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的右邊。常數(shù)只能作為右值。
例如:
count=5;
total1=total2=0;
第一個(gè)賦值語句大家都能理解。
第二個(gè)賦值語句的意思是把0同時(shí)賦值給兩個(gè)變量。這是因?yàn)橘x值語句是從右向左運(yùn)算的,也就是說從右端開始計(jì)算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢?
(total1=total2)=0;
這樣是不可以的,因?yàn)橄纫憷ㄌ?hào)里面的,這時(shí)total1=total2是一個(gè)表達(dá)式,而賦值語句的左邊是不允許表達(dá)式存在的。
二、算術(shù)運(yùn)算符
在C語言中有兩個(gè)單目和五個(gè)雙目運(yùn)算符。
符號(hào) 功能
+ 單目正
- 單目負(fù)
* 乘法
/ 除法
% 取模
+ 加法
- 減法
下面是一些賦值語句的例子, 在賦值運(yùn)算符右側(cè)的表達(dá)式中就使用了上面的算術(shù)運(yùn)算符:
Area=Height*Width;
num=num1+num2/num3-num4;
運(yùn)算符也有個(gè)運(yùn)算順序問題,先算乘除再算加減。單目正和單目負(fù)最先運(yùn)算。
取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除所得的余數(shù)。例如:
a=7%4;
最終a的結(jié)果是3,因?yàn)?%4的余數(shù)是3。
那么有人要問了,我要想求它們的商怎么辦呢?
b=7/4;
這樣b就是它們的商了,應(yīng)該是1。
也許有人就不明白了,7/4應(yīng)該是1.75,怎么會(huì)是1呢?這里需要說明的是,當(dāng)兩個(gè)整數(shù)相除時(shí),所得到的結(jié)果仍然是整數(shù),沒有小數(shù)部分。要想也得到小數(shù)部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個(gè)數(shù)變?yōu)榉钦麛?shù)。
那么怎樣由一個(gè)實(shí)數(shù)得到它的整數(shù)部分呢?這就需要用強(qiáng)制類型轉(zhuǎn)換了。例如:
a=(int) (7.0/4);
因?yàn)?.0/4的值為1.75,如果在前面加上(int)就表示把結(jié)果強(qiáng)制轉(zhuǎn)換成整型,這就得到了1。那么思考一下a=(float) (7/4);最終a的結(jié)果是多少?
單目減運(yùn)算符相當(dāng)于取相反值,若是正值就變?yōu)樨?fù)值,若是負(fù)數(shù)就變?yōu)檎怠?/P>
單目加運(yùn)算符沒有意義,純粹是和單目減構(gòu)成一對(duì)用的。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C語言教程匯總計(jì)算機(jī)等級(jí)考試二級(jí)C語言常見知識(shí)點(diǎn)總結(jié)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |