C Operaattoreiden etusija ja assosiatiivisuus: Määritelmä ja esimerkkejä

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.

Mielenkiintoisia artikkeleita...