Operators in C++Tipuri cu exemplu

โšก Rezumat inteligent

Operators in C++ sunt simboluri care efectueazฤƒ operaศ›ii asupra operanzilor, de la aritmeticฤƒ ศ™i comparaศ›ie pรขnฤƒ la acศ›iuni logice, pe biศ›i ศ™i de atribuire. Aceastฤƒ resursฤƒ explicฤƒ fiecare categorie de operatori cu exemple de programe rulabile, ieศ™iri ศ™i regulile de precedenศ›ฤƒ care decid ordinea de evaluare.

  • โž• Aritmeticฤƒ Operators: Efectuaศ›i operaศ›ii matematice precum adunarea, subdivizareatracศ›iune, รฎnmulศ›ire, รฎmpฤƒrศ›ire, modul, incrementare ศ™i decrementare a operanzilor numerici.
  • ๐Ÿ‡ง๐Ÿ‡ท Relaศ›ional Operators: Comparaศ›i doi operanzi folosind verificฤƒri de egalitate ศ™i ordonare, returnรขnd un rezultat adevฤƒrat sau fals.
  • ๐Ÿ”— Logic Operators: Combinaศ›i sau inversaศ›i condiศ›iile cu ศ˜I, SAU ศ™i NU pentru a controla deciziile din program.
  • ๐Ÿ”ข bitwise Operators: OperaOperaศ›ii directe pe biศ›i individuali folosind operaศ›iile AND, OR, XOR, NOT ศ™i deplasare pentru o muncฤƒ mai rapidฤƒ la nivel scฤƒzut.
  • ๐Ÿ“ Sarcinฤƒ ศ™i altele Operators: Atribuiศ›i valori, plus sizeof, virgulฤƒ ศ™i operatorul condiศ›ional, fiecare demonstrat cu un exemplu de ieศ™ire.
  • ๐Ÿ“Š OperaPrecedenศ›ฤƒ tor: Regulile de precedenศ›ฤƒ determinฤƒ care operator dintr-o expresie complexฤƒ este evaluat primul.

Operators in C++

Care sunt Operatori?

Un operator este un simbol folosit pentru efectuarea de operaศ›ii asupra operanzilor. Un operator opereazฤƒ asupra operanzilor, iar operaศ›iile pot fi matematice sau logice. Existฤƒ diferite tipuri de operatori รฎn C++ pentru efectuarea diferitelor operatii.

Luaศ›i รฎn considerare urmฤƒtoarea operaศ›iune:

a = x + y;

รŽn declaraศ›ia de mai sus, x ศ™i y sunt operanzi รฎn timp ce + este un operator de adunare. Cรขnd cel C++ compilatorul รฎntรขlneศ™te declaraศ›ia de mai sus, va adฤƒuga x ศ™i y ศ™i va stoca rezultatul รฎn variabila a.

Tipuri de Operators in C++

Existฤƒ รฎn principal 6 tipuri diferite de operatori รฎn C++:

  1. Aritmeticฤƒ Operatori
  2. Relaศ›ional Operatori
  3. Logic Operatori
  4. bitwise Operatori
  5. Cesiune Operatori
  6. Altele Operatori

Sฤƒ รฎncepem cu operatorii aritmetici, categoria cea mai frecvent utilizatฤƒ.

Aritmeticฤƒ Operatori

Sunt tipurile de operatori utilizaศ›i pentru efectuarea operaศ›iilor matematice/aritmetice. Ei includ:

OperaTdR Descriere
+ operator de adฤƒugare Adunฤƒ doi operanzi.
โ€“ subtracoperator de ศ›iune Subtracts 2nd operand de la 1st operand.
* operator de multiplicare รŽnmulศ›eศ™te 2 operanzi.
/ operator de diviziune รŽmparte numฤƒrฤƒtorul cu numitorul.
operator de modul % Returneazฤƒ restul dupฤƒ รฎmpฤƒrศ›ire.
++ operator de increment Mฤƒreศ™te o valoare รฎntreagฤƒ cu 1.
โ€” operator de decrementare Reduce o valoare รฎntreagฤƒ cu 1.

De exemplu:

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

ieศ™ire:

Aritmeticฤƒ Operatori

Iatฤƒ o capturฤƒ de ecran a codului:

Aritmeticฤƒ Operatori

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn care ar trebui adฤƒugatฤƒ logica programului. { marcheazฤƒ รฎnceputul corpului funcศ›iei main().
  4. Declararea unei variabile รฎntregi a ศ™i iniศ›ializarea acesteia la 11.
  5. Declararea unei variabile รฎntregi b ศ™i iniศ›ializarea acesteia la 5.
  6. Declararea unei variabile รฎntregi c.
  7. Afiศ™area valorii operaศ›iei a+b alฤƒturi de alt text รฎn consolฤƒ.
  8. Afiศ™area valorii operaศ›iei ab alฤƒturi de alt text รฎn consolฤƒ.
  9. Afiศ™area valorii operaศ›iei a*b alฤƒturi de alt text รฎn consolฤƒ.
  10. Afiศ™area valorii operaศ›iei a/b alฤƒturi de alt text รฎn consolฤƒ.
  11. Afiศ™eazฤƒ valoarea operaศ›iei a%b alฤƒturi de alt text รฎn consolฤƒ.
  12. Afiศ™area valorii operaศ›iei a++ alฤƒturi de alt text รฎn consolฤƒ.
  13. Afiศ™area valorii operaศ›iei aโ€“ alฤƒturi de alt text รฎn consolฤƒ.
  14. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  15. Sfรขrศ™itul corpului funcศ›iei main().

Relaศ›ional Operatori

Aceste tipuri de operatori efectueazฤƒ comparaศ›ii pe operanzi. De exemplu, poate fi necesar sฤƒ ศ™tiศ›i care operand este mai mare decรขt celฤƒlalt sau mai mic decรขt celฤƒlalt. Ei includ:

OperaTdR Descriere
== egal cu operatorul Verificฤƒ egalitatea valorilor a doi operanzi.
!= nu este egal cu operator Verificฤƒ inegalitatea valorilor a doi operanzi.
> operatorul mai mare decรขt Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai mare decรขt valoarea operandului din dreapta.
operatorul < mai mic decรขt Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai micฤƒ decรขt valoarea operandului din dreapta.
>= mai mare sau egal cu operatorul Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai mare sau egalฤƒ cu valoarea operandului din dreapta.
Operatorul <= mai mic sau egal cu Verificฤƒ dacฤƒ valoarea operandului din stรขnga este mai micฤƒ sau egalฤƒ cu valoarea operandului din dreapta.

De exemplu:

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

ieศ™ire:

Relaศ›ional Operatori

Iatฤƒ o capturฤƒ de ecran a codului:

Relaศ›ional Operatori

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. Declararea unei variabile รฎntregi a ศ™i iniศ›ializarea acesteia la 11.
  5. Declararea unei variabile รฎntregi b ศ™i iniศ›ializarea acesteia la 5.
  6. Tipฤƒrirea unui text pe consolฤƒ care indicฤƒ valorile variabilelor a ศ™i b.
  7. Verificarea dacฤƒ a este egal cu b folosind o instrucศ›iune decizionalฤƒ de tip if.
  8. Text de afiศ™at รฎn consolฤƒ dacฤƒ operaศ›ia a==b este adevฤƒratฤƒ.
  9. Partea de tip โ€želseโ€ a instrucศ›iunii if de mai sus, care precizeazฤƒ ce trebuie fฤƒcut dacฤƒ a==b este falsฤƒ.
  10. Text de afiศ™at รฎn consolฤƒ dacฤƒ operaศ›ia a==b este falsฤƒ.
  11. Verificarea dacฤƒ a este mai mic decรขt b folosind o instrucศ›iune if.
  12. Text de imprimat pe consolฤƒ dacฤƒ operaศ›iunea a
  13. Partea โ€žaltcevaโ€ pentru momentul รฎn care un
  14. Text de imprimat pe consolฤƒ dacฤƒ operaศ›iunea a
  15. Verificarea dacฤƒ a este mai mare decรขt b folosind o instrucศ›iune if.
  16. Text de afiศ™at รฎn consolฤƒ dacฤƒ operaศ›ia a>b este adevฤƒratฤƒ.
  17. Partea โ€želseโ€ pentru momentul รฎn care a>b este fals.
  18. Text de afiศ™at รฎn consolฤƒ dacฤƒ operaศ›ia a>b este falsฤƒ.
  19. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  20. Sfรขrศ™itul corpului funcศ›iei main().

Logic Operatori

operatori logici combinฤƒ douฤƒ sau mai multe constrรขngeri/condiศ›ii. Operatorii logici completeazฤƒ, de asemenea, evaluarea condiศ›iei originale luate รฎn considerare. Aceศ™tia includ:

OperaTdR Descriere
Operatorul logic AND && Condiศ›ia este adevฤƒratฤƒ dacฤƒ ambii operanzi sunt nenuli.
|| operatorul logic SAU Condiศ›ia este adevฤƒratฤƒ dacฤƒ unul dintre operanzi este diferit de zero.
! operatorul logic NOT Inverseazฤƒ starea logicฤƒ a operandului. Dacฤƒ operandul este adevฤƒrat, operatorul ! รฎl face fals.

De exemplu:

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

ieศ™ire:

Logic Operatori

Iatฤƒ o capturฤƒ de ecran a codului:

Logic Operatori

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. { marcheazฤƒ รฎnceputul corpului funcศ›iei main().
  5. Declararea a 4 variabile รฎntregi a, b, c ศ™i d ศ™i atribuirea lor de valori diferite.
  6. Folosind operatorul && (AND) รฎn interiorul instrucศ›iunii if. Acesta uneศ™te douฤƒ condiศ›ii. Prima condiศ›ie este falsฤƒ, iar a doua este adevฤƒratฤƒ, deci false&&true este fals; rezultatul lui if este fals.
  7. Text de afiศ™at รฎn consolฤƒ dacฤƒ instrucศ›iunea de mai sus este adevฤƒratฤƒ. Aceasta nu va fi executatฤƒ.
  8. Partea care trebuie executatฤƒ dacฤƒ instrucศ›iunea if de mai sus este falsฤƒ.
  9. Text de tipฤƒrit pe consolฤƒ dacฤƒ declaraศ›ia if este falsฤƒ. Aceasta va fi executatฤƒ.
  10. Utilizarea operatorului || (SAU) รฎntr-o instrucศ›iune if. Prima condiศ›ie este falsฤƒ, iar a doua este adevฤƒratฤƒ, deci false||true este adevฤƒrat; rezultatul instrucศ›iunii if este adevฤƒrat.
  11. Text de afiศ™at รฎn consolฤƒ dacฤƒ instrucศ›iunea de mai sus este adevฤƒratฤƒ. Aceasta va fi executatฤƒ.
  12. Partea care trebuie executatฤƒ dacฤƒ instrucศ›iunea if de mai sus este falsฤƒ.
  13. Text de tipฤƒrit pe consolฤƒ dacฤƒ declaraศ›ia if este falsฤƒ. Acest lucru nu va fi executat.
  14. Verificarea dacฤƒ valoarea variabilei b este 0.
  15. Text de afiศ™at รฎn consolฤƒ dacฤƒ instrucศ›iunea de mai sus este adevฤƒratฤƒ. Aceasta nu va fi executatฤƒ.
  16. Partea care trebuie executatฤƒ dacฤƒ instrucศ›iunea if de mai sus este falsฤƒ.
  17. Text de tipฤƒrit pe consolฤƒ dacฤƒ declaraศ›ia if este falsฤƒ. Aceasta va fi executatฤƒ.
  18. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  19. Sfรขrศ™itul corpului funcศ›iei main().

bitwise Operatori

Operatori bitwise efectueazฤƒ operaศ›ii la nivel de bit asupra operanzilor. Mai รฎntรขi, operanzii sunt convertiศ›i la nivel de bit, apoi se efectueazฤƒ operaศ›iile. Cรขnd operaศ›iile aritmetice precum adunarea ศ™i subdivizareatracDacฤƒ ศ›iunea este efectuatฤƒ la nivel de bit, rezultatele pot fi obศ›inute mai rapid. Acestea includ:

OperaTdR Descriere
& (ศ˜I pe bit) Preia 2 numere (operanzi), apoi efectueazฤƒ operaศ›ia AND pe fiecare bit al celor douฤƒ numere. Dacฤƒ ambele sunt 1, operaศ›ia AND returneazฤƒ 1, altfel 0.
| (SAU pe biศ›i) Preia 2 numere (operanzi), apoi efectueazฤƒ operaศ›ia SAU pe fiecare bit al celor douฤƒ numere. Returneazฤƒ 1 dacฤƒ unul dintre biศ›i este 1.
^ (XOR pe biศ›i) Preia 2 numere (operanzi), apoi efectueazฤƒ operaศ›ia XOR pe fiecare bit al celor 2 numere. Returneazฤƒ 1 dacฤƒ ambii biศ›i sunt diferiศ›i.
<< (schimba la stรขnga) Preia douฤƒ numere, apoi deplaseazฤƒ la stรขnga biศ›ii primului operand. Al doilea operand determinฤƒ numฤƒrul total de poziศ›ii de deplasare.
>> (schimba la dreapta) Preia douฤƒ numere, apoi deplaseazฤƒ la dreapta biศ›ii primului operand. Al doilea operand determinฤƒ numฤƒrul de poziศ›ii de deplasare.
~ (NU pe bit) Ia un numฤƒr, apoi inverseazฤƒ toศ›i biศ›ii acestuia.
#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;
}

ieศ™ire:

bitwise Operatori

Iatฤƒ o capturฤƒ de ecran a codului:

bitwise Operatori

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. Declararea unei variabile รฎntregi fฤƒrฤƒ semn p ศ™i atribuirea acesteia a valorii 60, care este 0011 1100 รฎn binar.
  5. Declararea unei variabile รฎntregi fฤƒrฤƒ semn q ศ™i atribuirea acesteia a valorii 13, care este 0000 1101 รฎn binar.
  6. Declararea unei variabile รฎntregi z ศ™i iniศ›ializarea acesteia la 0.
  7. Efectuarea operaศ›iei pe biศ›i & (ศ˜I) pe variabilele p ศ™i q ศ™i stocarea rezultatului รฎn variabila z.
  8. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  9. Efectuarea bitwise | (OR) operaศ›ie pe variabilele p ศ™i q ศ™i stocarea rezultatului รฎn variabila z.
  10. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  11. Efectuarea operaศ›iei ^ pe biศ›i (XOR) pe variabilele p ศ™i q ศ™i stocarea rezultatului รฎn variabila z.
  12. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  13. Efectuarea operaศ›iei ~ (NOT) bit la bit asupra variabilei p ศ™i stocarea rezultatului รฎn variabila z.
  14. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  15. Efectuarea operaศ›iei de deplasare la stรขnga pe variabila p ศ™i stocarea rezultatului รฎn variabila z.
  16. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  17. Efectuarea operaศ›iei de schimbare la dreapta pe variabila p ศ™i stocarea rezultatului รฎn variabila z.
  18. Imprimarea rezultatului operaศ›iei de mai sus pe consolฤƒ alฤƒturi de alt text.
  19. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  20. Sfรขrศ™itul corpului funcศ›iei main().

Cesiune Operatori

Operatori de misiune atribuie valori variabilelor. Operandul/variabila este adฤƒugat รฎn partea stรขngฤƒ a operatorului, รฎn timp ce valoarea este adฤƒugatฤƒ รฎn partea dreaptฤƒ. Variabila ศ™i valoarea trebuie sฤƒ aparศ›inฤƒ aceluiaศ™i tip de date, altfel C++ compilatorul va genera o eroare.

De exemplu:

x = 5;

รŽn exemplul de mai sus, x este variabila/operandul, = este operatorul de atribuire, iar 5 este valoarea. Iatฤƒ operatorii de atribuire populari รฎn C++:

OperaTdR Descriere
= (operator de atribuire simplฤƒ) Atribuie valoarea din dreapta variabilei din stรขnga.
+= (Adฤƒugaศ›i operator de atribuire AND) Adaugฤƒ valoarea operandului din dreapta operandului din stรขnga, apoi atribuie rezultatul variabilei din stรขnga.
-= (Subtracoperatorul de atribuire t AND) Subtracts obศ›ine valoarea operandului din dreapta din operandul din stรขnga, apoi atribuie rezultatul variabilei din stรขnga.
*= (operator de atribuire รฎnmulศ›ire ศ˜I) รŽnmulศ›eศ™te valoarea operandului din stรขnga cu operandului din dreapta, apoi atribuie rezultatul variabilei din stรขnga.
/= (Diviziune ศ™i operator de atribuire) รŽmparte valoarea operandului din stรขnga la operandul din dreapta, apoi atribuie rezultatul variabilei din stรขnga.

De exemplu:

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

ieศ™ire:

Cesiune Operatori

Iatฤƒ o capturฤƒ de ecran a codului:

Cesiune Operatori

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. { marcheazฤƒ รฎnceputul corpului funcศ›iei main().
  5. Declararea unei variabile รฎntregi x ศ™i atribuirea acesteia la o valoare de 5.
  6. Afiศ™eazฤƒ valoarea variabilei x alฤƒturi de alt text รฎn consolฤƒ. \n este un caracter de nouฤƒ linie.
  7. Adฤƒugarea lui 5 la valoarea variabilei x ศ™i atribuirea rezultatului variabilei x.
  8. Afiศ™area valorii variabilei x รฎn consolฤƒ alฤƒturi de alt text.
  9. Subtracextragรขnd 5 din valoarea lui x ศ™i atribuind rezultatul variabilei x.
  10. Afiศ™area valorii variabilei x รฎn consolฤƒ alฤƒturi de alt text.
  11. รŽnmulศ›irea valorii variabilei x cu 5 ศ™i atribuirea rezultatului variabilei x.
  12. Afiศ™area valorii variabilei x รฎn consolฤƒ alฤƒturi de alt text.
  13. รŽmpฤƒrศ›irea valorii variabilei x la 5 ศ™i atribuirea rezultatului variabilei x.
  14. Afiศ™area valorii variabilei x รฎn consolฤƒ alฤƒturi de alt text.
  15. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  16. Sfรขrศ™itul corpului funcศ›iei main().

Altele Operatori

Altele Operatori include operatorul sizeof, virgulฤƒ Operator, Condiศ›ional Operator, ศ™i OperaPrecedenศ›a operatorilor. Sฤƒ discutฤƒm despre ceilalศ›i operatori acceptaศ›i de C++:

dimensiunea operatorului

Acest operator determinฤƒ dimensiunea unei variabile. Folosiศ›i operatorul sizeof pentru a determina dimensiunea unui tip de date.

De exemplu:

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

ieศ™ire:

dimensiunea operatorului

Iatฤƒ o capturฤƒ de ecran a codului:

dimensiunea operatorului

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. Determinarea dimensiunii tipului de date รฎntreg folosind operatorul sizeof ศ™i afiศ™area acesteia alฤƒturi de alt text รฎn consolฤƒ.
  5. Determinarea dimensiunii tipului de date caracter folosind operatorul sizeof ศ™i afiศ™area acesteia alฤƒturi de alt text รฎn consolฤƒ.
  6. Determinarea dimensiunii tipului de date float folosind operatorul sizeof ศ™i afiศ™area acesteia alฤƒturi de alt text รฎn consolฤƒ.
  7. Determinarea dimensiunii tipului de date double folosind operatorul sizeof ศ™i afiศ™area acesteia alฤƒturi de alt text รฎn consolฤƒ.
  8. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  9. Sfรขrศ™itul corpului funcศ›iei main().

virgulฤƒ OperaTdR

operator virgulฤƒ (,) declanศ™eazฤƒ efectuarea unei secvenศ›e de operaศ›ii. Exprimฤƒ primul operand ศ™i eliminฤƒ rezultatul. Apoi, evalueazฤƒ al doilea operand ศ™i returneazฤƒ valoarea ศ™i tipul.

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

ieศ™ire:

virgulฤƒ OperaTdR

Iatฤƒ o capturฤƒ de ecran a codului:

virgulฤƒ OperaTdR

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. Declararea a douฤƒ variabile รฎntregi x ศ™i y.
  5. Atribuirea variabilei ya de 100.
  6. Se foloseศ™te operatorul virgulฤƒ. รŽncepe cu y la 100, apoi รฎl incrementeazฤƒ la 101 (y++). Apoi, y este adฤƒugat la 10. รŽn final, y, tot la 101, este adฤƒugat la 99, rezultรขnd 200. x este acum 200.
  7. Afiศ™area valorii variabilei x รฎn consolฤƒ.
  8. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  9. Sfรขrศ™itul corpului funcศ›iei main().

Condiลฃional OperaTdR

Acest operator evalueazฤƒ o condiศ›ie ศ™i acศ›ioneazฤƒ pe baza rezultatului evaluฤƒrii.

Sintaxฤƒ:

Condition ? Expression2 : Expression3;

parametri:

  • Condiศ›ia este condiศ›ia care urmeazฤƒ sฤƒ fie evaluatฤƒ.
  • Expresia2 este expresia care va fi executatฤƒ dacฤƒ condiศ›ia este adevฤƒratฤƒ.
  • Expresia3 este expresia care va fi executatฤƒ dacฤƒ condiศ›ia este falsฤƒ.

De exemplu:

#include <iostream>
using namespace std;
int main() {
	int a = 1, b;
	b = (a < 10) ? 2 : 5;
	cout << "value of b: " << b << endl;
	return 0;
}

ieศ™ire:

Condiลฃional OperaTdR

Iatฤƒ o capturฤƒ de ecran a codului:

Condiลฃional OperaTdR

Code Explicaลฃie:

  1. Includerea fiศ™ierului antet iostream รฎn codul nostru. Ne va permite sฤƒ citim ศ™i sฤƒ scriem pe consolฤƒ.
  2. Includerea spaศ›iului de nume std pentru a-ศ™i folosi clasele ศ™i funcศ›iile fฤƒrฤƒ a-l apela.
  3. Apelarea funcศ›iei main() รฎn interiorul cฤƒreia ar trebui adฤƒugatฤƒ logica programului.
  4. Declarรขnd douฤƒ variabile รฎntregi a ศ™i b. Variabilei a i s-a atribuit valoarea 1.
  5. Atribuirea unei valori variabilei b. Dacฤƒ variabila a este mai micฤƒ decรขt 10, variabilei b i se va atribui valoarea 2, altfel i se va atribui valoarea 5.
  6. Afiศ™area valorii variabilei b รฎn consolฤƒ alฤƒturi de alt text.
  7. Funcศ›ia main() ar trebui sฤƒ returneze o valoare dacฤƒ programul ruleazฤƒ bine.
  8. Sfรขrศ™itul corpului funcศ›iei main().

Operators Precedenta

O singurฤƒ operaศ›ie poate avea mai mult de un operator. รŽn acest caz, prioritatea operatorului รฎl determinฤƒ pe cel evaluat primul.

Urmฤƒtoarea listฤƒ aratฤƒ prioritatea operatorilor รฎn C++, cu prioritate descrescฤƒtoare de la stรขnga la dreapta:

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

รŽntrebฤƒri frecvente

Asistenศ›ii de codare cu inteligenศ›ฤƒ artificialฤƒ pot sugera operatorul corect, pot explica precedenศ›a ศ™i pot semnala greศ™eli precum confundarea lui = cu ==. Aceศ™tia accelereazฤƒ รฎnvฤƒศ›area, dar รฎnศ›elegerea comportamentului operatorilor rฤƒmรขne esenศ›ialฤƒ pentru scrierea unui cod fiabil.

Nu. Instrumentele de inteligenศ›ฤƒ artificialฤƒ pot formata ศ™i revizui expresii, dar precedenศ›a afecteazฤƒ direct rezultatul programului. Cunoaศ™terea precedenศ›ei vฤƒ ajutฤƒ sฤƒ citiศ›i codul, sฤƒ depanaศ›i erorile logice ศ™i sฤƒ scrieศ›i expresii care se comportฤƒ exact aศ™a cum au fost concepute.

OperaSupraรฎncฤƒrcarea operatorului (tor) vฤƒ permite sฤƒ redefiniศ›i modul รฎn care funcศ›ioneazฤƒ un operator pentru tipurile definite de utilizator, cum ar fi clasele. De exemplu, puteศ›i supraรฎncฤƒrca operatorul + pentru a adฤƒuga douฤƒ obiecte, oferind tipurilor personalizate un comportament intuitiv, asemฤƒnฤƒtor cu cel รฎncorporat.

Prefixul (++i) incrementeazฤƒ mai รฎntรขi valoarea, apoi o returneazฤƒ. Postfixul (i++) returneazฤƒ mai รฎntรขi valoarea curentฤƒ, apoi o incrementeazฤƒ. Diferenศ›a conteazฤƒ atunci cรขnd incrementul este utilizat รฎn interiorul unei expresii mai mari.

Operatorul = atribuie o valoare unei variabile, รฎn timp ce operatorul == comparฤƒ douฤƒ valori pentru egalitate ศ™i returneazฤƒ โ€žadevฤƒratโ€ sau โ€žfalsโ€. Utilizarea greศ™itฤƒ a lui = รฎn interiorul unei condiศ›ii este o eroare frecventฤƒ.

Rezumaศ›i aceastฤƒ postare cu: