Operators in C++ med exempel: Vad är, typer och program

Vad är Operators?

En operatör är en symbol som används för att utföra operationer på operander. En operatör använder 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 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++

  1. Aritmetik Operatorer
  2. Relations Operatorer
  3. logisk Operatorer
  4. bitvis Operatorer
  5. Uppdrag Operatorer
  6. Övriga Operatorer

Aritmetik Operatorer

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

Operator Description
+ tilläggsoperatör Lägger till operander.
– subtraktionsoperator Subtraherar 2nd operand från 1st operand.
* multiplikationsoperator Multiplicerar 2 operander.
/ divisionsoperatör. Delar täljaren med nämnaren.
% moduloperator Returnerar resten efter division.
++ inkrementoperator Ökar ett heltalsvärde med 1.
— minska operatör. 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:

Aritmetik Operatorer

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

Aritmetik Operatorer

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  4. Deklarera en heltalsvariabel a och initiera den till 11.
  5. Deklarera en heltalsvariabel b och initiera 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 operation a++ tillsammans med annan text på konsolen.
  13. Utskriftsvärde för operation a– tillsammans med annan text på konsolen.
  14. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  15. 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 Description
== lika med operator. Kontrollerar likheten mellan två operandvärden.
!= inte lika med operator Kontrollerar likheten mellan två operandvärden.
> bra än operatören Kontrollerar om värdet på vänster operand är större än värdet på höger operand.
< mindre än operatören. Kontrollerar om värdet på vänster operand är mindre än värdet på höger operand.
>= större än eller lika med operatorn Kontrollerar om värdet på vänster operand är större än eller lika med värdet på höger operande.
<= mindre än eller lika med operatorn. Kontrollerar om värdet på vänster operand är mindre än eller lika med värdet på höger operand.

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:

Relations Operatorer

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

