Operatorer ind C++ med eksempel: Hvad er, typer og programmer

Hvad er Operators?

En operatør er et symbol, der bruges til at udføre operationer på operander. En operatør betjener operander. Operationerne kan være matematiske eller logiske. Der er forskellige typer operatører i C++ til at udføre forskellige operationer.

Overvej følgende operation:

a = x + y;

I ovenstående udsagn er x og y operanderne, mens + er en additionsoperator. Når C++ compiler støder på ovenstående sætning, vil den tilføje x og y og gemme resultatet i variabel a.

Typer af Operatorer ind C++

Der er hovedsageligt 6 forskellige typer operatører i C++

  1. Aritmetik Operatorer
  2. Relationel Operatorer
  3. Logisk Operatorer
  4. bitvise Operatorer
  5. Opgave Operatorer
  6. Andet Operatorer

Aritmetik Operatorer

De er de typer operatorer, der bruges til at udføre matematiske/aritmetiske operationer. De omfatter:

OperaTor Produktbeskrivelse
+ tilføjelsesoperatør Tilføjer til operander.
– subtraktionsoperatør trækker 2 frand operand fra 1st operand.
* multiplikationsoperator Multiplicerer 2 operander.
/ divisionsoperatør. Opdeler tæller med nævner.
% modulus operator Returnerer resten efter division.
++ stigningsoperator Forøger en heltalsværdi med 1.
— nedsættelsesoperatør. Formindsker en heltalsværdi 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;
}

Output:

Aritmetik Operatorer

Her er et skærmbillede af koden:

Aritmetik Operatorer

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Erklære en heltalsvariabel a og initialisere den til 11.
  5. Erklære en heltalsvariabel b og initialisere den til 5.
  6. Erklæring af en heltalsvariabel c.
  7. Udskrivningsværdi af operation a+b sammen med anden tekst på konsollen.
  8. Udskrivningsværdi af operation ab sammen med anden tekst på konsollen.
  9. Udskrivningsværdi af operation a*b sammen med anden tekst på konsollen.
  10. Udskrivningsværdi af operation a/b sammen med anden tekst på konsollen.
  11. Udskrivningsværdi af operation a%b sammen med anden tekst på konsollen.
  12. Udskrivningsværdi af operation a++ sammen med anden tekst på konsollen.
  13. Udskrivningsværdi af betjening a– sammen med anden tekst på konsollen.
  14. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  15. Slutningen af ​​hoveddelen af ​​funktionen main().

Relationel Operatorer

Disse typer operatører udfører sammenligninger på operander. For eksempel kan du have brug for at vide, hvilken operand der er større end den anden, eller mindre end den anden. De omfatter:

OperaTor Produktbeskrivelse
== lig med operator. Kontrollerer lighed af to operandværdier.
!= ikke lig med operator Kontrollerer lighed af to operandværdier.
> stor end operatør Kontrollerer, om værdien af ​​venstre operand er større end værdien af ​​højre operand.
< mindre end operatør. Kontrollerer, om værdien af ​​venstre operand er mindre end værdien af ​​højre operand.
>= større end eller lig med operatoren Kontrollerer, om værdien af ​​venstre operand er større end eller lig med værdien af ​​højre operand.
<= mindre end eller lig med operatoren. Kontrollerer, om værdien af ​​venstre operand er mindre end eller lig med værdien af ​​højre 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;
}

Output:

Relationel Operatorer

Her er et skærmbillede af koden:

