C ++ operatörer med exempel

Vad är operatörer?

En operatör är en symbol som används för att utföra operationer på operander. En operatör driver operander. Operationerna kan vara matematiska eller logiska. Det finns olika typer av operatörer i C ++ för att utföra olika operationer.

Tänk på följande:

a = x + y;

I ovanstående uttalande är x och y operander medan + är en tilläggsoperator. När C ++ - kompilatorn stöter på ovanstående uttalande kommer den att lägga till x och y och lagra resultatet i variabel a.

I den här C ++ -studien lär du dig:

  • Vad är operatörer?
  • Aritmetiska operatörer
  • Relationsoperatörer
  • Logiska operatörer
  • Bitvisa operatörer
  • Uppdragsoperatörer
  • Övrig operatör
    • operatörens storlek
    • Kommaoperatör
    • Villkorlig operatör
  • Operatörernas företräde

Aritmetiska operatörer

De är de typer av operatörer som används för att utföra matematiska / aritmetiska operationer. De inkluderar:

Operatör Beskrivning
+ tilläggsoperatör Lägger till operander.
- subtraktionsoperatör Subtraherar 2 nd operanden från en st operanden.
* multiplikationsoperator Multiplicerar 2 operander.
/ divisionsoperatör. Delar täljaren efter nämnaren.
% modulus-operatör Returnerar resten efter delning.
++ ökningsoperatör Ökar ett heltal med 1.
- minskningsoperatör. Minskar ett heltal med 1.

Till exempel:

#include using namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Deklarera en heltalvariabel a och initialisera den till 11.
  5. Deklarera en heltalsvariabel b och initialisera den till 5.
  6. Deklarera en heltalsvariabel c.
  7. Utskriftsvärde för operation a + b tillsammans med annan text på konsolen.
  8. Utskriftsvärde för operation ab tillsammans med annan text på konsolen.
  9. Utskriftsvärde för operation a * b tillsammans med annan text på konsolen.
  10. Utskriftsvärde för operation a / b tillsammans med annan text på konsolen.
  11. Utskriftsvärde för operation a% b tillsammans med annan text på konsolen.
  12. Utskriftsvärde för drift a ++ tillsammans med annan text på konsolen.
  13. Utskriftsvärde för operation a - tillsammans med annan text på konsolen.
  14. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  15. Slutet på huvudfunktionens () kropp.

Relationsoperatörer

Dessa typer av operatörer gör jämförelser på operander. Du kan till exempel behöva veta vilken operand som är större än den andra eller mindre än den andra. De inkluderar:

Beskrivning

Operatör Beskrivning
== lika med operatören. Kontrollerar jämlikhet mellan två operandvärden.
! = inte lika med operatören Kontrollerar jämlikhet mellan två operandvärden.
> bra än operatör Kontrollerar om värdet för vänster operand är större än värdet för höger operand.
Kontrollerar om värdet för vänster operand är mindre än värdet för höger operand.
> = större än eller lika med operatören Kontrollerar om värdet för vänster operand är större än eller lika med värdet för höger operand.
<= mindre än eller lika med operatören. Kontrollerar om värdet för vänster operand är mindre än eller lika med värdet för höger operand.

Till exempel:

