C++ pirmumo pavyzdžiai

C Pirmumo Pavyzdziai



C++ kalboje, kai dirbame su operatoriais, yra seka, kuria atliekamos visos operacijos. Operatoriaus pirmenybė naudojama dirbant su keliais operatoriais mūsų kodo išraiškoje. Pavyzdžiui, dirbant su sudėties, atimties, daugybos ir dalybos operatoriais, daugybos ir dalybos operacijos atliekamos pirmiausia iš kairės į dešinę, nes jos turi didelę pirmenybę, o sudėjimo ir atimties operacijos atliekamos po to iš kairės į dešinę, kaip ir maža pirmenybė nei daugyba ir dalyba. Bet jei išraiškoje yra tik sudėjimo ir atimties operatoriai, operacija tiesiog atliekama iš kairės į dešinę. Čia parodysime operatorių pirmumo lentelę ir operatorių pirmumo pavyzdžius.

Operatoriaus pirmenybė aritmetinėms operacijoms







Operacija Operatoriai Pirmenybė
skliausteliuose () Šie skliaustai yra operuojami.
daugyba, dalyba, modulis *, /, % Šios operacijos atliekamos ir jų tvarka yra iš kairės į dešinę.
sudėjimas, atėmimas +,- Šios operacijos atliekamos pabaigoje ir jų seka yra iš kairės į dešinę.

1 pavyzdys:

Pradėkime savo kodą įtraukdami antraštės failą pavadinimu „iostrem“. Daugelis funkcijų yra deklaruojamos šiame „iostream“ antraštės faile, kurį naudosime savo kode. Po juo įvedame „vardų erdvę std“ ir iškviečiame „main()“ priekyje. Čia „main ()“ deklaruojame kintamuosius pavadinimu „i“, „j“ ir „k“ su „int“, o čia perduodamos reikšmės yra „10“, „37“ ir „29“, atitinkamai. Taip pat deklaruojame „r“ kintamąjį, kuriame išsaugomas rezultatas.



Po to įvedame išraišką naudodami „+“, „/“ ir „-“ operatorius. Kaip paaiškinome anksčiau, šios operacijos atliekamos iš eilės. Išraiška, kurią čia patalpinome, yra „i + j / k – j“, kurioje pirmiausia atliekamas padalijimas, o tada atliekamos sudėties ir atimties operacijos. Rezultatas rodomas sveikųjų skaičių reikšmėmis, nes „r“ kintamąjį deklaruojame kaip sveikąjį skaičių. Toliau pateikiame apskaičiuotą rezultatą naudodami „cout“.



1 kodas:

#include

naudojant vardų erdvė std ;

tarpt pagrindinis ( )

{

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

r = i + j / k - j ;

cout << 'Duotos išraiškos rezultatas yra = ' << r ;

grąžinti 0 ;

}

Išvestis:

Atlikus visas operacijas, išvestis yra „-26“. Šis rezultatas apskaičiuojamas pagal operatoriaus pirmenybę, kurią suteikia C++ kalba.





2 pavyzdys:

Į šį kodą įtraukę antraštės failą ir iškvietę „main()“, inicijuojame „int“ kintamąjį pavadinimu „val1“ ir įdedame išraišką, kurioje įvedame „9 + 18 * 7“. Čia jis pirmiausia atlieka dauginimą ir tada prideda „9“ prie padaugintos vertės. Toliau „int val2“ inicijuojame „9 + (18 * 7)“.



Čia pirmiausia išsprendžiami skliaustai. Tada atliekamas papildymas. Po to taip pat inicijuojame „int val3“ su „(9 + 18) * 7“ išraiška. Šioje išraiškoje pirmiausia atliekami skliaustai, o tada atliekamas dauginimas. Išraiškos reikšmės yra tos pačios, tačiau jos suteikia unikalius rezultatus dėl operatoriaus pirmenybės. Dabar judame į priekį ir spausdiname visus rezultatus, kurie yra saugomi kintamuosiuose „val1“, „val2“ ir „val3“, naudodami „cout“.

2 kodas:

#include

naudojant vardų erdvė std ;

tarpt pagrindinis ( ) {

tarpt pasirinkimas1 = 9 + 18 * 7 ;
tarpt val2 = 9 + ( 18 * 7 ) ;
tarpt val3 = ( 9 + 18 ) * 7 ;


cout << 'Pirmasis rezultatas rodo = ' << pasirinkimas1 << endl ;

cout << 'Antras rezultatas rodo = ' << val2 << endl ;

cout << 'Trečias rezultatas rodo = ' << val3 << endl ;

grąžinti 0 ;

}

Išvestis:

Rezultatas, kurį gauname apskaičiavę pateiktą išraišką, yra toks. Matome, kad trečiasis rezultatas nėra toks pat kaip kiti du, nors reikšmės yra tos pačios. Taip yra dėl operatoriaus pirmumo, kuris taikomas išraiškos operatoriui.

3 pavyzdys:

Čia inicijuojame skirtingus kintamuosius su skirtingomis reikšmėmis, o visų šių kintamųjų duomenų tipas yra „int“. Turime sveikųjų skaičių kintamuosius „a“, „b“, „c“ ir „d“, kurių reikšmės yra atitinkamai „14“, „9“, „15“ ir „29“. Po to inicijuojame „int R1“, o išraiška, kurią čia pateikiame, yra „a + b) * c / d“. Pirmiausia išsprendžiami skliaustai. Tada atliekamos daugybos ir dalybos operacijos. Rezultatą taip pat rodome žemiau. Tada turime „int R2“ su išraiška „a – b * (d + a) + c“. Čia jis taip pat išsprendžia skliaustus, o tada atimimas ir pridėjimas atliekami pagal operatorių pirmenybę. Taip pat išspausdiname jo rezultatą ir inicijuojame „int R3“, kur įvedama išraiška „b – d + c * a“. Šioje išraiškoje pirmiausia atliekama daugyba, tada atliekama atimta ir sudėtis. Šios išraiškos rezultatas taip pat rodomas toliau. Dabar turime paskutinę išraišką „d + (a * b) / a“, kurios rezultatas saugomas „R4“ kintamajame. Šioje išraiškoje pirmiausia išsprendžiami skliaustai, o po to padalinami. Pabaigoje atliekamas papildymas. Šios išraiškos rezultatas rodomas taip:

3 kodas:

#include

naudojant vardų erdvė std ;

tarpt pagrindinis ( ) {

tarpt a = 14 ;
tarpt b = 9 ;
tarpt c = penkiolika ;
tarpt d = 29 ;
tarpt R1 = ( a + b ) * c / d ;


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

tarpt R2 = a - b * ( d + a ) + c ;

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

tarpt R3 = b - d + c * a ;

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

tarpt R4 = d + ( a * b ) / a ;

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

grąžinti 0 ;

}

Išvestis:

Toliau pateikiamas anksčiau paminėtų išraiškų skaičiavimo rezultatas. Gauname tokį rezultatą, nes išraiškos operatoriams taikoma operatorių pirmenybė:

4 pavyzdys:

Čia inicijuojame „a1“, „b1“, „c1“, „d1“, „e1“ ir „f1“ kintamuosius sveikosiomis reikšmėmis „64“, „90“, „11“, „27“, „34“ ir „98“. Čia inicijuojame „int result1“ su „a1 + b1 – c1) * d1 / f1“ išraiška, o rezultatas išsaugomas kintamajame „result1“. Čia pirmiausia išsprendžiami skliaustai. Tada likusios operacijos apskaičiuojamos paeiliui. Tada išspausdiname „rezultatą1“. Tuo pačiu būdu apskaičiuojame išraiškas ir saugome jas skirtinguose kintamuosiuose. Tada spausdiname visus rezultatus atskirai, parodydami, kaip veikia operatoriaus pirmenybė.

4 kodas:

#include

naudojant vardų erdvė std ;

tarpt pagrindinis ( ) {

tarpt a1 = 64 ;
tarpt b1 = 90 ;
tarpt c1 = vienuolika ;
tarpt d1 = 27 ;
tarpt e1 = 3. 4 ;
tarpt f1 = 98 ;
tarpt rezultatas1 = ( a1 + b1 - c1 ) * d1 / f1 ;


cout << '1 rezultatas yra' << rezultatas1 << endl ;

tarpt rezultatas2 = a1 + ( f1 * b1 ) / e1 ;

cout << '2 rezultatas yra' << rezultatas2 << endl ;

tarpt rezultatas3 = e1 + d1 + a1 - c1 * b1 / a1 ;

cout << '3 rezultatas yra' << rezultatas3 << endl ;

tarpt rezultatas4 = a1 - f1 + ( b1 - d1 ) * c1 ;

cout << '4 rezultatas yra' << rezultatas4 << endl ;

tarpt rezultatas5 = ( f1 + ( a1 * ( b1 + a1 ) - f1 ) * a1 + e1 ) ;

cout << '5 rezultatas yra' << rezultatas5 << endl ;

grąžinti 0 ;

}

Išvestis:

Čia pateikiamas nurodyto kodo išvestis, kuri rodo visų anksčiau įvestų išraiškų rezultatą. Visos išraiškos apskaičiuojamos laikantis eilės pirmumo taisyklės.

Išvada

Čia pažvelgėme į „C++ pirmenybę“, kurioje nuodugniai ištyrėme operatorių tvarką, kuria jie apskaičiuojami programuojant C++. Mes taip pat parodėme operatorių eiliškumą lentelės pavidalu, o tada atlikome daugybę pavyzdžių, kuriuose sužinojome, kaip C++ programuojant išraiškos buvo sprendžiamos pagal eilės eiliškumą.