Relationel Operatorer

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Erklære en heltalsvariabel a og initialisere den til 11.
  5. Erklære en heltalsvariabel b og initialisere den til 5.
  6. Udskrivning af tekst på konsollen med angivelse af værdierne af variable a og b.
  7. Ved at udføre den aritmetiske operation, a==b i en hvis-beslutningsudsagn for at vide, om den er sand eller falsk. { markerer begyndelsen af ​​brødteksten i if-sætningen.
  8. Tekst, der skal udskrives på konsollen, hvis handlingen a==b er sand. Endl er en C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i if-sætningen.
  9. Den anden del af ovenstående if-erklæring. Den angiver, hvad der skal gøres, hvis operationen a==b er falsk.
  10. Tekst, der skal udskrives på konsollen, hvis handlingen a==b er falsk. Endl er en C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i else-sætningen.
  11. Udførelse af den aritmetiske operation, a
  12. Tekst til udskrivning på konsollen, hvis handlingen a C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i if-sætningen.
  13. Den anden del af ovenstående if-erklæring. Der står, hvad man skal gøre, hvis operationen a
  14. Tekst, der skal udskrives på konsollen, hvis handlingen a C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i else-sætningen.
  15. Udførelse af den aritmetiske operation a>b i en if-beslutningssætning for at vide, om den er sand eller falsk. { markerer begyndelsen af ​​brødteksten i if-sætningen.
  16. Tekst, der skal udskrives på konsollen, hvis handlingen a>b er sand. Endl er en C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i if-sætningen.
  17. Den anden del af ovenstående if-erklæring. Den angiver, hvad der skal gøres, hvis operationen a>b er falsk.
  18. Tekst, der skal udskrives på konsollen, hvis handlingen a>b er falsk. Endl er en C++ nøgleord for slutlinje. Den skubber markøren for at begynde at udskrive i næste linje. } markerer slutningen af ​​brødteksten i else-sætningen.
  19. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  20. Slutningen af ​​hoveddelen af ​​funktionen main().

Logisk Operatorer

logiske operatører kombinere to/flere begrænsninger/betingelser. Logiske operatorer supplerer også evalueringen af ​​den oprindelige tilstand under overvejelse. De omfatter:

OperaTor Produktbeskrivelse
&& logisk OG-operator. Betingelsen er sand, hvis begge operander ikke er nul.
|| logisk ELLER-operator. Betingelsen er sand, hvis en af ​​operanderne er ikke-nul.
! logisk NOT-operator. Det vender operandens logiske tilstand. Hvis operanden er sand, vil ! operatør gør det falsk.

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;
}

Output:

Logisk Operatorer

Her er et skærmbillede af koden:

Logisk Operatorer

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes.
  4. { markerer starten af ​​brødteksten af ​​funktionen main().
  5. Erklære 4 heltalsvariable a, b, c og d og tildele dem forskellige værdier.
  6. Brug af && (AND) operatoren inde i if-sætningen. Den forbinder to betingelser, værdien af ​​a er lig med værdien af ​​b og værdien af ​​a er større end værdien af ​​b. Første betingelse er falsk, anden betingelse er sand. Falsk&&sand er falsk, derfor er resultatet af hvis falsk.
  7. Tekst til udskrivning på konsollen, hvis ovenstående if-udsagn er sand. Dette vil ikke blive udført.
  8. Del, der skal udføres, hvis ovenstående if-sætning er falsk.
  9. Tekst, der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette vil blive udført.
  10. Brug af || (ELLER) operatør i en if-erklæring. Den forbinder to betingelser, værdien af ​​a er lig med værdien af ​​b og værdien af ​​a er større end værdien af ​​b. Første betingelse er falsk, anden betingelse er sand. Falsk||sandt er Sandt, derfor er resultatet af hvis sandt.
  11. Tekst til udskrivning på konsollen, hvis ovenstående if-udsagn er sand. Dette vil blive udført.
  12. Del, der skal udføres, hvis ovenstående if-sætning er falsk.
  13. Tekst, der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette vil ikke blive udført.
  14. Kontrollerer om værdien af ​​variablen er 0.
  15. Tekst til udskrivning på konsollen, hvis ovenstående if-udsagn er sand. Dette vil ikke blive udført.
  16. Del, der skal udføres, hvis ovenstående if-sætning er falsk.
  17. Tekst, der skal udskrives på konsollen, hvis if-sætningen er falsk. Dette vil blive udført.
  18. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  19. Slutningen af ​​hoveddelen af ​​funktionen main().

bitvise Operatorer

Bitvise operatører udføre operationer på bitniveau på operander. Først konverteres operatorer til bitniveau, derefter udføres operationer på operanderne. Når aritmetiske operationer som addition og subtraktion udføres på bitniveau, kan resultater opnås hurtigere. De omfatter:

OperaTor Produktbeskrivelse
& (bitvist OG). Det tager 2 tal (operander) og udfører derefter AND på hver bit af to tal. Hvis begge er 1, OG returnerer 1, ellers 0.
| (bitvist ELLER) Tager 2 tal (operander) og udfører derefter ELLER på hver bit af to tal. Det returnerer 1, hvis en af ​​bitsene er 1.
^ (den bitvise XOR) Tager 2 numre (operander) og udfører derefter XOR på hver bit af 2 numre. Det returnerer 1, hvis begge bits er forskellige.
<< (venstre skift) Tager to tal og flytter derefter bits af den første operand til venstre. Den anden operand bestemmer det samlede antal pladser, der skal skiftes.
>> (højre skift) Tager to tal og flytter derefter til højre bits af den første operand. Den anden operand bestemmer antallet af steder, der skal skiftes.
~ (bitvist IKKE). Tager tal og inverterer derefter alle dets bits.
#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;
}

