Operatorer inn C++ med eksempel: Hva er, typer og programmer
Hva er Operators?
En operatør er et symbol som brukes for å utføre operasjoner på operander. En operatør opererer operander. Operasjonene kan være matematiske eller logiske. Det er forskjellige typer operatører 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
- Annen Operatorer
Aritmetisk Operatorer
De er typene operatorer som brukes til å utføre matematiske/aritmetiske operasjoner. De inkluderer:
Operator | Description |
---|---|
+ tilleggsoperatør | Legger til operander. |
– subtraksjonsoperatør | Trekker fra 2nd operand fra 1st operand. |
* multiplikasjonsoperator | Multipliserer 2 operander. |
/ divisjonsoperatør. | Deler teller med nevner. |
% moduloperator | Returnerer resten etter deling. |
++ inkrementoperator | Øker en heltallsverdi med 1. |
— dekrementeringsoperatør. | 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:
Kodeforklaring:
- 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å brødteksten til 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.
- Utskriftsverdi for operasjon a+b sammen med annen tekst på konsollen.
- Utskriftsverdi for operasjon ab sammen med annen tekst på konsollen.
- Utskriftsverdi for operasjon a*b sammen med annen tekst på konsollen.
- Utskriftsverdi for operasjon a/b sammen med annen tekst på konsollen.
- Utskriftsverdi for operasjon a%b sammen med annen tekst på konsollen.
- Utskriftsverdi for operasjon a++ sammen med annen tekst på konsollen.
- Utskriftsverdi 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 | Description |
---|---|
== lik operator. | Kontrollerer likhet av to operandverdier. |
!= ikke lik operator | Kontrollerer likhet av to operandverdier. |
> flott enn operatør | Sjekker om verdien av venstre operand er større enn verdien til høyre operand. |
< mindre enn operatør. | Sjekker om verdien av venstre operand er mindre enn verdien til høyre operand. |
>= større enn eller lik operator | Sjekker om verdien av venstre operand er større enn eller lik verdien til høyre operand. |
<= mindre enn eller lik operatoren. | Sjekker om verdien av venstre operand er mindre enn eller lik verdien til 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- 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.
- Utføre den aritmetiske operasjonen, a==b i en hvis beslutningstaking-påstand for å vite om den er sann eller usann. { markerer begynnelsen av brødteksten til if-setningen.
- Tekst som skal skrives ut på konsollen hvis operasjonen a==b er sann. Endl er en C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til if-setningen.
- Den andre delen av ovenstående if-uttalelse. Den sier hva du skal gjøre hvis operasjonen a==b er usann.
- Tekst som skal skrives ut på konsollen hvis operasjonen a==b er usann. Endl er en C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til else-setningen.
- Utføre den aritmetiske operasjonen, a
- Tekst som skal skrives ut på konsollen hvis operasjonen a C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til if-setningen.
- Den andre delen av ovenstående if-uttalelse. Det står hva som skal gjøres hvis operasjonen a
- Tekst som skal skrives ut på konsollen hvis operasjonen a C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til else-setningen.
- Utføre den aritmetiske operasjonen a>b i en hvis beslutningstaking for å vite om den er sann eller usann. { markerer begynnelsen av brødteksten til if-setningen.
- Tekst som skal skrives ut på konsollen hvis operasjonen a>b er sann. Endl er en C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til if-setningen.
- Den andre delen av den ovennevnte if-erklæringen. Den sier hva som skal gjøres hvis operasjonen a>b er falsk.
- Tekst som skal skrives ut på konsollen hvis operasjonen a>b er falsk. Endl er en C++ nøkkelord for sluttlinje. Den skyver markøren for å starte utskriften i neste linje. } markerer slutten av brødteksten til else-setningen.
- Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
- Slutten av hoveddelen av hoved()-funksjonen.
logisk Operatorer
De logiske operatører kombinere to/flere begrensninger/betingelser. Logiske operatører kompletterer også evaluering av opprinnelig tilstand under vurdering. De inkluderer:
Operator | Description |
---|---|
&& 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-operatør. | Det reverserer operandens logiske tilstand. Hvis operanden er sann, vil ! operatør gjør det falskt. |
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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Deklarerer 4 heltallsvariabler a, b, c og d og tildeler dem forskjellige verdier.
- Bruke && (AND) operatoren inne i if-setningen. Den kombinerer to betingelser, verdien av a er lik verdien av b og verdien av a er større enn verdien av b. Første betingelse er usann, andre betingelse er sann. False&&true er usant, derfor er resultatet av if usant.
- Tekst som skal skrives ut på konsollen hvis setningen ovenfor er sann. Dette vil ikke bli utført.
- Del som skal utføres hvis ovennevnte if-setning er usann.
- Tekst som skal skrives ut på konsollen hvis if-setningen er falsk. Dette vil bli utført.
- Ved å bruke || (ELLER)-operatør i en if-setning. Den kombinerer to betingelser, verdien av a er lik verdien av b og verdien av a er større enn verdien av b. Første betingelse er usann, andre betingelse er sann. False||true er sant, derfor er resultatet av hvis sant.
- Tekst som skal skrives ut på konsollen hvis setningen ovenfor er sann. Dette vil bli utført.
- Del som skal utføres hvis ovennevnte if-setning er usann.
- Tekst som skal skrives ut på konsollen hvis if-setningen er falsk. Dette vil ikke bli utført.
- Sjekker om verdien av variabelen er 0.
- Tekst som skal skrives ut på konsollen hvis setningen ovenfor er sann. Dette vil ikke bli utført.
- Del som skal utføres hvis ovennevnte if-setning 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 operasjoner på bitnivå på operander. Først konverteres operatører til bitnivå, deretter utføres operasjoner på operandene. Når aritmetiske operasjoner som addisjon og subtraksjon gjøres på bitnivå, kan resultater oppnås raskere. De inkluderer:
Operator | Description |
---|---|
& (bitvis OG). | Det tar 2 tall (operander) og utfører deretter AND på hver bit av to tall. Hvis begge er 1, OG returnerer 1, ellers 0. |
| (bitvis ELLER) | Tar 2 tall (operander) og utfører deretter ELLER på hver bit av to tall. Den returnerer 1 hvis en av bitene er 1. |
^ (den bitvise XOR) | Tar 2 tall (operander) og utfører deretter XOR på hver bit av 2 tall. Den returnerer 1 hvis begge bitene er forskjellige. |
<< (venstre skift) | Tar to tall og flytter deretter bitene til den første operanden til venstre. Den andre operanden bestemmer totalt antall plasser å skifte. |
>> (høyre skift) | Tar to tall og høyreforskyver bitene i den første operanden. Den andre operanden bestemmer antall steder som skal skiftes. |
~ (bitvis IKKE). | Tar 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Deklarerer et heltall uten fortegn variabler p og tildeler det en verdi på 60, som er 0011 1100 i binær.
- Erklære et heltallsvariable uten fortegn og tilordne det en verdi på 13, som er 0000 1101 i binær.
- 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øre den bitvise ~ (NOT) 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 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. Operaanden/variabelen legges til venstre side av operatoren mens verdien legges til høyre side av operatoren. Variabelen og verdien må tilhøre samme datatype, ellers må C++ kompilatoren vil gi feil.
For eksempel:
x = 5;
I eksemplet ovenfor er x variabelen/operanden, = er tilordningsoperatoren mens 5 er verdien. Her er de populære oppdragsoperatørene i C++:
Operator | Description |
---|---|
= (enkel oppdragsoperatør) | Den tildeler verdi til høyre til variabel til venstre. |
+= (Legg til OG tilordne operatør) | Den legger først verdien av venstre operand til verdien av høyre operand, og tildeler deretter resultatet til variabelen til venstre. |
-= (trekk fra OG tilordningsoperatør) | Den trekker først verdien av høyre operand fra verdien til venstre operand, og tildeler deretter resultatet til variabelen til venstre. |
*= (Multipliser OG tilordningsoperatør) | Den multipliserer først verdien av venstre operand med verdien av høyre operand, og tildeler deretter resultatet til variabelen til venstre. |
/= (divisjon OG oppdragsoperatør) | Den deler først verdien av venstre operand med verdien av 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Deklarerer et heltall variabler x og tildeler det en verdi på 5.
- Utskriftsverdi for variabel x sammen med annen tekst på konsollen. \n er et nytt linjetegn. Den flytter markøren til neste linje ved utskrift.
- Legge til 5 til verdien av variabel x og tilordne resultat til variabel x.
- Utskriftsverdi av variabel x på konsollen sammen med annen tekst.
- Trekk 5 fra verdien av x og tilordne resultatet til variabel x.
- Utskriftsverdi av variabel x på konsollen sammen med annen tekst.
- Multiplisere verdien av variabel x med 5 og tilordne resultatet til variabel x.
- Utskriftsverdi av variabel x på konsollen sammen med annen tekst.
- Dele verdien av variabel x med 5 og tilordne resultatet til variabel x.
- Utskriftsverdi av variabel x på konsollen sammen med annen tekst.
- Main()-funksjonen skal returnere en verdi hvis programmet kjører bra.
- Slutten av hoveddelen av hoved()-funksjonen.
Annen Operatorer
Annen Operatorer inkluderer størrelse på operatør, komma Operator, Betinget Operator, og Operators forrang.
La oss diskutere andre operatører som støttes av C++:
operatørens størrelse
Denne operatøren bestemmer størrelsen til en variabel. Bruk sizeof operator for å 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Bestemme størrelsen på heltallsdatatypen ved å bruke operatørstørrelsen og skrive den ut sammen med annen tekst på konsollen.
- Bestemme størrelsen på karakterdatatypen ved å bruke sizeof operator og skrive den ut sammen med annen tekst på konsollen.
- Bestemme størrelsen på flytedatatypen ved å bruke størrelsen på operatøren og skrive den ut sammen med annen tekst på konsollen.
- Bestemme størrelsen på flytedatatypen ved å bruke størrelsen på operatøren 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
De kommaoperatør (,) utløser ytelsen til en sekvens av operasjoner. Den uttrykker første operand 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Deklarerer to heltallsvariabler x og y.
- Tilordne variabelen ya-verdien 100.
- Økende verdi av y og tilordne resultat til variabel x. Den starter med y ved 100, og øker den til 101 (y++). Deretter legges y til 10. Til slutt legges y, fortsatt på 101, til 99, noe som gir 200. x er nå 200.
- Utskriftsverdi av variabel 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.
- Uttrykk1 er uttrykket som skal utføres hvis betingelsen er sann.
- Expression3 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:
Kodeforklaring:
- 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å brødteksten til main()-funksjonen.
- Erklærer to heltallsvariabler a og b. Variabel a har fått en verdi på 1.
- Tilordne verdi til variabel b. Hvis variabel a er mindre enn 10, vil b bli tildelt verdien 2, ellers vil b bli tildelt en verdi på 5.
- Utskriftsverdi for 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:
(), [],*, /, %, +/-, << , >>, == , !=, ^, |, &&, ||, ?:, =, +=, -=, *= , /=
Oppsummering
- Operatorer er symboler for å utføre logiske og aritmetiske operasjoner.
- Aritmetiske operatorer hjelper oss med å utføre ulike aritmetiske operasjoner på operander.
- Relasjonsoperatører hjelper oss med å utføre ulike sammenligningsoperasjoner på operander.
- Logiske operatorer hjelper oss med å utføre ulike logiske operasjoner på operander.
- Bitvise operatører hjelpe oss med å utføre bitvise operasjoner på operander.
- Tilordningsoperatorer hjelper oss med å utføre ulike aritmetiske operasjoner på operander.
- Operatoren sizeof returnerer størrelsen på en variabel eller datatype.
- Kommaoperatoren utfører en sekvens av operasjoner.
- Den betingede operatøren vurderer en tilstand og handler basert på utfallet.