C Operatorių pirmenybė ir asociatyvumas: apibrėžimas ir pavyzdžiai

Šioje pamokoje sužinosite apie operatorių pirmenybę ir asociatyvumą naudodamiesi pavyzdžiais.

Operatorių pirmenybė

Operatorių pirmenybė nustato, kuris operatorius vykdomas pirmiausia, jei išraiškoje yra daugiau nei vienas operatorius.

Panagrinėkime pavyzdį:

 int x = 5 - 17* 6;

C atveju pirmenybė *yra didesnė už -ir =. Taigi, 17 * 6pirmiausia įvertinamas. Tada išraiška, susijusi su -vertinama kaip pirmenybė -yra didesnė nei =.

Čia pateikiama operatorių pirmenybės lentelė nuo aukštesnės iki žemesnės. Netrukus bus aptarta asociatyvumo savybė .

Operatorių pirmenybės ir asociacijos lentelė

operatorius Operatoriaus reikšmė Asociatyvumas
()
()
->
.
Funkcinio skambučio
masyvo elemento nuoroda
Netiesioginis nario pasirinkimas
Tiesioginis nario pasirinkimas
Iš kairės į dešinę
!
~
+
-
++
-
&
*
sizeof
(tipas)
Loginiai paneigimas
Bitinis (1 '-os) papildyti
Vienetinis plius
unarinį atėmus
Taškinis
Silpimas
Dereference (adresas)
Pointer pagalbos
grąžina objekto dydis
Spausdinti medžiaga (perskaičiavimo)
Iš dešinės į kairę
*
/
%
Padauginti
padalinti
likutį
Iš kairės į dešinę
+
-
Dvejetainis pliusas (pridėjimas)
Dvejetainis minusas (atimtis)
Iš kairės į dešinę
<<
>>
Kairysis poslinkis
Dešinysis poslinkis
Iš kairės į dešinę
<
<=
>
> =
Mažesnis nei
mažesnis arba lygus
didesnis nei
didesnis arba lygus
Iš kairės į dešinę
==
! =
Lygu su
Nelygu
Iš kairės į dešinę
& Bitais IR Iš kairės į dešinę
^ Išskirtinis ARBA Iš kairės į dešinę
| ARBA bitais Iš kairės į dešinę
&& Loginis IR Iš kairės į dešinę
|| Logiška ARBA Iš kairės į dešinę
?: Sąlyginis operatorius Iš dešinės į kairę
=
* =
/ =
% =
+ =
- =
& =
=
| =
<< =
>> =
Paprastas priskyrimas
Priskirti produktą
Priskirti koeficientą
Priskirti likutį
Priskirti sumą
Priskirti skirtumą
Priskirti po truputį IR
Paskirti po truputį XOR
Paskirti po truputį ARBA
Paskirti kairįjį poslinkį
Priskirti dešinįjį poslinkį
Iš dešinės į kairę
, Išraiškų skyrėjas Iš kairės į dešinę

Operatorių asociatyvumas

Operatorių asociatyvumas lemia išraiškos vertinimo kryptį. Pavyzdžiui,

 b = a;

Čia a reikšmė priskiriama b, o ne atvirkščiai. Taip yra todėl, kad =operatoriaus asociatyvumas yra iš dešinės į kairę.

Be to, jei yra du tos pačios pirmumo (prioriteto) operatoriai, asociatyvumas nustato jų vykdymo kryptį.

Panagrinėkime pavyzdį:

 1 == 2! = 3

Čia operatoriai ==ir !=turi tą patį prioritetą. Jų asociatyvumas yra iš kairės į dešinę. Vadinasi, 1 == 2vykdoma pirmiausia.

Aukščiau pateiktas posakis atitinka:

 (1 == 2)! = 3

Pastaba: jei sakinyje yra keli operatoriai, galite naudoti skliaustus (), kad kodas būtų lengviau įskaitomas.

Įdomios straipsniai...