Operators in C++Typer med exempel
⚡ Smart sammanfattning
Operators in C++ är symboler som utför operationer på operander, allt från aritmetiska och jämförande till logiska, bitvisa och tilldelningsåtgärder. Denna resurs förklarar varje operatorkategori med körbara exempelprogram, utdata och de prioritetsregler som avgör utvärderingsordningen.
Vad är Operators?
En operatör är en symbol som används för att utföra operationer på operander. En operator opererar på operander, och operationerna kan vara matematiska eller logiska. Det finns olika typer av operatorer i C++ för att utföra olika operationer.
Tänk på följande operation:
a = x + y;
I ovanstående sats är x och y operanderna medan + är en additionsoperator. När C++ kompilatorn stöter på ovanstående sats, kommer den att lägga till x och y och lagra resultatet i variabel a.
Typer av Operators in C++
Det finns främst 6 olika typer av operatörer i C++:
- Aritmetik Operatorer
- Relations Operatorer
- logisk Operatorer
- bitvis Operatorer
- Uppdrag Operatorer
- Övrigt Operatorer
Låt oss börja med aritmetiska operatorer, den vanligaste kategorin.
Aritmetik Operatorer
De är de typer av operatorer som används för att utföra matematiska/aritmetiska operationer. De inkluderar:
| Operator | BESKRIVNING |
|---|---|
| + tilläggsoperatör | Lägger till två operander. |
| - Undertractionsoperator | Subtracalla 2nd operand från 1st operand. |
| * multiplikationsoperator | Multiplicerar 2 operander. |
| / divisionsoperator | Delar täljaren med nämnaren. |
| % moduloperator | Returnerar resten efter division. |
| ++ inkrementoperator | Ökar ett heltalsvärde med 1. |
| — minskningsoperator | Minskar ett heltalsvärde med 1. |
Till exempel:
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar main()-funktionen i vilken programmets logik ska läggas till. { markerar början på main()-funktionens brödtext.
- Deklarera en heltalsvariabel a och initiera den till 11.
- Deklarera en heltalsvariabel b och initiera den till 5.
- Deklarera en heltalsvariabel c.
- Skriver ut värdet för operation a+b tillsammans med annan text i konsolen.
- Skriver ut värdet för operation ab tillsammans med annan text i konsolen.
- Skriver ut värdet för operation a*b tillsammans med annan text i konsolen.
- Skriver ut värdet för operation a/b tillsammans med annan text i konsolen.
- Skriver ut värdet för operation a%b tillsammans med annan text i konsolen.
- Skriver ut värdet för operation a++ tillsammans med annan text i konsolen.
- Skriver ut värdet för operation a– tillsammans med annan text i konsolen.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Relations Operatorer
Dessa typer av operatörer utför jämförelser på operander. Till exempel kan du behöva veta vilken operand som är större än den andra, eller mindre än den andra. De inkluderar:
| Operator | BESKRIVNING |
|---|---|
| == lika med operatorn | Kontrollerar likheten mellan två operandvärden. |
| != inte lika med operator | Kontrollerar olikheten mellan två operandvärden. |
| > större än-operatorn | Kontrollerar om värdet på den vänstra operanden är större än värdet på den högra operanden. |
| < mindre än operatorn | Kontrollerar om värdet på den vänstra operanden är mindre än värdet på den högra operanden. |
| >= större än eller lika med operatorn | Kontrollerar om värdet på den vänstra operanden är större än eller lika med värdet på den högra operanden. |
| <= mindre än eller lika med operatorn | Kontrollerar om värdet på den vänstra operanden är mindre än eller lika med värdet på den högra operanden. |
Till exempel:
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- Deklarera en heltalsvariabel a och initiera den till 11.
- Deklarera en heltalsvariabel b och initiera den till 5.
- Skriver ut lite text på konsolen som anger värdena för variablerna a och b.
- Kontrollera om a är lika med b med hjälp av ett if-beslutsuttryck.
- Text som ska skrivas ut på konsolen om operationen a==b är sann.
- Den andra delen av ovanstående if-sats, som anger vad som ska göras om a==b är falskt.
- Text som ska skrivas ut på konsolen om operationen a==b är falsk.
- Kontrollera om a är mindre än b med hjälp av ett if-uttryck.
- Text som ska skrivas ut på konsolen om operationen är en
- Den andra delen för när en
- Text som ska skrivas ut på konsolen om operationen är
- Kontrollera om a är större än b med hjälp av ett if-uttryck.
- Text som ska skrivas ut på konsolen om operationen a>b är sann.
- Annars-delen för när a > b är falskt.
- Text som ska skrivas ut på konsolen om operationen a>b är falsk.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
logisk Operatorer
Ocuco-landskapet logiska operatörer kombinera två eller flera begränsningar/villkor. Logiska operatorer kompletterar också utvärderingen av det ursprungliga villkoret som beaktas. De inkluderar:
| Operator | BESKRIVNING |
|---|---|
| && logisk OCH-operator | Villkoret är sant om båda operanderna inte är noll. |
| || logisk ELLER-operator | Villkoret är sant om en av operanderna inte är noll. |
| ! logisk NOT-operator | Den vänder operandens logiska tillstånd. Om operanden är sann gör operatorn ! den falsk. |
Till exempel:
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- { markerar början på huvuddelen av funktionen main().
- Deklarera fyra heltalsvariabler a, b, c och d och tilldela dem olika värden.
- Använder operatorn && (OCH) i if-satsen. Den sammankopplar två villkor. Det första villkoret är falskt och det andra är sant, så falskt&&sant är falskt; resultatet av if är falskt.
- Text som ska skrivas ut på konsolen om ovanstående if-sats är sann. Detta kommer inte att köras.
- Den del som ska köras om ovanstående if-sats är falsk.
- Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer att utföras.
- Använda operatorn || (ELLER) i en if-sats. Det första villkoret är falskt och det andra är sant, så falskt||sant är sant; resultatet av if är sant.
- Text som ska skrivas ut på konsolen om ovanstående if-sats är sann. Detta kommer att köras.
- Den del som ska köras om ovanstående if-sats är falsk.
- Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer inte att utföras.
- Kontrollerar om värdet på variabel b är 0.
- Text som ska skrivas ut på konsolen om ovanstående if-sats är sann. Detta kommer inte att köras.
- Den del som ska köras om ovanstående if-sats är falsk.
- Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer att utföras.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
bitvis Operatorer
Bitvisa operatörer utföra bitnivåoperationer på operander. Först konverteras operanderna till bitnivå, sedan utförs operationer. När aritmetiska operationer som addition och substantiveringtracOm åtgärder utförs på bitnivå kan resultat uppnås snabbare. De inkluderar:
| Operator | BESKRIVNING |
|---|---|
| & (bitvis OCH) | Tar 2 tal (operander) och utför sedan OCH på varje bit av de två talen. Om båda är 1 returnerar OCH 1, annars 0. |
| | (bitvis ELLER) | Tar 2 tal (operander) och utför sedan ELLER på varje bit av de två talen. Returnerar 1 om en av bitarna är 1. |
| ^ (bitvis XOR) | Tar 2 tal (operander) och utför sedan XOR på varje bit av de 2 talen. Returnerar 1 om båda bitarna är olika. |
| << (vänster skift) | Tar två tal och vänsterförskjuter sedan bitarna i den första operanden. Den andra operanden bestämmer det totala antalet platser som ska förskjutas. |
| >> (högerväxling) | Tar två tal och flyttar sedan bitarna i den första operanden åt höger. Den andra operanden bestämmer antalet decimaler som ska flyttas. |
| ~ (bitvis INTE) | Tar ett tal och inverterar sedan alla dess bitar. |
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- Deklarera en oteckenförtecknad heltalsvariabel p och tilldela den värdet 60, vilket är 0011 1100 i binärt tal.
- Deklarera en oteckenförtecknad heltalsvariabel q och tilldela den värdet 13, vilket är 0000 1101 i binär kod.
- Deklarera en heltalsvariabel z och initiera den till 0.
- Utföra den bitvisa & (AND) operationen på variablerna p och q och lagra resultatet i variabel z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Utföra bitvis | (OR) operation på variablerna p och q och lagring av resultatet i variabel z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Utföra den bitvisa ^ (XOR) operationen på variablerna p och q och lagra resultatet i variabel z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Utför den bitvisa ~-operationen (NOT) på variabeln p och lagrar resultatet i variabeln z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Utföra vänsterväxlingsoperationen på variabel p och lagra resultatet i variabel z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Att utföra rätt skiftoperation på variabel p och lagra resultatet i variabel z.
- Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Uppdrag Operatorer
Uppdragsoperatörer tilldela värden till variabler. Operanden/variabeln läggs till på vänster sida av operatorn medan värdet läggs till på höger sida. Variabeln och värdet måste tillhöra samma datatyp, annars C++ kompilatorn kommer att generera ett fel.
Till exempel:
x = 5;
I exemplet ovan är x variabeln/operanden, = är tilldelningsoperatorn, medan 5 är värdet. Här är de populära tilldelningsoperatorerna i C++:
| Operator | BESKRIVNING |
|---|---|
| = (enkel tilldelningsoperator) | Tilldelar variabeln till vänster värdet till höger. |
| += (Lägg till OCH tilldelningsoperator) | Lägger till värdet av den högra operanden till den vänstra operanden och tilldelar sedan resultatet till variabeln till vänster. |
| -= (Subtract OCH tilldelningsoperator) | Subtractar värdet på den högra operanden från den vänstra operanden och tilldelar sedan resultatet till variabeln till vänster. |
| *= (Multiplicera OCH tilldelningsoperator) | Multiplicerar värdet på den vänstra operanden med den högra operanden och tilldelar sedan resultatet till variabeln till vänster. |
| /= (Division OCH uppdragsoperatör) | Delar värdet på den vänstra operanden med den högra operanden och tilldelar sedan resultatet till variabeln till vänster. |
Till exempel:
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- { markerar början på huvuddelen av funktionen main().
- Deklarera en heltalsvariabel x och tilldela den värdet 5.
- Skriver ut värdet på variabeln x tillsammans med annan text i konsolen. \n är ett tecken för ny rad.
- Att addera 5 till värdet på variabel x och tilldela resultatet till variabel x.
- Skriver ut värdet på variabeln x i konsolen tillsammans med annan text.
- Subtracräkna ut 5 från värdet på x och tilldela resultatet till variabeln x.
- Skriver ut värdet på variabeln x i konsolen tillsammans med annan text.
- Multiplicera värdet av variabeln x med 5 och tilldela resultatet till variabeln x.
- Skriver ut värdet på variabeln x i konsolen tillsammans med annan text.
- Att dividera värdet av variabeln x med 5 och tilldela resultatet till variabeln x.
- Skriver ut värdet på variabeln x i konsolen tillsammans med annan text.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Övrigt Operatorer
Övrigt Operatorer inkludera sizeof-operatorn, komma Operator, Villkorlig Operator, och Operators Precedens. Låt oss diskutera de andra operatorerna som stöds av C++:
operatörens storlek
Denna operator bestämmer en variabels storlek. Använd operatorn sizeof för att bestämma storleken på en datatyp.
Till exempel:
#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; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- Bestämma storleken på heltalsdatatypen med hjälp av operatorn sizeof och skriva ut den tillsammans med annan text i konsolen.
- Bestämma storleken på teckendatatypen med hjälp av operatorn sizeof och skriva ut den tillsammans med annan text i konsolen.
- Bestämma storleken på flyttalsdatatypen med hjälp av operatorn sizeof och skriva ut den tillsammans med annan text i konsolen.
- Bestämma storleken på datatypen double med hjälp av operatorn sizeof och skriva ut den tillsammans med annan text i konsolen.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Kommatecken Operator
Ocuco-landskapet kommaoperator (,) utlöser utförandet av en sekvens av operationer. Den uttrycker den första operanden och ignorerar resultatet. Därefter utvärderar den den andra operanden och returnerar värdet och typen.
#include <iostream> using namespace std; int main() { int x, y; y = 100; x = (y++, y + 10, 99 + y); cout << x; return 0; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- Deklarera två heltalsvariabler x och y.
- Tilldela variabeln ya-värdet 100.
- Använder kommaoperatorn. Den börjar med y vid 100 och ökar sedan till 101 (y++). Därefter läggs y till 10. Slutligen läggs y, fortfarande vid 101, till 99, vilket ger 200. x är nu 200.
- Skriver ut värdet på variabeln x på konsolen.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Villkorlig Operator
Denna operatör utvärderar ett tillstånd och agerar utifrån resultatet av utvärderingen.
Syntax:
Condition ? Expression2 : Expression3;
Parametrar:
- Villkoret är det tillstånd som ska utvärderas.
- Uttryck2 är uttrycket som ska köras om villkoret är sant.
- Uttryck3 är uttrycket som ska köras om villkoret är falskt.
Till exempel:
#include <iostream> using namespace std; int main() { int a = 1, b; b = (a < 10) ? 2 : 5; cout << "value of b: " << b << endl; return 0; }
Produktion:
Här är en skärmdump av koden:
Code Förklaring:
- Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
- Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
- Anropar funktionen main() där programmets logik ska läggas till.
- Deklarerar två heltalsvariabler a och b. Variabel a har tilldelats värdet 1.
- Tilldela ett värde till variabel b. Om variabel a är mindre än 10, kommer b att tilldelas värdet 2, annars kommer b att tilldelas värdet 5.
- Skriver ut värdet på variabel b i konsolen tillsammans med annan text.
- Funktionen main() bör returnera ett värde om programmet fungerar bra.
- Slutet på huvuddelen av funktionen main().
Operators företräde
En enskild operation kan ha mer än en operatör. I så fall bestämmer operatörens företräde den som utvärderas först.
Följande lista visar företräde för operatörer i C++, med minskande prioritet från vänster till höger:
(), [], *, /, %, +/-, <<, >>, ==, !=, ^, |, &&, ||, ?:, =, +=, -=, *=, /=














