Selles õpetuses saate näidete abil teada operaatorite ülimuslikkusest ja assotsiatiivsusest.
Operaatorite ülimuslikkus
Operaatorite ülimuslikkus määrab, milline operaator täidetakse esimesena, kui avaldises on rohkem kui üks operaator.
Vaatleme näiteks:
int x = 5 - 17* 6;
C-s *on paremusjärjestus kui -ja =. Seega 17 * 6hinnatakse kõigepealt. Siis -hinnatakse kaasavat väljendit kui ülimuslikkust -suurem kui =.
Siin on tabel operaatorite paremusjärjestusest madalamale. Assotsiatiivsuse omadust arutatakse peagi.
Operaatorite tähtsuse ja assotsiatiivsuse tabel
| Operaator | Operaatori tähendus | Assotsiatiivsus |
|---|---|---|
| () () -> . | Funktsionaalse kõne massiivi elemendi kaudne liikme valik Liikme otsene valik | Vasakult paremale |
| ! ~ + - ++ - & * Sizeof (liik) | Loogiline eitus Bitikaupa (1 's) täiendada Unaarsed pluss Unaarsed miinus Juurdekasv Kahanemine dereference (Aadress) Pointer viide Tagastab Objekti suuruse jklle harjunud roll (konversioon) | Paremalt vasakule |
| * / % | Korruta jagamine ülejäänud | Vasakult paremale |
| + - | Binaarne pluss (liitmine) Binaarne miinus (lahutamine) | Vasakult paremale |
| << >> | Vasak nihe Parem nihe | Vasakult paremale |
| < <= > > = | Vähem kui väiksem või võrdne Suurem kui suurem või võrdne | Vasakult paremale |
| == ! = | Võrdne väärtusega Pole võrdne | Vasakult paremale |
| & | Pikkade kaupa JA | Vasakult paremale |
| ^ | Bitipõhine eksklusiivne OR | Vasakult paremale |
| | | Piki VÕI | Vasakult paremale |
| && | Loogiline JA | Vasakult paremale |
| || | Loogiline VÕI | Vasakult paremale |
| ?: | Tingimuslik operaator | Paremalt vasakule |
| = * = / = % = + = - = & = = | = << = >> = | Lihtne omistamine Toote määramine Määrake jagatis Määrake jääk Määrake summa Määrake erinevus Määrake bitipidi JA määrake bitipidi XOR Määrake bitipidi VÕI Vasak nihe Määrake parem nihe | Paremalt vasakule |
| , | Avaldiste eraldaja | Vasakult paremale |
Operaatorite assotsiatiivsus
Operaatorite assotsiatiivsus määrab avaldise hindamise suuna. Näiteks,
b = a;
Siin omistatakse väärtus b väärtusele a, mitte vastupidi. Sellepärast, et =operaatori assotsiatiivsus on paremalt vasakule.
Samuti, kui esineb kaks sama prioriteediga (prioriteediga) operaatorit, määrab assotsiatiivsus suuna, milles nad täidavad.
Vaatleme näiteks:
1 == 2! = 3
Siin on operaatorid ==ja !=neil on sama ülimuslikkus. Ja nende assotsiatiivsus on vasakult paremale. Seega 1 == 2hukatakse kõigepealt.
Ülaltoodud väljend on samaväärne järgmisega:
(1 == 2)! = 3
Märkus. Kui avaldusel on mitu operaatorit, saate ()koodi loetavamaks muutmiseks sulgudes kasutada .