#include 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:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Deklarera en heltalvariabel a och initialisera den till 11.
  5. Deklarera en heltalsvariabel b och initialisera den till 5.
  6. Skriva ut lite text på konsolen där värdena för variablerna a och b anges.
  7. Utför den aritmetiska operationen, a == b i ett if-beslutsuttalande för att veta om det är sant eller falskt. {Markerar början på kroppen för if-uttalandet.
  8. Text som ska skrivas ut på konsolen om operationen a == b är sant. Endl är ett C ++ nyckelord för slutraden. Den trycker på markören för att börja skriva ut i nästa rad. Den} markerar slutet på kroppen av if-uttalandet.
  9. Den andra delen av ovanstående om uttalande. Den anger vad man ska göra om operationen a == b är falsk.
  10. Text som ska skrivas ut på konsolen om åtgärden a == b är falsk. Endl är ett C ++ nyckelord för slutraden. Den trycker på markören för att börja skriva ut i nästa rad. The} markerar slutet på det andra uttalandet.
  11. Utför den aritmetiska operationen, a
  12. Text som ska skrivas ut på konsolen om åtgärden a
  13. Den andra delen av ovanstående om uttalande. Den anger vad man ska göra om operationen a
  14. Text som ska skrivas ut på konsolen om åtgärden a
  15. Utföra aritmetikoperationen a> b i ett if-beslutsuttalande för att veta om det är sant eller falskt. {Markerar början på kroppen för if-uttalandet.
  16. Text som ska skrivas ut på konsolen om åtgärden a> b är sant. Endl är ett C ++ nyckelord för slutraden. Den trycker på markören för att börja skriva ut i nästa rad. Den} markerar slutet på kroppen av if-uttalandet.
  17. Den andra delen av ovanstående om uttalande. Den anger vad man ska göra om operationen a> b är falsk.
  18. Text som ska skrivas ut på konsolen om åtgärden a> b är falsk. Endl är ett C ++ nyckelord för slutraden. Den trycker på markören för att börja skriva ut i nästa rad. The} markerar slutet på det andra uttalandet.
  19. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  20. Slutet på huvudfunktionens () kropp.

Logiska operatörer

De logiska operatörerna kombinerar två / fler begränsningar / villkor. Logiska operatörer kompletterar också utvärderingen av det ursprungliga tillståndet som övervägs. De inkluderar:

Operatör Beskrivning
&& logisk OCH operatör. Villkoret är sant om båda operanderna inte är noll.
|| logisk ELLER operatör. Villkoret är sant om en av operanderna inte är noll.
! logisk INTE operatör. Det vänder operandens logiska tillstånd. Om operanden är sant, är! operatören gör det falskt.

Till exempel:

#include 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";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till.
  4. {Markerar början av huvudfunktionen ().
  5. Deklarerar fyra heltalsvariabler a, b, c och d och tilldelar dem olika värden.
  6. Använd operatören && (AND) inuti if-uttalandet. Det sammanfogar två villkor, värdet på a är lika med värdet på b och värdet på a är större än värdet på b. Det första villkoret är falskt, det andra villkoret är sant. False && true är False, följaktligen är resultatet av if falskt.
  7. Text som ska skrivas ut på konsolen om ovanstående om uttalande är sant. Detta kommer inte att köras.
  8. Del som ska utföras om ovanstående om uttalande är falskt.
  9. Text som ska skrivas ut på konsolen om if-uttalandet är falskt. Detta kommer att köras.
  10. Använda || (OR) operatör inom ett if-uttalande. Det sammanfogar två villkor, värdet på a är lika med värdet på b och värdet på a är större än värdet på b. Det första villkoret är falskt, det andra villkoret är sant. Falsk || sant är sant, följaktligen är resultatet av om sant.
  11. Text som ska skrivas ut på konsolen om ovanstående om uttalande är sant. Detta kommer att köras.
  12. Del som ska utföras om ovanstående om uttalande är falskt.
  13. Text som ska skrivas ut på konsolen om if-uttalandet är falskt. Detta kommer inte att köras.
  14. Kontrollerar om värdet på variabeln är 0.
  15. Text som ska skrivas ut på konsolen om ovanstående om uttalande är sant. Detta kommer inte att köras.
  16. Del som ska utföras om ovanstående om uttalande är falskt.
  17. Text som ska skrivas ut på konsolen om if-uttalandet är falskt. Detta kommer att köras.
  18. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  19. Slutet på huvudfunktionens () kropp.

Bitvisa operatörer

Bitvisa operatörer utför bitnivåoperationer på operander. Först konverteras operatörer till bitnivå och sedan utförs operationer på operanderna. När aritmetiska operationer som addition och subtraktion görs på bitnivå kan resultaten uppnås snabbare. De inkluderar:

Operatör Beskrivning
& (bitvis OCH). Det tar två nummer (operander) och utför sedan OCH på varje bit av två nummer. Om båda är 1 returnerar AND 1, annars 0.
| (bitvis ELLER) Tar 2 nummer (operander) och utför sedan OR på varje bit av två nummer. Den returnerar 1 om en av bitarna är 1.
(bitvis XOR) Tar 2 nummer (operander) och utför sedan XOR på varje bit av 2 nummer. Den returnerar 1 om båda bitarna är olika.
<< (vänster skift) Tar två nummer och vänster skiftar sedan bitarna i den första operanden. Den andra operanden bestämmer de totala platserna att flytta.
>> (höger skift) Tar två siffror och höger förskjuter bitarna i den första operanden. Den andra operanden bestämmer antalet platser som ska flyttas.
~ (bitvis INTE). Tar antal sedan inverterar alla sina bitar.
#include using namespace std;int main() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Deklarerar ett osignerat heltalsvariabler p och tilldelar det ett värde på 60, ​​vilket är 0011 1100 i binär.
  5. Deklarerar ett osignerat heltalsvariabler q och tilldelar det ett värde på 13, vilket är 0000 1101 i binär.
  6. Deklarera en heltalsvariabel z och initialisera den till 0.
  7. Utföra bitvis & (OCH) operation på variabler p och q och lagra resultatet i variabel z.
  8. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  9. Utföra bitvis | (OR) operation på variabler p och q och lagring av resultatet i variabel z.
  10. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  11. Utföra bitvis (XOR) operation på variabler p och q och lagra resultatet i variabel z.
  12. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  13. Utföra bitvis ~ (NOT) operation på variabler p och q och lagra resultatet i variabel z.
  14. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  15. Utföra vänster skiftoperation på variabel p och lagra resultatet i variabel z.
  16. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  17. Utföra rätt skiftoperation på variabel p och lagra resultatet i variabel z.
  18. Skriva ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  19. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  20. Slutet på huvudfunktionens () kropp.

Uppdragsoperatörer

Tilldelningsoperatörer tilldelar värden till variabler. Operand / variabel läggs till operatörens vänstra sida medan värdet läggs till operatörens högra sida. Variabeln och värdet måste tillhöra samma datatyp, annars kommer C ++ - kompilatorn att höja felet. Till exempel:

x = 5;

I exemplet ovan är x variabeln / operand, = är tilldelningsoperatören medan 5 är värdet. Här är de populära uppdragsoperatörerna i C ++:

Operatör Beskrivning
= (enkel tilldelningsoperatör) Det tilldelar värde till höger till variabel till vänster.
+ = (Lägg till OCH tilldelningsoperatör) Det lägger först till värde av vänster operand till värde för höger operand och tilldelar sedan resultat till variabel till vänster.
- = (Subtrahera OCH tilldelningsoperatör) Det subtraherar först värdet för högeroperand från värdet för vänsteroperand och tilldelar sedan resultat till variabel till vänster.
* = (Multiplicera OCH tilldelningsoperatör) Det multiplicerar först värdet för vänster operand med värdet för höger operand och tilldelar sedan resultatet till variabel till vänster.
/ = (Division OCH uppdragsoperatör) Det delar först värdet på vänster operand med värdet på höger operand och tilldelar sedan resultatet till variabel till vänster.

Till exempel:

#include 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:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till.
  4. {Markerar början av huvudfunktionen ().
  5. Deklarerar ett heltal variabler x och tilldelar det värdet 5.
  6. Utskriftsvärde för variabel x tillsammans med annan text på konsolen. \ N är ett nytt radtecken. Den flyttar markören till nästa rad när du skriver ut.
  7. Lägga till 5 till värdet för variabel x och tilldela resultat till variabel x.
  8. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  9. Subtrahera 5 från värdet på x och tilldela resultatet till variabeln x.
  10. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  11. Multiplicera värdet för variabel x med 5 och tilldela resultat till variabel x.
  12. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  13. Dela värdet för variabel x med 5 och tilldela resultat till variabel x.
  14. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  15. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  16. Slutet på huvudfunktionens () kropp.

Övrig operatör

Låt oss diskutera andra operatörer som stöds av C ++:

operatörens storlek

Den här operatören bestämmer storleken på en variabel. Använd operatörens storlek för att bestämma storleken på en datatyp. Till exempel:

#include 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:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Bestämma storleken på heltaldatatyp med hjälp av sizeof-operatören och skriva ut den tillsammans med annan text på konsolen.
  5. Bestämma storleken på teckendatatypen med operatörsstorlek och skriva ut den tillsammans med annan text på konsolen.
  6. Bestämma storleken på flytdatatypen med hjälp av sizeof-operatören och skriv ut den tillsammans med annan text på konsolen.
  7. Bestämma storleken på flytdatatypen med hjälp av sizeof-operatören och skriv ut den tillsammans med annan text på konsolen.
  8. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  9. Slutet på huvudfunktionens () kropp.

Kommaoperatör

Kommaoperatören (,) utlöser utförandet av en sekvens av operationer. Det uttrycker första operand och kastar resultatet. Därefter utvärderar den andra operanden och returnerar värdet och typen.

#include 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:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Deklarerar två heltalsvariabler x och y.
  5. Tilldelar det variabla yavärdet 100.
  6. Ökar värdet på y och tilldelar resultatet till variabeln x. Det 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.
  7. Utskriftsvärde för variabel x på konsolen.
  8. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  9. Slutet på huvudfunktionens () kropp.

Villkorlig operatör

Denna operatör utvärderar ett tillstånd och agerar utifrån resultatet av utvärderingen.

Syntax:

Condition ? Expression2 : Expression3;

Parametrar:

  • Villkoret är det villkor som ska utvärderas.
  • Expression1 är det uttryck som ska köras om villkoret är sant.
  • Expression3 är det uttryck som ska köras om villkoret är falskt.

Till exempel:

#include 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:

Kodförklaring:

  1. Inkluderar iostream-rubrikfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inklusive std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Ringer till huvudfunktionen () inom vilken programmets logik ska läggas till. {Markerar början av huvudfunktionen ().
  4. Deklarerar två heltalsvariabler a och b. Variabel a har tilldelats värdet 1.
  5. Tilldela värde till variabel b. Om variabel a är mindre än 10 tilldelas b värdet 2, annars tilldelas b värdet 5.
  6. Utskriftsvärde för variabel b på konsolen tillsammans med annan text.
  7. Huvudfunktionen () ska returnera ett värde om programmet går bra.
  8. Slutet på huvudfunktionens () kropp.

Operatörernas företräde

En enda 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 operatörernas företräde i C ++, med minskande prioritet från vänster till höger:

(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =

Sammanfattning:

  • Operatörer är symboler för att utföra logiska och aritmetiska operationer.
  • Aritmetiska operatörer hjälper oss att utföra olika aritmetiska operationer på operander.
  • Relationsoperatörer hjälper oss att utföra olika jämförelseåtgärder på operander.
  • Logiska operatörer hjälper oss att utföra olika logiska operationer på operander.
  • Bitvis operatörer hjälper oss att utföra bitvisa operationer på operander.
  • Uppdragsoperatörer hjälper oss att utföra olika aritmetiska operationer på operander.
  • Operatörens storlek returnerar storleken på en variabel eller datatyp.
  • Kommaoperatören utför en sekvens av operationer.
  • Den villkorliga operatören utvärderar ett tillstånd och agerar utifrån resultatet.

Intressanta artiklar...