Relations Operatorer

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  4. Deklarera en heltalsvariabel a och initiera den till 11.
  5. Deklarera en heltalsvariabel b och initiera den till 5.
  6. Skriver ut lite text på konsolen som anger värdena för variablerna a och b.
  7. Genom att utföra den aritmetiska operationen, a==b i ett om beslutsfattande uttalande för att veta om det är sant eller falskt. { markerar början av brödtexten i if-satsen.
  8. Text att skriva ut på konsolen om operationen a==b är sann. Änden är en C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i if-satsen.
  9. Den andra delen av ovanstående if-påstående. Den anger vad som ska göras om operationen a==b är falsk.
  10. Text att skriva ut på konsolen om operationen a==b är falsk. Änden är en C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i else-satsen.
  11. Att utföra den aritmetiska operationen, a
  12. Text att skriva ut på konsolen om operationen a C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i if-satsen.
  13. Den andra delen av ovanstående if-påstående. Den anger vad man ska göra om operationen a
  14. Text att skriva ut på konsolen om operationen a C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i else-satsen.
  15. Utför den aritmetiska operationen a>b i ett if-beslutspåstående för att veta om det är sant eller falskt. { markerar början av brödtexten i if-satsen.
  16. Text att skriva ut på konsolen om operationen a>b är sann. Änden är en C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i if-satsen.
  17. Den andra delen av ovanstående if-påstående. Den anger vad som ska göras om operationen a>b är falsk.
  18. Text att skriva ut på konsolen om operationen a>b är falsk. Änden är en C++ nyckelord för slutrad. Den trycker på markören för att börja skriva ut på nästa rad. } markerar slutet av brödtexten i else-satsen.
  19. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  20. Slutet på huvuddelen av funktionen main().

logisk Operatorer

Ocuco-landskapet logiska operatörer kombinera två/fler begränsningar/villkor. Logiska operatorer kompletterar också utvärderingen av det ursprungliga skicket som övervägs. De inkluderar:

Operator Description
&& logisk AND-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. Det vänder operandens logiska tillstånd. Om operanden är sann, är ! operatören gör det falskt.

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:

logisk Operatorer

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

logisk Operatorer

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till.
  4. { markerar början på huvuddelen av funktionen main().
  5. Deklarera 4 heltalsvariabler a, b, c och d och tilldela dem olika värden.
  6. Använda && (AND) operatorn inuti if-satsen. Den förenar 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, därför är resultatet av om falskt.
  7. Text att skriva ut på konsolen om ovanstående if-påstående är sant. Detta kommer inte att köras.
  8. Del som ska köras om ovanstående if-sats är falsk.
  9. Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer att utföras.
  10. Använda || (ELLER) operatör inom en if-sats. Den förenar 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. Falskt||sant är sant, därför är resultatet av om sant.
  11. Text att skriva ut på konsolen om ovanstående if-påstående är sant. Detta kommer att utföras.
  12. Del som ska köras om ovanstående if-sats är falsk.
  13. Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer inte att utföras.
  14. Kontrollera om värdet på variabeln är 0.
  15. Text att skriva ut på konsolen om ovanstående if-påstående är sant. Detta kommer inte att utföras.
  16. Del som ska köras om ovanstående if-sats är falsk.
  17. Text att skriva ut på konsolen om if-satsen är falsk. Detta kommer att utföras.
  18. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  19. Slutet på huvuddelen av funktionen main().

bitvis Operatorer

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

Operator Description
& (bitvis OCH). Det tar 2 nummer (operander) och utför sedan AND på varje bit av två nummer. Om båda är 1, OCH returnerar 1, annars 0.
| (bitvis ELLER) Tar 2 nummer (operander) och utför sedan ELLER på varje bit av två nummer. Den returnerar 1 om en av bitarna är 1.
^ (den bitvisa 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å siffror och flyttar sedan bitarna i den första operanden åt vänster. Den andra operanden bestämmer totalt antal platser att skifta.
>> (högerväxling) Tar två tal och skiftar sedan bitarna i den första operanden åt höger. Den andra operanden bestämmer antalet platser att flytta.
~ (bitvis INTE). Tar nummer och inverterar sedan alla sina 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:

bitvis Operatorer

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

bitvis Operatorer

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  4. Deklarera ett heltalsvariabler utan tecken p och tilldela det ett värde på 60, ​​vilket är 0011 1100 i binärt.
  5. Deklarera ett heltal utan tecken variabler q och tilldela det värdet 13, vilket är 0000 1101 i binärt.
  6. Deklarera en heltalsvariabel z och initiera den till 0.
  7. Utföra den bitvisa & (AND) operationen på variablerna p och q och lagra resultatet i variabel z.
  8. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  9. Utföra bitvis | (OR) operation på variablerna p och q och lagring av resultatet i variabel z.
  10. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  11. Utföra den bitvisa ^ (XOR) operationen på variablerna p och q och lagra resultatet i variabel z.
  12. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  13. Utföra den bitvisa ~ (NOT) operationen på variablerna p och q och lagra resultatet i variabel z.
  14. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  15. Utföra vänsterväxlingsoperationen på variabel p och lagra resultatet i variabel z.
  16. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  17. Att utföra rätt skiftoperation på variabel p och lagra resultatet i variabel z.
  18. Skriver ut resultatet av ovanstående operation på konsolen tillsammans med annan text.
  19. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  20. Slutet på huvuddelen av funktionen main().

Uppdrag Operatorer

Uppdragsoperatörer tilldela värden till variabler. Operanden/variabeln läggs till vänster sida av operatorn medan värdet läggs till höger sida av operatorn. Variabeln och värdet måste tillhöra samma datatyp, annars måste C++ kompilatorn kommer att visa fel.
Till exempel:

x = 5;

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

Operator Description
= (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.
-= (Subtrahera OCH tilldelningsoperator) Subtraherar 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:

Uppdrag Operatorer

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

Uppdrag Operatorer

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till.
  4. { markerar början på huvuddelen av funktionen main().
  5. Deklarera ett heltal variabler x och tilldela det värdet 5.
  6. Utskriftsvärde för variabel x tillsammans med annan text på konsolen. \n är en ny rad tecken. Den flyttar markören till nästa rad vid utskrift.
  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 variabel x.
  10. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  11. Multiplicera värdet på variabel x med 5 och tilldela resultatet till variabel x.
  12. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  13. Dela värdet på variabel x med 5 och tilldela resultat till variabel x.
  14. Utskriftsvärde för variabel x på konsolen tillsammans med annan text.
  15. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  16. Slutet på huvuddelen av funktionen main().

Övriga Operatorer

Övriga Operatorer inkluderar storleken på operatören, komma Operator, Villkorlig Operator, och Operators företräde.
Låt oss diskutera andra operatörer som stöds av C++:

operatörens storlek

Denna operatör bestämmer storleken på en variabel. 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:

operatörens storlek

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

operatörens storlek

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  4. Bestämma storleken på heltalsdatatypen med hjälp av operatorn sizeof och skriva ut den tillsammans med annan text på konsolen.
  5. Bestämma storleken på teckendatatypen med hjälp av operatörens storlek och skriva ut den tillsammans med annan text på konsolen.
  6. Bestämma storleken på flytdatatypen med hjälp av operatörens storlek och skriva ut den tillsammans med annan text på konsolen.
  7. Bestämma storleken på flytdatatypen med hjälp av operatörens storlek och skriva ut den tillsammans med annan text på konsolen.
  8. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  9. 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 förkastar 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:

Kommatecken Operator

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

Kommatecken Operator

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  4. Deklarera två heltalsvariabler x och y.
  5. Tilldela variabeln ya-värdet 100.
  6. Öka värdet på y och tilldela resultat till variabel x. Den börjar med y vid 100 och ökar den sedan till 101 (y++). Därefter läggs y till 10. Slutligen läggs y, fortfarande på 101, till 99, vilket ger 200. x är nu 200.
  7. Utskriftsvärde för variabel x på konsolen.
  8. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  9. 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.
  • Expression1 är uttrycket som ska köras om villkoret är sant.
  • Expression3 ä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:

Villkorlig Operator

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

Villkorlig Operator

Kodförklaring:

  1. Inklusive iostream-huvudfilen i vår kod. Det gör att vi kan läsa från och skriva till konsolen.
  2. Inkluderar std-namnområdet för att använda dess klasser och funktioner utan att anropa det.
  3. Anropar funktionen main() där programmets logik ska läggas till. { markerar början på huvuddelen av funktionen main().
  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 kommer b att tilldelas värdet 2, annars kommer b att tilldelas värdet 5.
  6. Utskriftsvärde för variabel b på konsolen tillsammans med annan text.
  7. Main()-funktionen bör returnera ett värde om programmet fungerar bra.
  8. 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:

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

Sammanfattning

  • Operators är symboler för att utföra logiska och aritmetiska operationer.
  • Aritmetiska operatorer hjälper oss att utföra olika aritmetiska operationer på operander.
  • Relationsoperatorer hjälper oss att utföra olika jämförelseoperationer på operander.
  • Logiska operatorer hjälper oss att utföra olika logiska operationer på operander.
  • Bitvisa operatörer hjälpa oss att utföra bitvisa operationer på operander.
  • Tilldelningsoperatorer hjälper oss att utföra olika aritmetiska operationer på operander.
  • Operatorn sizeof returnerar storleken på en variabel eller datatyp.
  • Kommaoperatorn utför en sekvens av operationer.
  • Den villkorliga operatören utvärderar ett tillstånd och agerar utifrån resultatet.