Operatorer inn C++Typer med eksempel
โก Smart oppsummering
Operatorer inn C++ er symboler som utfรธrer operasjoner pรฅ operander, alt fra aritmetikk og sammenligning til logiske, bitvise og tildelingshandlinger. Denne ressursen forklarer hver operatorkategori med kjรธrbare eksempelprogrammer, utdata og prioritetsreglene som bestemmer evalueringsrekkefรธlgen.

Hva er Operators?
En operatรธr er et symbol som brukes for รฅ utfรธre operasjoner pรฅ operander. En operator opererer pรฅ operander, og operasjonene kan vรฆre matematiske eller logiske. Det finnes forskjellige typer operatorer i C++ for รฅ utfรธre forskjellige operasjoner.
Tenk pรฅ fรธlgende operasjon:
a = x + y;
I setningen ovenfor er x og y operandene mens + er en addisjonsoperator. Nรฅr C++ kompilatoren mรธter setningen ovenfor, vil den legge til x og y og lagre resultatet i variabel a.
Typer av Operatorer inn C++
Det er hovedsakelig 6 forskjellige typer operatรธrer i C++:
- Aritmetisk Operatorer
- Relasjonelt Operatorer
- logisk Operatorer
- bitvis Operatorer
- Oppdrag Operatorer
- Annet Operatorer
La oss begynne med aritmetiske operatorer, den mest brukte kategorien.
Aritmetisk Operatorer
De er typene operatorer som brukes til รฅ utfรธre matematiske/aritmetiske operasjoner. De inkluderer:
| Operator | Tekniske beskrivelser |
|---|---|
| + tilleggsoperatรธr | Legger til to operander. |
| โ undertracsjonsoperatรธr | Subtracts 2nd operand fra 1st operand. |
| * multiplikasjonsoperator | Multipliserer 2 operander. |
| / divisjonsoperator | Deler teller med nevner. |
| % moduloperator | Returnerer resten etter deling. |
| ++ inkrementoperator | รker en heltallsverdi med 1. |
| โ dekrementeringsoperator | Reduserer en heltallsverdi med 1. |
For eksempel:
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen som programmets logikk skal legges inn i. { markerer starten pรฅ hoveddelen av main()-funksjonen.
- Erklรฆre en heltallsvariabel a og initialisere den til 11.
- Erklรฆre en heltallsvariabel b og initialisere den til 5.
- Erklรฆre en heltallsvariabel c.
- Skriver ut verdien av operasjon a+b sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon ab sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon a*b sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon a/b sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon a%b sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon a++ sammen med annen tekst pรฅ konsollen.
- Skriver ut verdien av operasjon aโ sammen med annen tekst pรฅ konsollen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Relasjonelt Operatorer
Disse typer operatรธrer utfรธrer sammenligninger pรฅ operander. For eksempel kan det hende du trenger รฅ vite hvilken operand som er stรธrre enn den andre, eller mindre enn den andre. De inkluderer:
| Operator | Tekniske beskrivelser |
|---|---|
| == lik operatoren | Kontrollerer likhet av to operandverdier. |
| != ikke lik operator | Sjekker ulikheten mellom to operandverdier. |
| > stรธrre enn-operatoren | Sjekker om verdien til venstre operand er stรธrre enn verdien til hรธyre operand. |
| < mindre enn-operatoren | Sjekker om verdien av den venstre operand er mindre enn verdien av den hรธyre operand. |
| >= stรธrre enn eller lik operator | Sjekker om verdien til den venstre operand er stรธrre enn eller lik verdien til den hรธyre operand. |
| <= mindre enn eller lik operatoren | Sjekker om verdien til den venstre operand er mindre enn eller lik verdien til den hรธyre operand. |
For eksempel:
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- Erklรฆre en heltallsvariabel a og initialisere den til 11.
- Erklรฆre en heltallsvariabel b og initialisere den til 5.
- Skriver ut litt tekst pรฅ konsollen som angir verdiene til variablene a og b.
- Sjekker om a er lik b ved hjelp av en if-beslutningssetning.
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen a==b er sann.
- Den andre delen av if-setningen ovenfor, som angir hva som skal gjรธres hvis a==b er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen a==b er usann.
- Sjekker om a er mindre enn b ved hjelp av en if-setning.
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen er en
- Den andre delen for nรฅr en
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen er en
- Sjekker om a er stรธrre enn b ved hjelp av en if-setning.
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen a>b er sann.
- Ellers-delen for nรฅr a > b er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis operasjonen a>b er usann.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
logisk Operatorer
Ocuco logiske operatรธrer kombinere to eller flere begrensninger/betingelser. Logiske operatorer utfyller ogsรฅ evalueringen av den opprinnelige betingelsen som vurderes. De inkluderer:
| Operator | Tekniske beskrivelser |
|---|---|
| && logisk OG-operator | Betingelsen er sann hvis begge operandene ikke er null. |
| || logisk ELLER-operator | Betingelsen er sann hvis en av operandene ikke er null. |
| ! logisk IKKE-operator | Den reverserer operandens logiske tilstand. Hvis operanden er sann, gjรธr !-operatoren den til usann. |
For eksempel:
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- { markerer starten pรฅ hoveddelen av hoved()-funksjonen.
- Deklarere fire heltallsvariabler a, b, c og d og tilordne dem forskjellige verdier.
- Bruker && (OG)-operatoren i if-setningen. Den kobler sammen to betingelser. Den fรธrste betingelsen er usann og den andre er sann, sรฅ usann&&sann er usann; resultatet av if er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen ovenfor er sann. Dette vil ikke bli utfรธrt.
- Delen som skal utfรธres hvis if-setningen ovenfor er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen er falsk. Dette vil bli utfรธrt.
- Bruk av ||-operatoren (ELLER) i en hvis-setning. Den fรธrste betingelsen er usann og den andre er sann, sรฅ usann||sann er sant; resultatet av hvis er sant.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen ovenfor er sann. Dette vil bli utfรธrt.
- Delen som skal utfรธres hvis if-setningen ovenfor er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen er falsk. Dette vil ikke bli utfรธrt.
- Sjekker om verdien av variabel b er 0.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen ovenfor er sann. Dette vil ikke bli utfรธrt.
- Delen som skal utfรธres hvis if-setningen ovenfor er usann.
- Tekst som skal skrives ut pรฅ konsollen hvis if-setningen er falsk. Dette vil bli utfรธrt.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
bitvis Operatorer
Bitvise operatรธrer utfรธre bitnivรฅoperasjoner pรฅ operander. Fรธrst konverteres operandene til bitnivรฅ, deretter utfรธres operasjoner. Nรฅr aritmetiske operasjoner som addisjon og subtraksjontracHvis undersรธkelser gjรธres pรฅ bitnivรฅ, kan resultater oppnรฅs raskere. De inkluderer:
| Operator | Tekniske beskrivelser |
|---|---|
| & (bitvis OG) | Tar 2 tall (operander) og utfรธrer deretter OG pรฅ hver bit av de to tallene. Hvis begge er 1, returnerer OG 1, ellers 0. |
| | (bitvis ELLER) | Tar 2 tall (operander) og utfรธrer deretter ELLER pรฅ hver bit av de to tallene. Returnerer 1 hvis en av bitene er 1. |
| ^ (bitvis XOR) | Tar 2 tall (operander) og utfรธrer deretter XOR pรฅ hver bit av de 2 tallene. Returnerer 1 hvis begge bitene er forskjellige. |
| << (venstre skift) | Tar to tall og flytter deretter bitene til venstre i den fรธrste operanden. Den andre operanden bestemmer det totale antallet plasser som skal flyttes. |
| >> (hรธyre skift) | Tar to tall og flytter deretter bitene til den fรธrste operanden til hรธyre. Den andre operanden bestemmer antall plasser som skal flyttes. |
| ~ (bitvis IKKE) | Tar et tall og inverterer deretter alle bitene. |
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- Deklarere en usignert heltallsvariabel p og tilordne den verdien 60, som er 0011 1100 i binรฆrmodus.
- Deklarere en usignert heltallsvariabel q og tilordne den verdien 13, som er 0000 1101 i binรฆrmodus.
- Erklรฆre en heltallsvariabel z og initialisere den til 0.
- Utfรธre den bitvise & (AND) operasjonen pรฅ variablene p og q og lagre resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Utfรธre bitvis | (ELLER) operasjon pรฅ variablene p og q og lagring av resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Utfรธre den bitvise ^ (XOR) operasjonen pรฅ variablene p og q og lagre resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Utfรธrer den bitvise ~ (NOT) operasjonen pรฅ variabel p og lagrer resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Utfรธre venstreskiftoperasjonen pรฅ variabel p og lagre resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Utfรธre riktig skiftoperasjon pรฅ variabel p og lagre resultatet i variabel z.
- Skriver ut resultatet av operasjonen ovenfor pรฅ konsollen sammen med annen tekst.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Oppdrag Operatorer
Oppdragsoperatรธrer tilordne verdier til variabler. Operanden/variabelen legges til pรฅ venstre side av operatoren, mens verdien legges til pรฅ hรธyre side. Variabelen og verdien mรฅ tilhรธre samme datatype, ellers C++ kompilatoren vil gi en feilmelding.
For eksempel:
x = 5;
I eksemplet ovenfor er x variabelen/operand, = er tildelingsoperatoren, mens 5 er verdien. Her er de populรฆre tildelingsoperatorene i C++:
| Operator | Tekniske beskrivelser |
|---|---|
| = (enkel oppdragsoperatรธr) | Tildeler verdien til hรธyre til variabelen til venstre. |
| += (Legg til OG tilordne operatรธr) | Legger til verdien av hรธyre operand til venstre operand, og tildeler deretter resultatet til variabelen til venstre. |
| -= (Subtract OG tildelingsoperator) | SubtracFinner verdien av den hรธyre operand fra den venstre operand, og tilordner deretter resultatet til variabelen til venstre. |
| *= (Multipliser OG tilordningsoperatรธr) | Multipliserer verdien av venstre operand med hรธyre operand, og tilordner deretter resultatet til variabelen til venstre. |
| /= (divisjon OG oppdragsoperatรธr) | Deler verdien av venstre operand med hรธyre operand, og tildeler deretter resultatet til variabelen til venstre. |
For eksempel:
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- { markerer starten pรฅ hoveddelen av hoved()-funksjonen.
- Deklarerer en heltallsvariabel x og tildeler den en verdi pรฅ 5.
- Skriver ut verdien av variabelen x sammen med annen tekst pรฅ konsollen. \n er et nytt linjetegn.
- Legge til 5 til verdien av variabel x og tilordne resultatet til variabel x.
- Skriver ut verdien av variabelen x pรฅ konsollen sammen med annen tekst.
- Subtracรฅ beregne 5 fra verdien av x og tilordne resultatet til variabel x.
- Skriver ut verdien av variabelen x pรฅ konsollen sammen med annen tekst.
- Multiplisere verdien av variabel x med 5 og tilordne resultatet til variabel x.
- Skriver ut verdien av variabelen x pรฅ konsollen sammen med annen tekst.
- ร dele verdien av variabel x med 5 og tilordne resultatet til variabel x.
- Skriver ut verdien av variabelen x pรฅ konsollen sammen med annen tekst.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Annet Operatorer
Annet Operatorer inkluder sizeof-operatoren, komma Operator, Betinget Operator, og Operators Precedens. La oss diskutere de andre operatorene som stรธttes av C++:
operatรธrens stรธrrelse
Denne operatoren bestemmer stรธrrelsen pรฅ en variabel. Bruk sizeof-operatoren til รฅ bestemme stรธrrelsen pรฅ en datatype.
For eksempel:
#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; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- Bestemme stรธrrelsen pรฅ heltallsdatatypen ved hjelp av sizeof-operatoren og skrive den ut sammen med annen tekst i konsollen.
- Bestemme stรธrrelsen pรฅ tegndatatypen ved hjelp av sizeof-operatoren og skrive den ut sammen med annen tekst pรฅ konsollen.
- Bestemme stรธrrelsen pรฅ flyttall-datatypen ved hjelp av sizeof-operatoren og skrive den ut sammen med annen tekst pรฅ konsollen.
- Bestemme stรธrrelsen pรฅ den doble datatypen ved hjelp av sizeof-operatoren og skrive den ut sammen med annen tekst pรฅ konsollen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Komma Operator
Ocuco kommaoperatรธr (,) utlรธser utfรธrelsen av en sekvens av operasjoner. Den uttrykker den fรธrste operanden og forkaster resultatet. Deretter evaluerer den den andre operanden og returnerer verdien og typen.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- Deklarerer to heltallsvariabler x og y.
- Tilordne variabelen ya-verdien 100.
- Bruker kommaoperatoren. Den starter med y ved 100, og รธker den deretter til 101 (y++). Deretter legges y til 10. Til slutt legges y, fortsatt ved 101, til 99, noe som gir 200. x er nรฅ 200.
- Skriver ut verdien av variabelen x pรฅ konsollen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Betinget Operator
Denne operatรธren evaluerer en tilstand og handler basert pรฅ resultatet av evalueringen.
Syntaks:
Condition ? Expression2 : Expression3;
Parametere:
- Tilstanden er tilstanden som skal vurderes.
- Uttrykk2 er uttrykket som skal utfรธres hvis betingelsen er sann.
- Uttrykk3 er uttrykket som skal utfรธres hvis betingelsen er usann.
For eksempel:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Utgang:
Her er et skjermbilde av koden:
Code Forklaring:
- Inkludert iostream header-filen i koden vรฅr. Det vil tillate oss รฅ lese fra og skrive til konsollen.
- Inkluderer std-navneomrรฅdet for รฅ bruke dets klasser og funksjoner uten รฅ kalle det.
- Kaller main()-funksjonen der logikken til programmet skal legges til.
- Erklรฆrer to heltallsvariabler a og b. Variabel a har fรฅtt en verdi pรฅ 1.
- Tilordne en verdi til variabel b. Hvis variabel a er mindre enn 10, vil b bli tildelt verdien 2, ellers vil b bli tildelt verdien 5.
- Skriver ut verdien av variabel b pรฅ konsollen sammen med annen tekst.
- Main()-funksjonen skal returnere en verdi hvis programmet kjรธrer bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Operators forrang
En enkelt operasjon kan ha mer enn รฉn operatรธr. I sรฅ fall bestemmer operatรธrens forrang den som evalueres fรธrst.
Fรธlgende liste viser forrangen til operatรธrer i C++, med synkende forrang fra venstre til hรธyre:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=













