c语言符合运算符的运算顺序,二 如何学习C语言的运算符和运算顺序
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
C語言的運(yùn)算功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語言。因此,當(dāng)多種不同運(yùn)算組成一個(gè)運(yùn)算表達(dá)式,即一個(gè)運(yùn)算式中出現(xiàn)多種運(yùn)算符時(shí),運(yùn)算的優(yōu)先順序和結(jié)合規(guī)則顯得十分重要。
初學(xué)者往往對此感到非常困難,覺得C語言學(xué)習(xí)太繁雜,其實(shí)只要我們對此合理進(jìn)行分類,找出它們與我們在數(shù)學(xué)中所學(xué)到運(yùn)算之間的不同點(diǎn)之后,記住這些運(yùn)算也就不困難了,有些運(yùn)算符在理解后更會(huì)牢記心中,將來用起來得心應(yīng)手,而有些可暫時(shí)放棄不記,等用到時(shí)再記不遲。
下面是所有的運(yùn)算符按優(yōu)先級(jí)不同分類列表:(對不起,因?yàn)楸砀耧@示不正常,已被我刪除大家可以看書上的)
表中列出15種優(yōu)先級(jí)的運(yùn)算符,從高到低,優(yōu)先級(jí)為1 ~ 15,最后邊一欄是結(jié)合規(guī)則,除第2、3級(jí)和第14級(jí)為從右至左結(jié)合外,其它都是從左至右結(jié)合,它決定同級(jí)運(yùn)算符的運(yùn)算順序。
下面我們通過幾個(gè)例子來說明:
(1) 3*20/4%10 這個(gè)表達(dá)式中出現(xiàn)3種運(yùn)算符,是同級(jí)運(yùn)算符,運(yùn)算順序按從左至右結(jié)合,因此先計(jì)算3 * 20=60,然后被4除,結(jié)果為15,最后是%(求余數(shù))運(yùn)算,所以表達(dá)式的最終結(jié)果為15%10 = 5
(2)a = 3;b = 5;c =++ a* b ;d =a + +* b;
例子中的“;”是C語言的語句分隔符,執(zhí)行順序?yàn)閺淖蟮接?#xff0c;第1條語句執(zhí)行后a的值為3,第2條語句執(zhí)行后b的值為5,第3條語句中有兩個(gè)運(yùn)算符前置+ +和*,按表中所列順序,+ +先執(zhí)行,*后執(zhí)行,所以+ + a執(zhí)行后,a的值為4,由于+ +為前置運(yùn)算,所以a的值4參與運(yùn)算,C的值為20,最后執(zhí)行第4條語句,由于a + +為后置運(yùn)算,所以a值為4參與運(yùn)算,使得d的值仍為20,而a參與運(yùn)算后其值加1,值為5。
這個(gè)例子執(zhí)行后,a的值為5,b的值為5,c的值為20,d的值也是20。
(3)a = 3,b = 5,b+ = a,c = b* 5
例子中的“,”是逗號(hào)結(jié)合運(yùn)算,上式稱為逗號(hào)表達(dá)式,自左向右結(jié)合,最后一個(gè)表達(dá)式的結(jié)果值就是逗號(hào)表達(dá)式的結(jié)果,所以上面的逗號(hào)表達(dá)式結(jié)果為40,a的值為3,b的值為8,c的值為40。
總結(jié)
以上是生活随笔為你收集整理的c语言符合运算符的运算顺序,二 如何学习C语言的运算符和运算顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言socket原理,Socket底层
- 下一篇: android封装网络请求界面,轻松搞定