Inhoudsopgave:
Video: Regular Expressions (Regex) Tutorial: How to Match Any Pattern of Text 2024
Variabelen en constanten zijn alleen nuttig als u ze kunt gebruiken om berekeningen uit te voeren. De term expressie is C ++ jargon voor een berekening. U hebt de eenvoudigste uitdrukking al gezien:
int n; // verklaring n = 1; // expression
Programmeurs combineren variabelen, constanten en operators om uitdrukkingen te maken. Een operator voert wat rekenkundige bewerkingen uit op zijn argumenten. De meeste operatoren nemen twee argumenten - deze worden binaire operatoren genoemd. Een paar operators nemen een enkel argument aan - dit zijn de unaire operatoren .
Alle uitdrukkingen retourneren een waarde en een type.
Binaire operatoren
A binaire operator is een operator die twee argumenten uitvoert. Als u var1 op var2 kunt zeggen, moet op een binaire operator zijn. De meest voorkomende binaire operatoren zijn dezelfde eenvoudige bewerkingen die u op de basisschool hebt geleerd. De gemeenschappelijke binaire operatoren verschijnen in de tabel.
Prioriteit | Operator | Betekenis |
---|---|---|
1 | - (unary) | Geeft het negatief van het argument |
2 | ++ (unary) | Increment |
2 | - (unary) | Decrement |
3 | * (binary) | Multiplication |
3 | / (binary) > Verdeling | 3 |
% (binair) | Modulo | 4 |
+ (binair) | toevoeging | 4 |
- (binair) | aftrekken | 5 |
=, * =,% =, + =, - = (speciaal) | Toewijzingstypen |
|
Vermenigvuldigen, delen, optellen, aftrekken en modulo zijn de operatoren die worden gebruikt om rekenkundige bewerkingen uit te voeren. Ze werken net als de rekenkundige operators die je hebt geleerd in het middelbaar onderwijs, met de volgende speciale overwegingen:
-
Overweeg het volgende voorbeeld: int n = 2; // declareer een variabele int m = 2n; // dit genereert een fout
De bovenstaande uitdrukking wijst
m niet toe aan de waarde van 2 keer n . In plaats daarvan probeert C ++ 2 n te interpreteren als een variabelenaam. Aangezien namen van variabelen niet met een cijfer kunnen beginnen, genereert het een fout tijdens de buildstap. Wat de programmeur bedoelde was:
int n = 2; int m = 2 * n; // dit is OK
Integer deling gooit de rest weg.
-
Dus het volgende: int n = 13/7; // wijst de waarde 1 toe aan n
Veertien gedeeld door 7 is 2. Dertien gedeeld door zeven is 1.
De modulo-operator geeft de rest terug na divisie
-
(u herinnert zich modulo misschien nog niet): int n = 13% 7; // stelt n in op 6
Veertien modulo seven is nul. Dertien modulo zeven is zes.
Samengestelde uitdrukkingen onzichtbaar maken
Een enkele uitdrukking kan meerdere operators bevatten:
int n = 5 + 100 + 32;
Wanneer alle operators hetzelfde zijn, evalueert C ++ de expressie van links naar rechts:
5 + 100 + 32 105 + 32 137
Wanneer verschillende operators in een enkele expressie worden gecombineerd, gebruikt C ++ een eigenschap genaamd
voorrang. Voorrang is de volgorde waarin operators worden geëvalueerd in een samengestelde expressie. Beschouw het volgende voorbeeld: int n = 5 * 100 + 32;
Wat komt eerst, vermenigvuldiging of toevoeging? Of wordt deze uitdrukking eenvoudigweg van links naar rechts geëvalueerd? Verwijs terug naar de tabel, die u vertelt dat vermenigvuldiging een voorrang heeft van 3, die hoger is dan de prioriteit van optelling die 4 is (kleinere waarden hebben hogere prioriteit). Aldus vindt vermenigvuldiging het eerst plaats:
5 * 100 + 32 500 + 32 532
De volgorde van de bewerkingen wordt overruled door de voorrang van de operatoren. Zoals je kunt zien is
int n = 32 + 5 * 100;
genereert hetzelfde resultaat:
32 + 5 * 100 32 + 500 532
Maar wat als u echt 5 keer de som van 100 plus 32 wilt? U kunt de prioriteit van de operatoren overschrijven door de expressies die u als eerste tussen haakjes wilt uitvoeren, als volgt in te pakken:
int n = 5 * (100 + 32);
Nu wordt de toevoeging vóór de vermenigvuldiging uitgevoerd:
5 * (100 + 32) 5 * 132 660
U kunt haakjes combineren om uitdrukkingen zo gecompliceerd te maken als u maar wilt. C ++ begint altijd met de diepste geneste haakjes die het kan vinden en werkt zijn uitweg.
(3 + 2) * ((100/20) + (50/5)) (3 + 2) * (5 + 10) 5 * 15 75
U kunt gecompliceerde expressies altijd verdelen met tussenliggende variabelen. Het volgende is veiliger:
int factor = 3 + 2; int principal = (100/20) + (50/5); int total = factor * principal;
Door een naam toe te kennen aan tussenliggende waarden kan de programmeur ook de delen van een complexe vergelijking verklaren - waardoor het voor de volgende programmeur gemakkelijker wordt om deze te begrijpen.