Output:

bitvise Operatorer

Her er et skærmbillede af koden:

bitvise Operatorer

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Erklære et heltal uden fortegn variabler p og tildele det en værdi på 60, ​​hvilket vil sige 0011 1100 i binær.
  5. Erklære et heltal uden fortegn variabler q og tildele det en værdi på 13, hvilket vil sige 0000 1101 i binær.
  6. Erklære en heltalsvariabel z og initialisere den til 0.
  7. Udførelse af den bitvise & (AND) operation på variablene p og q og lagring af resultatet i variabel z.
  8. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  9. Udførelse af bitvis | (ELLER) operation på variable p og q og lagring af resultatet i variabel z.
  10. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  11. Udførelse af den bitvise ^ (XOR) operation på variable p og q og lagring af resultatet i variabel z.
  12. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  13. Udførelse af den bitvise ~ (NOT) operation på variable p og q og lagring af resultatet i variabel z.
  14. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  15. Udførelse af venstreskiftoperationen på variabel p og lagring af resultatet i variabel z.
  16. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  17. Udførelse af den rigtige skiftoperation på variabel p og lagring af resultatet i variabel z.
  18. Udskrivning af resultatet af ovenstående handling på konsollen sammen med anden tekst.
  19. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  20. Slutningen af ​​hoveddelen af ​​funktionen main().

Opgave Operatorer

Opgaveoperatører tildele værdier til variabler. Operaanden/variablen tilføjes til venstre side af operatoren, mens værdien tilføjes til højre side af operatoren. Variablen og værdien skal tilhøre samme datatype, ellers skal C++ compiler vil rejse fejl.
For eksempel:

x = 5;

I ovenstående eksempel er x variablen/operand, = er tildelingsoperatoren, mens 5 er værdien. Her er de populære opgaveoperatører i C++:

OperaTor Produktbeskrivelse
= (simpel opgaveoperatør) Tildeler værdien til højre til variablen til venstre.
+= (Tilføj OG tildelingsoperator) Tilføjer værdien af ​​højre operand til venstre operand og tildeler derefter resultatet til variablen til venstre.
-= (fratræk OG tildelingsoperator) Trækker værdien af ​​den højre operand fra den venstre operand, og tildeler derefter resultatet til variablen til venstre.
*= (Multiply OG tildelingsoperator) Multiplicerer værdien af ​​venstre operand med højre operand, og tildeler derefter resultatet til variablen til venstre.
/= (Afdeling OG opgaveoperatør) Dividerer værdien af ​​venstre operand med højre operand, og tildeler derefter resultatet til variablen 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;
}

Output:

Opgave Operatorer

Her er et skærmbillede af koden:

Opgave Operatorer

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes.
  4. { markerer starten af ​​brødteksten af ​​funktionen main().
  5. Erklære et heltal variabler x og tildele det en værdi på 5.
  6. Udskrivningsværdi af variabel x sammen med anden tekst på konsollen. \n er et nyt linjetegn. Den flytter markøren til næste linje under udskrivning.
  7. Tilføjelse af 5 til værdien af ​​variabel x og tildeling af resultat til variabel x.
  8. Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
  9. At trække 5 fra værdien af ​​x og tildele resultatet til variabel x.
  10. Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
  11. Multiplicer værdien af ​​variabel x med 5 og tildeler resultatet til variabel x.
  12. Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
  13. At dividere værdien af ​​variabel x med 5 og tildele resultatet til variabel x.
  14. Udskrivningsværdi af variabel x på konsollen sammen med anden tekst.
  15. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  16. Slutningen af ​​hoveddelen af ​​funktionen main().

Andet Operatorer

Andet Operatorer inkludere størrelsen på operatoren, komma Operator, Betinget Operator, og Operators Forrang.
Lad os diskutere andre operatører understøttet af C++:

operatørens størrelse

Denne operator bestemmer en variabels størrelse. Brug sizeof operator til at bestemme størrelsen af ​​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;
}

