Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C Operator Precedentie & Associativiteit Begrijpen: Duidelijke Gids

Precedentie van operators

De precedentie van operators bepaalt welke operator eerst wordt uitgevoerd als er meer dan één operator in een expressie is.

Laten we een voorbeeld overwegen:

 int x = 5 - 17* 6;

In C is de precedentie van * hoger dan - en =. Daarom wordt 17 * 6 eerst geëvalueerd. Vervolgens wordt de expressie met - geëvalueerd omdat de precedentie van - hoger is dan die van =.

Hier is een tabel van operators precedentie van hoger naar lager. De eigenschap van associativiteit zal kort besproken worden.

Operators Precedentie & Associativiteit Tabel

Operator Betekenis van operator Associativiteit
()
[]
->
.
Functionele aanroep
Array element referentie
Indirecte lidselectie
Directe lidselectie
Links naar rechts
!
~
+
-
++
--
&
*
sizeof
(type)
Logische negatie
Bitwise(1 's) complement
Unaire plus
Unaire min
Increment
Decrement
Dereferentie (Adres)
Pointer referentie
Retourneert de grootte van een object
Typecast (conversie)
Rechts naar links
*
/
%
Vermenigvuldigen
Delen
Rest
Links naar rechts
+
-
Binaire plus(Optelling)
Binaire min(Aftrekking)
Links naar rechts
<<
>>
Linksshift
Rechtshift
Links naar rechts
<
<=
>
>=
Kleiner dan
Kleiner dan of gelijk
Groter dan
Groter dan of gelijk
Links naar rechts
==
!=
Gelijk aan
Niet gelijk aan
Links naar rechts
& Bitwise EN Links naar rechts
^ Bitwise exclusieve OF Links naar rechts
| Bitwise OF Links naar rechts
&& Logische EN Links naar rechts
|| Logische OF Links naar rechts
?: Conditionele Operator Rechts naar links
=
*=
/=
%=
+=
-=
&=
^=
|=
<<=
>>=
Eenvoudige toewijzing
Product toewijzen
Quotiënt toewijzen
Rest toewijzen
Som toewijzen
Verschil toewijzen
Bitwise EN toewijzen
Bitwise XOR toewijzen
Bitwise OF toewijzen
Linksshift toewijzen
Rechtshift toewijzen
Rechts naar links
, Scheidingsteken van expressies Links naar rechts

Associativiteit van Operators

De associativiteit van operators bepaalt de richting waarin een expressie wordt geëvalueerd. Bijvoorbeeld,

 b = a;

Hier wordt de waarde van a aan b toegewezen, en niet andersom. Omdat de associativiteit van de = operator van rechts naar links is.

Ook, als twee operators dezelfde precedentie (prioriteit) hebben, bepaalt associativiteit de richting waarin ze uitgevoerd worden.

Laten we een voorbeeld overwegen:

 1 == 2 != 3

Hier hebben operators == en != dezelfde precedentie. En hun associativiteit is van links naar rechts. Daarom wordt 1 == 2 eerst uitgevoerd.

De bovenstaande expressie is equivalent aan:

 (1 == 2) != 3

Let op: Als een statement meerdere operators heeft, kunt u haakjes () gebruiken om de code leesbaarder te maken.

Inhoudsopgave

C Taal

  1. C++ Strings Beheersen: C-Stijl vs std::string
  2. C-functies: Structuur, declaratie, aanroep en argumenten
  3. C# Reflectie onder de knie: runtime-typeontdekking en dynamische programmering
  4. C++ comments: best practices voor leesbare, onderhoudbare code
  5. Beheersing van C's free() functie: Praktische gids & voorbeeld
  6. C Standaardbibliotheek-functies onder de knie krijgen: Een praktische gids
  7. Constructor overloading in C#: flexibele klassen ontwerpen
  8. C++ Constructor Initialisatielijst: Waarom en Hoe u Het Gebruikt
  9. C# Encapsulatie Beheersen: Code Beschermen en Design Verbeteren
  10. C Header-bestanden begrijpen: Typen, gebruik en best practices
  11. User-Defined Functies in C Beheersen: Een Stap-voor-Stap Gids