Tässä opetusohjelmassa opit operaattoreiden etusijasta ja assosiatiivisuudesta esimerkkien avulla.
Operaattoreiden etusija
Operaattoreiden etusija määrittää, mikä operaattori suoritetaan ensin, jos lausekkeessa on enemmän kuin yksi operaattori.
Tarkastellaanpa esimerkkiä:
int x = 5 - 17* 6;
C: ssä etusija *on suurempi kuin -ja =. Siksi 17 * 6arvioidaan ensin. Sitten ilmaisu, johon osallistuminen -arvioidaan, koska etusija -on suurempi kuin =.
Tässä on taulukko operaattoreiden etusijasta korkeammasta alempaan. Omaisuutta assosiatiivisuus keskustellaan lähiaikoina.
Operaattoreiden etusija- ja assosiaatiotaulukko
| Operaattori | Operaattorin merkitys | Assosiatiivisuus |
|---|---|---|
| () () -> . | Toiminnallinen puhelu Taulukkoelementtiviite Epäsuora jäsenvalinta Suora jäsenvalinta | Vasemmalta oikealle |
| ! ~ + - ++ - & * sizeof (tyyppi) | Looginen negaatio bittikohtaisesti (1: t) täydentänyt Unary plus Unary miinus Increment Decrement Dereference (osoite) Osoittimen viite Palauttaa objektin koon Typecast (muunnos) | Oikealta vasemmalle |
| * / % | Kerro Jaa loppu | Vasemmalta oikealle |
| + - | Binaarinen plus (lisäys) Binaarinen miinus (vähennyslasku) | Vasemmalta oikealle |
| << >> | Vasen vaihto Oikea vaihto | Vasemmalta oikealle |
| < <= > > = | Vähemmän tai vähemmän Suurempi kuin Suurempi tai yhtä suuri | Vasemmalta oikealle |
| == ! = | Yhtä kuin Ei yhtä | Vasemmalta oikealle |
| & | Bittikohtaisesti JA | Vasemmalta oikealle |
| ^ | Bituaalisesti yksinoikeudella TAI | Vasemmalta oikealle |
| | | Bittiä TAI | Vasemmalta oikealle |
| && | Looginen JA | Vasemmalta oikealle |
| || | Looginen TAI | Vasemmalta oikealle |
| ?: | Ehdollinen operaattori | Oikealta vasemmalle |
| = * = / = % = + = - = & = = | = << = >> = | Yksinkertainen määritys Määritä tuote Määritä osamäärä Määritä loppu Määritä summa Määritä ero Määritä bittiä JA Määritä bittiä XOR Määritä bittiä TAI Määritä vasen siirto Määritä oikea siirto | Oikealta vasemmalle |
| , | Lausekkeiden erotin | Vasemmalta oikealle |
Operaattoreiden assosiatiivisuus
Operaattorien assosiatiivisuus määrittää suunnan, johon lauseke arvioidaan. Esimerkiksi,
b = a;
Tässä a: n arvo osoitetaan b: lle, eikä päinvastoin. Se johtuu siitä, että =operaattorin assosiatiivisuus on oikealta vasemmalle.
Lisäksi, jos läsnä on kaksi saman prioriteetin (prioriteetin) operaattoria, assosiatiivisuus määrittää suunnan, johon ne suoritetaan.
Tarkastellaanpa esimerkkiä:
1 == 2! = 3
Tässä operaattorit ==ja !=on sama etusija. Ja heidän assosiatiivisuutensa on vasemmalta oikealle. Siksi 1 == 2suoritetaan ensin.
Yllä oleva ilmaus vastaa:
(1 == 2)! = 3
Huomaa: Jos lauseella on useita operaattoreita, voit ()tehdä koodista luettavamman sulkeiden avulla.