Output:

operatørens størrelse

Her er et skærmbillede af koden:

operatørens størrelse

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Bestemmelse af størrelsen på heltalsdatatypen ved hjælp af operatorstørrelsen og udskrivning af den sammen med anden tekst på konsollen.
  5. Bestemmelse af størrelsen på karakterdatatypen ved hjælp af operatorstørrelsen og udskrivning af den sammen med anden tekst på konsollen.
  6. Bestemmelse af størrelsen på flydende datatype ved hjælp af sizeof operator og udskrivning af den sammen med anden tekst på konsollen.
  7. Bestemmelse af størrelsen på flydende datatype ved hjælp af sizeof operator og udskrivning af den sammen med anden tekst på konsollen.
  8. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  9. Slutningen af ​​hoveddelen af ​​funktionen main().

Komma OperaTor

komma-operator (,) udløser udførelsen af ​​en sekvens af operationer. Den udtrykker den første operand og kasserer resultatet. Dernæst evaluerer den den anden operand og returnerer værdien og typen.

#include <iostream>
using namespace std;
int main() {
	int x, y;
	y = 100;
	x = (y++, y + 10, 99 + y);
	cout << x;
	return 0;
}

Output:

Komma OperaTor

Her er et skærmbillede af koden:

Komma OperaTor

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Erklæring af to heltalsvariable x og y.
  5. Tildeling af variablen ya-værdi på 100.
  6. Forøgelse af værdien af ​​y og tildeling af resultat til variabel x. Det starter med y ved 100 og øger det derefter til 101 (y++). Dernæst lægges y til 10. Til sidst lægges y, stadig på 101, til 99, hvilket giver 200. x er nu 200.
  7. Udskrivningsværdi af variabel x på konsollen.
  8. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  9. Slutningen af ​​hoveddelen af ​​funktionen main().

Betinget OperaTor

Denne operatør evaluerer en tilstand og handler ud fra resultatet af evalueringen.

Syntaks:

Condition ? Expression2 : Expression3;

Parametre:

  • Tilstanden er den tilstand, der skal vurderes.
  • Udtryk1 er det udtryk, der skal udføres, hvis betingelsen er sand.
  • Expression3 er det udtryk, der skal udføres, hvis betingelsen er falsk.

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;
}

Output:

Betinget OperaTor

Her er et skærmbillede af koden:

Betinget OperaTor

Kodeforklaring:

  1. Inklusive iostream header-filen i vores kode. Det giver os mulighed for at læse fra og skrive til konsollen.
  2. Inkluderer std-navnerummet for at bruge dets klasser og funktioner uden at kalde det.
  3. Kalder main()-funktionen, hvori programmets logik skal tilføjes. { markerer starten af ​​brødteksten af ​​main()-funktionen.
  4. Erklærer to heltals variabler a og b. Variabel a er blevet tildelt en værdi på 1.
  5. Tildeling af værdi til variabel b. Hvis variabel a er mindre end 10, vil b blive tildelt værdien 2, ellers vil b blive tildelt en værdi på 5.
  6. Udskrivningsværdi af variabel b på konsollen sammen med anden tekst.
  7. Main()-funktionen skal returnere en værdi, hvis programmet kører fint.
  8. Slutningen af ​​hoveddelen af ​​funktionen main().

Operators Forrang

En enkelt operation kan have mere end én operatør. I så fald bestemmer operatørens forrang den, der evalueres først.

Den følgende liste viser operatørernes forrang i C++, med faldende forrang fra venstre mod højre:

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

Resumé

  • Operatorer er symboler for udførelse af logiske og aritmetiske operationer.
  • Aritmetiske operatorer hjælper os med at udføre forskellige aritmetiske operationer på operander.
  • Relationelle operatører hjælper os med at udføre forskellige sammenligningsoperationer på operander.
  • Logiske operatorer hjælper os med at udføre forskellige logiske operationer på operander.
  • Bitvise operatører hjælpe os med at udføre bitvise operationer på operander.
  • Tildelingsoperatorer hjælper os med at udføre forskellige aritmetiske operationer på operander.
  • Operatoren sizeof returnerer størrelsen af ​​en variabel eller datatype.
  • Kommaoperatoren udfører en sekvens af operationer.
  • Den betingede operatør evaluerer en tilstand og handler ud fra resultatet.

Opsummer dette indlæg med: