Operators in C++ met voorbeeld:wat is, typen en programma's
Wat zijn operators?
Een operator is een symbool dat wordt gebruikt voor het uitvoeren van bewerkingen op operanden. Een operator bedient operanden. De bewerkingen kunnen wiskundig of logisch zijn. Er zijn verschillende soorten operators in C++ voor het uitvoeren van verschillende bewerkingen.
Overweeg de volgende bewerking:
a = x + y;
In de bovenstaande verklaring zijn x en y de operanden, terwijl + een opteloperator is. Wanneer de C++-compiler het bovenstaande statement tegenkomt, zal het x en y toevoegen en het resultaat opslaan in variabele a.
In deze C++-zelfstudie leer je:
- Wat zijn operators?
- Typen operators in C++
- Rekenkundige operatoren
- Relationele operators
- Logische operators
- Bitwise-operators
- Opdrachtoperators
- Andere operators
- groottevan-operator
- Komma-operator
- Voorwaardelijke operator
- Voorrang van operators
Typen operators in C++
Er zijn voornamelijk 6 verschillende soorten operators in C++
- Rekenkundige operatoren
- Relationele operators
- Logische operators
- Bitwise-operators
- Opdrachtoperators
- Andere operators
Rekenkundige operatoren
Dit zijn de typen operators die worden gebruikt voor het uitvoeren van wiskundige/rekenkundige bewerkingen. Ze omvatten:
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; int c; cout << "a + b is :" << a+b << endl; //11+5 cout << "a - b is :" << a-b << endl; //11-5 cout << "a * b is :" << a*b << endl; //11*5 cout << "a / b is :" << a/b << endl; //11/5 cout << "a % b is :" << a%b << endl; //11%5 cout << "a++ is :" << a++ << endl; //11++ cout << "a-- is :" << a-- << endl; //12-- return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Een integer-variabele a declareren en initialiseren op 11.
- Een integer-variabele b declareren en initialiseren op 5.
- Een integer variabele c declareren.
- De waarde van bewerking a+b afdrukken naast andere tekst op de console.
- De waarde van bewerking a-b afdrukken naast andere tekst op de console.
- De waarde van bewerking a*b afdrukken naast andere tekst op de console.
- De waarde van bewerking a/b afdrukken naast andere tekst op de console.
- De waarde van bewerking a%b afdrukken naast andere tekst op de console.
- De waarde van bewerking a++ afdrukken naast andere tekst op de console.
- Afdrukwaarde van bewerking a– naast andere tekst op de console.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Relationele operators
Dit soort operatoren voeren vergelijkingen uit op operanden. U moet bijvoorbeeld misschien weten welke operand groter is dan de andere, of kleiner dan de andere. Ze omvatten:
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { int a = 11; int b = 5; cout << "a=11, b=5" << endl; if (a == b) { cout << "a == b is true" << endl; } else { cout << " a == b is false" << endl; } if (a < b) { cout << "a < b is true" << endl; } else { cout << "a < b is false" << endl; } if (a > b) { cout << "a > b is true" << endl; } else { cout << "a > b is false" << endl; } return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Een integer-variabele a declareren en initialiseren op 11.
- Een integer-variabele b declareren en initialiseren op 5.
- Een stukje tekst op de console afdrukken met de waarden van variabelen a en b.
- Het uitvoeren van de rekenkundige bewerking, a==b in een if-beslissingsverklaring om te weten of deze waar of onwaar is. De { markeert het begin van de hoofdtekst van het if-statement.
- Tekst om af te drukken op de console als de bewerking a==b waar is. De endl is een C++-sleutelwoord voor eindregel. Het duwt de cursor om te beginnen met afdrukken in de volgende regel. De } markeert het einde van de hoofdtekst van het if-statement.
- Het else-gedeelte van het bovenstaande if-statement. Het geeft aan wat te doen als de bewerking a==b onwaar is.
- Tekst om af te drukken op de console als de bewerking a==b onwaar is. De endl is een C++-sleutelwoord voor eindregel. Het duwt de cursor om te beginnen met afdrukken in de volgende regel. De } markeert het einde van de hoofdtekst van het else-statement.
- Het uitvoeren van de rekenkundige bewerking, a
- Tekst om af te drukken op de console als de bewerking a
- Het else-gedeelte van het bovenstaande if-statement. Er staat wat je moet doen als de bewerking a
- Tekst om af te drukken op de console als de bewerking a
- Het uitvoeren van de rekenkundige bewerking a>b in een if-beslissingsverklaring om te weten of deze waar of onwaar is. De { markeert het begin van de hoofdtekst van het if-statement.
- Tekst om af te drukken op de console als de bewerking a>b waar is. De endl is een C++-sleutelwoord voor eindregel. Het duwt de cursor om te beginnen met afdrukken in de volgende regel. De } markeert het einde van de hoofdtekst van het if-statement.
- Het else-gedeelte van het bovenstaande if-statement. Het geeft aan wat te doen als de bewerking a>b onwaar is.
- Tekst om af te drukken op de console als de bewerking a>b onwaar is. De endl is een C++-sleutelwoord voor eindregel. Het duwt de cursor om te beginnen met afdrukken in de volgende regel. De } markeert het einde van de hoofdtekst van het else-statement.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
- Tekst om af te drukken op de console als de bewerking a
Logische operators
De logische operatoren combineer twee/meer beperkingen/voorwaarden. Logische operatoren vullen ook de evaluatie van de oorspronkelijke staat aan. Ze omvatten:
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { int a = 5, b = 2, c = 6, d = 4; if (a == b && c > d) cout << "a equals to b AND c is greater than d\n"; else cout << "AND operation returned false\n"; if (a == b || c > d) cout << "a equals to b OR c is greater than d\n"; else cout << "Neither a is equal to b nor c is greater than d\n"; if (!b) cout << "b is zero\n"; else cout << "b is not zero"; return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd.
- De { markeert het begin van de hoofdtekst van de functie main().
- 4 gehele variabelen a, b, c en d declareren en ze verschillende waarden toekennen.
- De operator &&(AND) gebruiken in het if-statement. Het verbindt twee voorwaarden, de waarde van a is gelijk aan de waarde van b en de waarde van a is groter dan de waarde van b. De eerste voorwaarde is onwaar, de tweede voorwaarde is waar. False&&true is False, dus de uitkomst van if is false.
- Tekst om af te drukken op console als bovenstaande if-statement waar is. Dit wordt niet uitgevoerd.
- Gedeelte dat moet worden uitgevoerd als de bovenstaande if-instructie onwaar is.
- Tekst om af te drukken op de console als de if-instructie onwaar is. Dit wordt uitgevoerd.
- De || . gebruiken (OR) operator binnen een if-statement. Het verbindt twee voorwaarden, de waarde van a is gelijk aan de waarde van b en de waarde van a is groter dan de waarde van b. De eerste voorwaarde is onwaar, de tweede voorwaarde is waar. False||true is True, dus de uitkomst van if is true.
- Tekst om af te drukken op console als bovenstaande if-statement waar is. Dit wordt uitgevoerd.
- Gedeelte dat moet worden uitgevoerd als de bovenstaande if-instructie onwaar is.
- Tekst om af te drukken op de console als de if-instructie onwaar is. Dit wordt niet uitgevoerd.
- Controleren of de waarde van de variabele 0 is.
- Tekst om af te drukken op console als bovenstaande if-statement waar is. Dit wordt niet uitgevoerd.
- Gedeelte dat moet worden uitgevoerd als de bovenstaande if-instructie onwaar is.
- Tekst om af te drukken op de console als de if-instructie onwaar is. Dit wordt uitgevoerd.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Bitwise-operators
Bitwise-operators bewerkingen op bitniveau uitvoeren op operanden. Eerst worden operators geconverteerd naar bitniveau en vervolgens worden bewerkingen uitgevoerd op de operanden. Wanneer rekenkundige bewerkingen zoals optellen en aftrekken op bitniveau worden uitgevoerd, kunnen resultaten sneller worden behaald. Ze omvatten:
#include <iostream> using namespace std; int main() { unsigned int p = 60; // 60 = 0011 1100 unsigned int q = 13; // 13 = 0000 1101 int z = 0; z = p & q; cout << "p&q is : " << z << endl; // 12 = 0000 1100 z = p | q; cout << "p|q is : " << z << endl; // 61 = 0011 1101 z = p ^ q; cout << "p^q is : " << z << endl; // 49 = 0011 0001 z = ~p; cout << "~p is : " << z << endl; // -61 = 1100 0011 z = p << 2; cout << "p<<2 is: " << z << endl; // 240 = 1111 0000 z = p >> 2; cout << "p>>2 is : " << z << endl; // 15 = 0000 1111 return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Een niet-ondertekende integer-variabele p declareren en er een waarde van 60 aan toekennen, dat is 0011 1100 in binair getal.
- Een niet-ondertekende integer-variabele q declareren en er een waarde 13 aan toekennen, dat wil zeggen 0000 1101 in binair getal.
- Een integer-variabele z declareren en deze initialiseren op 0.
- De bitsgewijze &(AND) bewerking uitvoeren op variabelen p en q en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De bitsgewijze | . uitvoeren (OF) bewerking op variabelen p en q en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De bitsgewijze ^ (XOR)-bewerking uitvoeren op variabelen p en q en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De bitsgewijze ~ (NIET) bewerking uitvoeren op variabelen p en q en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De linker shift-bewerking uitvoeren op variabele p en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De juiste shift-bewerking uitvoeren op variabele p en het resultaat opslaan in variabele z.
- Het resultaat van de bovenstaande bewerking op de console afdrukken samen met andere tekst.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Toewijzingsoperators
Opdrachtoperators waarden toewijzen aan variabelen. De operand/variabele wordt toegevoegd aan de linkerkant van de operator, terwijl de waarde wordt toegevoegd aan de rechterkant van de operator. De variabele en de waarde moeten tot hetzelfde gegevenstype behoren, anders geeft de C++-compiler een foutmelding.
Bijvoorbeeld:
x = 5;
In het bovenstaande voorbeeld is x de variabele/operand, =is de toewijzingsoperator terwijl 5 de waarde is. Dit zijn de populaire toewijzingsoperatoren in C++:
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { int x = 5; cout << "Initial value of x is " << x << "\n"; x += 5; cout << "x += 5 gives :" << x << "\n"; x -= 5; cout << "x -= 5 gives : " << x << "\n"; x *= 5; cout << "x *= 5 gives :" << x << "\n"; x /= 5; cout << "x /= 5 gives : " << x << "\n"; return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd.
- De { markeert het begin van de hoofdtekst van de functie main().
- Een geheel getal variabelen x declareren en er een waarde van 5 aan toekennen.
- Afdrukwaarde van variabele x naast andere tekst op de console. De \n is een nieuw regelteken. Het verplaatst de cursor naar de volgende regel tijdens het afdrukken.
- 5 toevoegen aan de waarde van variabele x en resultaat toewijzen aan variabele x.
- Afdrukken van de waarde van variabele x op de console naast andere tekst.
- 5 aftrekken van de waarde van x en het resultaat toewijzen aan variabele x.
- Afdrukken van de waarde van variabele x op de console naast andere tekst.
- Waarde van variabele x vermenigvuldigen met 5 en resultaat toewijzen aan variabele x.
- Afdrukken van de waarde van variabele x op de console naast andere tekst.
- Waarde van variabele x delen door 5 en resultaat toewijzen aan variabele x.
- Afdrukken van de waarde van variabele x op de console naast andere tekst.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Andere operators
Andere operators omvatten sizeof-operator, komma-operator, voorwaardelijke operator en voorrang voor operators.
Laten we andere operators bespreken die door C++ worden ondersteund:
grootte van operator
Deze operator bepaalt de grootte van een variabele. Gebruik de operator sizeof om de grootte van een gegevenstype te bepalen.
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { cout<<"Size of int : "<< sizeof(int) << "\n"; cout<<"Size of char : " << sizeof(char) << "\n"; cout<<"Size of float : " << sizeof(float) << "\n"; cout<<"Size of double : " << sizeof(double) << "\n"; return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- De grootte van het gegevenstype integer bepalen met de operator sizeof en deze samen met andere tekst op de console afdrukken.
- De grootte van het tekengegevenstype bepalen met behulp van de operator sizeof en deze samen met andere tekst op de console afdrukken.
- De grootte van het float-gegevenstype bepalen met de operator sizeof en deze samen met andere tekst op de console afdrukken.
- De grootte van het float-gegevenstype bepalen met de operator sizeof en deze samen met andere tekst op de console afdrukken.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Komma-operator
De komma-operator (,) activeert de uitvoering van een reeks bewerkingen. Het drukt de eerste operand uit en verwerpt het resultaat. Vervolgens evalueert het de tweede operand en retourneert het de waarde en het type.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Twee gehele variabelen x en y declareren.
- De variabele y een waarde van 100 toewijzen.
- Waarde van y verhogen en resultaat toewijzen aan variabele x. Het begint met y bij 100 en verhoogt het vervolgens tot 101 (y++). Vervolgens wordt y opgeteld bij 10. Ten slotte wordt y, nog steeds op 101, opgeteld bij 99, wat 200 oplevert. x is nu 200.
- Afdrukwaarde van variabele x op de console.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Voorwaardelijke operator
Deze operator evalueert een aandoening en handelt op basis van de uitkomst van de evaluatie.
Syntaxis:
Condition ? Expression2 : Expression3;
Parameters:
- De conditie is de conditie die geëvalueerd moet worden.
- Expressie1 is de expressie die moet worden uitgevoerd als de voorwaarde waar is.
- Expressie3 is de expressie die moet worden uitgevoerd als de voorwaarde onwaar is.
Bijvoorbeeld:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Uitvoer:
Hier is een screenshot van de code:
Code uitleg:
- Inclusief het iostream-headerbestand in onze code. Hiermee kunnen we lezen van en schrijven naar de console.
- Inclusief de std-naamruimte om de klassen en functies te gebruiken zonder deze aan te roepen.
- De functie main() aanroepen waarbinnen de logica van het programma moet worden toegevoegd. De { markeert het begin van de hoofdtekst van de functie main().
- Twee gehele variabelen a en b declareren. Aan variabele a is de waarde 1 toegewezen.
- Waarde toekennen aan variabele b. Als variabele a kleiner is dan 10, krijgt b de waarde 2 toegewezen, anders krijgt b een waarde van 5.
- Afdrukwaarde van variabele b op de console naast andere tekst.
- De functie main() zou een waarde moeten retourneren als het programma goed werkt.
- Einde van de hoofdtekst van de functie main().
Voorrang van operators
Een enkele operatie kan meer dan één operator hebben. In dat geval bepaalt de operatorprioriteit degene die het eerst wordt geëvalueerd.
De volgende lijst toont de prioriteit van operators in C++, met afnemende prioriteit van links naar rechts:
(), [],*, /, %, +/-, <<,>>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=
Samenvatting:
- Operators zijn symbolen voor het uitvoeren van logische en rekenkundige bewerkingen.
- Rekenkundige operatoren helpen ons verschillende rekenkundige bewerkingen op operanden uit te voeren.
- Relationele operatoren helpen ons verschillende vergelijkingsbewerkingen op operanden uit te voeren.
- Logische operatoren helpen ons verschillende logische bewerkingen op operanden uit te voeren.
- Bitsgewijze operatoren helpen ons bitsgewijze bewerkingen op operanden uit te voeren.
- Toewijzingsoperatoren helpen ons verschillende rekenkundige bewerkingen op operanden uit te voeren.
- De operator sizeof retourneert de grootte van een variabele of gegevenstype.
- De komma-operator voert een reeks bewerkingen uit.
- De voorwaardelijke operator evalueert een voorwaarde en handelt op basis van de uitkomst.
C Taal
- Wat is een BioChip en soorten BioChips
- C#-operators
- C++-operators
- C++ Switch Case Statement met VOORBEELD
- C++ Dynamische toewijzing van arrays met voorbeeld
- Overbelasting van C++-operator met voorbeelden
- C++-structuur met voorbeeld
- std::lijst in C++ met Voorbeeld
- Verschil tussen structuur en klasse:uitgelegd met C++-voorbeeld
- C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
- C++ overbelasting (operator en functie)