Exemple de precedență C++

Exemple De Precedenta C



În C++, când lucrăm cu operatorii, există o secvență în care sunt efectuate toate operațiile. Prioritatea operatorului este utilizată atunci când lucrați cu mai mulți operatori în expresia codului nostru. De exemplu, în timp ce se lucrează cu operatorii de adunare, scădere, înmulțire și împărțire, operațiile de înmulțire și împărțire sunt efectuate mai întâi de la stânga la dreapta, deoarece au prioritate mare, iar operațiunile de adunare și scădere sunt efectuate de la stânga la dreapta așa cum au prioritate redusă decât înmulțirea și împărțirea. Dar dacă expresia conține doar operatorii de adunare și scădere, operația se realizează pur și simplu de la stânga la dreapta. Aici, vom arăta tabelul cu prioritatea operatorului și exemplele de prioritate a operatorului.

Precedența operatorului a operațiilor aritmetice







Operațiune Operatori Precedenta
parantezele () Aceste paranteze sunt operate.
înmulțire, împărțire, modul *, /, % Aceste operații sunt efectuate și ordinea lor este de la stânga la dreapta.
adunare, scădere +, – Aceste operații sunt efectuate la sfârșit și succesiunea lor este de la stânga la dreapta.

Exemplul 1:

Să începem codul prin includerea fișierului antet numit „iostrem”. Multe funcții sunt declarate în acest fișier antet „iostream” pe care îl vom folosi în codul nostru. Sub el, introducem „namespace std” și invocăm „main()” înainte. Aici în „main()”, declarăm variabilele numite „i”, „j” și „k” cu „int”, iar valorile pe care le transmitem aici sunt „10”, „37” și „29”. respectiv. De asemenea, declarăm variabila „r” unde este salvat rezultatul.



După aceasta, introducem o expresie folosind operatorii „+, „/” și „-”. După cum am explicat anterior, aceste operații sunt efectuate într-o secvență. Expresia pe care am plasat-o aici este „i + j / k – j” în care se face mai întâi împărțirea, iar apoi se efectuează operațiile de adunare și scădere. Afișează rezultatul în valori întregi pe măsură ce declarăm variabila „r” ca număr întreg. În cele ce urmează, afișăm rezultatul calculat folosind „cout”.



Cod 1:

#include

folosind spatiu de nume std ;

int principal ( )

{

int i = 10 , j = 37 , k = 29 , r ;

r = i + j / k - j ;

cout << 'Rezultatul expresiei date este = ' << r ;

întoarcere 0 ;

}

Ieșire:

Ieșirea este „-26” după efectuarea tuturor operațiunilor. Acest rezultat este calculat în funcție de prioritatea operatorului oferită de limbajul C++.





Exemplul 2:

În acest cod, după ce includem fișierul antet și invocăm „main()”, inițializam o variabilă „int” cu numele „val1” și plasăm expresia în care introducem „9 + 18 * 7”. Aici, efectuează mai întâi înmulțirea și apoi adaugă „9” la valoarea înmulțită. În cele ce urmează, inițializam „int val2” cu „9 + (18 * 7)”.



Aici, parantezele sunt rezolvate mai întâi. Apoi, se efectuează adăugarea. După aceasta, inițializam și „int val3” cu expresia „(9 + 18) * 7”. În această expresie, mai întâi se operează din nou parantezele și apoi se realizează înmulțirea. Valorile expresiei sunt aceleași, dar oferă rezultate unice datorită precedenței operatorului. Acum, mergem mai departe și imprimăm toate rezultatele care sunt stocate în variabilele „val1”, „val2” și „val3” cu ajutorul „cout”.

Cod 2:

#include

folosind spatiu de nume std ;

int principal ( ) {

int alegere1 = 9 + 18 * 7 ;
int val2 = 9 + ( 18 * 7 ) ;
int val3 = ( 9 + 18 ) * 7 ;


cout << 'Primul rezultat arată = ' << alegere1 << endl ;

cout << 'Al doilea rezultat arată = ' << val2 << endl ;

cout << 'Al treilea rezultat arată = ' << val3 << endl ;

întoarcere 0 ;

}

Ieșire:

Rezultatul pe care îl obținem după calcularea expresiei date este următorul. Putem observa că al treilea rezultat nu este același cu celelalte două, deși valorile sunt aceleași. Acest lucru se datorează priorității operatorului care este aplicată operatorului expresiei.

Exemplul 3:

Aici, inițializam diferite variabile cu valori diferite, iar tipul de date al tuturor acestor variabile este „int”. Avem variabilele întregi „a”, „b”, „c” și „d” cu valorile „14”, „9”, „15”, respectiv „29”. După aceasta, inițializam „int R1” și expresia pe care o plasăm aici este „a + b) * c / d”. Parantezele sunt rezolvate mai întâi. Apoi, se efectuează operațiile de înmulțire și împărțire. De asemenea, afișăm rezultatul mai jos. Apoi, avem „int R2” cu expresia „a – b * (d + a) + c”. Aici rezolvă și parantezele și apoi scăderea și adunarea sunt efectuate în funcție de precedența operatorului. De asemenea, imprimăm rezultatul și inițializam „int R3” unde este tastata expresia „b – d + c * a”. În această expresie se efectuează mai întâi înmulțirea, apoi se efectuează scăderea și adunarea. Rezultatul acestei expresii este, de asemenea, afișat în cele ce urmează. Acum, avem ultima expresie, „d + (a * b) / a”, al cărei rezultat este stocat în variabila „R4”. În această expresie, parantezele se rezolvă mai întâi și apoi se împart. La final, se efectuează adăugarea. Rezultatul acestei expresii este prezentat după cum urmează:

Cod 3:

#include

folosind spatiu de nume std ;

int principal ( ) {

int A = 14 ;
int b = 9 ;
int c = cincisprezece ;
int d = 29 ;
int R1 = ( A + b ) * c / d ;


cout << '(a + b) * c / d ' << 'oferă =' << R1 << endl ;

int R2 = A - b * ( d + A ) + c ;

cout << 'a - b (d + a) + c' << 'oferă =' << R2 << endl ;

int R3 = b - d + c * A ;

cout << 'b - d + c * a' << 'oferă =' << R3 << endl ;

int R4 = d + ( A * b ) / A ;

cout << 'd + (a * b) / a ' << 'oferă =' << R4 << endl ;

întoarcere 0 ;

}

Ieșire:

Următorul este rezultatul calculării expresiilor menționate anterior. Obținem acest rezultat deoarece operatorilor din expresie li se aplică precedența operatorului:

Exemplul 4:

Inițializam aici variabilele „a1”, „b1”, „c1”, „d1”, „e1” și „f1” cu valorile întregi „64”, „90”, „11”, „27”, „34”, respectiv „98”. Inițializam aici „int result1” cu expresia „a1 + b1 – c1) * d1 / f1” iar rezultatul este stocat în variabila „result1”. Aici, parantezele sunt rezolvate mai întâi. Apoi, operațiunile rămase sunt calculate secvenţial. Apoi, imprimăm „rezultat1”. În același mod, calculăm expresiile și le stocăm în diferite variabile. Apoi, imprimăm toate rezultatele separat, arătând cum funcționează prioritatea operatorului.

Cod 4:

#include

folosind spatiu de nume std ;

int principal ( ) {

int a1 = 64 ;
int b1 = 90 ;
int c1 = unsprezece ;
int d1 = 27 ;
int e1 = 3. 4 ;
int f1 = 98 ;
int rezultat1 = ( a1 + b1 - c1 ) * d1 / f1 ;


cout << 'Rezultatul 1 este' << rezultat1 << endl ;

int rezultat2 = a1 + ( f1 * b1 ) / e1 ;

cout << 'Rezultatul 2 este' << rezultat2 << endl ;

int rezultat3 = e1 + d1 + a1 - c1 * b1 / a1 ;

cout << 'Rezultatul 3 este' << rezultat3 << endl ;

int rezultat4 = a1 - f1 + ( b1 - d1 ) * c1 ;

cout << 'Rezultatul 4 este' << rezultat4 << endl ;

int rezultat5 = ( f1 + ( a1 * ( b1 + a1 ) - f1 ) * a1 + e1 ) ;

cout << 'Rezultatul 5 este' << rezultat5 << endl ;

întoarcere 0 ;

}

Ieșire:

Ieșirea codului dat este redată aici, care arată rezultatul tuturor expresiilor pe care le-am introdus anterior. Toate expresiile sunt calculate urmând regula de prioritate a ordinii.

Concluzie

Ne-am uitat la „precedența C++” aici, în care am studiat profund ordinea operatorilor în care sunt calculați în programarea C++. Am arătat și ordinea operatorilor sub formă de tabel și apoi am realizat numeroase exemple în care am învățat cum au fost rezolvate expresiile în funcție de ordinea de prioritate în programarea C++.