Przykłady pierwszeństwa C++

Przyklady Pierwszenstwa C



W C++, gdy pracujemy z operatorami, obowiązuje kolejność wykonywania wszystkich operacji. Pierwszeństwo operatora jest wykorzystywane podczas pracy z wieloma operatorami w wyrażeniu naszego kodu. Na przykład podczas pracy z operatorami dodawania, odejmowania, mnożenia i dzielenia operacje mnożenia i dzielenia są wykonywane najpierw od lewej do prawej, ponieważ mają one wysoki priorytet, a operacje dodawania i odejmowania są wykonywane w następnej kolejności od lewej do prawej, ponieważ mają niski priorytet niż mnożenie i dzielenie. Jeśli jednak wyrażenie zawiera tylko operatory dodawania i odejmowania, operację wykonuje się po prostu od lewej do prawej. Tutaj pokażemy tabelę pierwszeństwa operatorów i przykłady pierwszeństwa operatorów.

Pierwszeństwo operatorów operacji arytmetycznych







Operacja Operatorzy Precedens
zdanie wtrącone () Te nawiasy są obsługiwane.
mnożenie, dzielenie, moduł *, /,% Operacje te są wykonywane w kolejności od lewej do prawej.
dodawanie odejmowanie +, – Operacje te wykonywane są na końcu i ich kolejność jest od lewej do prawej.

Przykład 1:

Zacznijmy nasz kod od dołączenia pliku nagłówkowego o nazwie „iostrem”. W tym pliku nagłówkowym „iostream” zadeklarowano wiele funkcji, których użyjemy w naszym kodzie. Poniżej wpisujemy „przestrzeń nazw std” i wywołujemy poprzedzającą ją funkcję „main()”. Tutaj w „main()” deklarujemy zmienne o nazwach „i”, „j” i „k” za pomocą „int”, a wartości, które tutaj przekazujemy, to „10”, „37” i „29”, odpowiednio. Deklarujemy także zmienną „r”, w której zapisywany jest wynik.



Następnie wpisujemy wyrażenie za pomocą operatorów „+, „/” i „-”. Jak wyjaśniliśmy wcześniej, operacje te są wykonywane w określonej kolejności. Wyrażenie, które tutaj umieściliśmy to „i + j / k – j”, w którym najpierw dokonuje się dzielenia, a następnie wykonuje się operacje dodawania i odejmowania. Wyświetla wynik w wartościach całkowitych, ponieważ deklarujemy zmienną „r” jako liczbę całkowitą. Poniżej wyświetlamy obliczony wynik za pomocą „cout”.



Kod 1:

#include

za pomocą przestrzeń nazw st ;

wew główny ( )

{

wew I = 10 , J = 37 , k = 29 , R ;

R = I + J / k - J ;

cout << „Wynikiem danego wyrażenia jest =” << R ;

powrót 0 ;

}

Wyjście:

Po wykonaniu wszystkich operacji wynik wynosi „-26”. Wynik ten jest obliczany zgodnie z pierwszeństwem operatora zapewnionym przez język C++.





Przykład 2:

W tym kodzie po włączeniu pliku nagłówkowego i wywołaniu „main()” inicjujemy zmienną „int” o nazwie „val1” i umieszczamy wyrażenie, w którym wpisujemy „9 + 18 * 7”. Tutaj najpierw wykonuje mnożenie, a następnie dodaje „9” do pomnożonej wartości. Poniżej inicjujemy „int val2” za pomocą „9 + (18 * 7)”.



Tutaj nawiasy są rozwiązywane w pierwszej kolejności. Następnie przeprowadza się dodawanie. Następnie inicjujemy również „int val3” wyrażeniem „(9 + 18) * 7”. W tym wyrażeniu ponownie najpierw operuje się nawiasami, a następnie przeprowadza się mnożenie. Wartości wyrażeń są takie same, ale zapewniają unikalne wyniki ze względu na pierwszeństwo operatora. Teraz idziemy dalej i wypisujemy wszystkie wyniki zapisane w zmiennych „val1”, „val2” i „val3” za pomocą „cout”.

Kod 2:

#include

za pomocą przestrzeń nazw st ;

wew główny ( ) {

wew wybór 1 = 9 + 18 * 7 ;
wew wartość2 = 9 + ( 18 * 7 ) ;
wew wartość3 = ( 9 + 18 ) * 7 ;


cout << „Pierwszy wynik pokazuje =” << wybór 1 << koniec ;

cout << „Drugi wynik pokazuje =” << wartość2 << koniec ;

cout << „Trzeci wynik pokazuje =” << wartość3 << koniec ;

powrót 0 ;

}

Wyjście:

Wynik jaki otrzymamy po obliczeniu danego wyrażenia jest następujący. Widzimy, że trzeci wynik nie jest taki sam jak pozostałe dwa, mimo że wartości są takie same. Wynika to z pierwszeństwa operatora stosowanego do operatora wyrażenia.

Przykład 3:

Tutaj inicjujemy różne zmienne o różnych wartościach, a typ danych wszystkich tych zmiennych to „int”. Mamy zmienne całkowite „a”, „b”, „c” i „d” o wartościach odpowiednio „14”, „9”, „15” i „29”. Następnie inicjujemy „int R1”, a wyrażenie, które tutaj umieszczamy, to „a + b) * c / d”. Nawiasy są rozwiązywane w pierwszej kolejności. Następnie wykonywane są operacje mnożenia i dzielenia. Wynik wyświetlamy również poniżej. Następnie mamy „int R2” z wyrażeniem „a – b * (d + a) + c”. Tutaj rozwiązuje również nawiasy, a następnie wykonuje odejmowanie i dodawanie zgodnie z pierwszeństwem operatora. Drukujemy także jego wynik i inicjujemy „int R3”, gdzie wpisujemy wyrażenie „b – d + c * a”. W tym wyrażeniu najpierw wykonuje się mnożenie, następnie odejmowanie i dodawanie. Wynik tego wyrażenia jest również wyświetlony poniżej. Teraz mamy ostatnie wyrażenie „d + (a * b) / a”, którego wynik jest przechowywany w zmiennej „R4”. W tym wyrażeniu nawiasy są najpierw rozwiązywane, a następnie dzielone. Na koniec przeprowadza się dodawanie. Wynik tego wyrażenia przedstawiono w następujący sposób:

Kod 3:

#include

za pomocą przestrzeń nazw st ;

wew główny ( ) {

wew A = 14 ;
wew B = 9 ;
wew C = piętnaście ;
wew D = 29 ;
wew R1 = ( A + B ) * C / D ;


cout << „(a + b) * c / d ” << „daje =” << R1 << koniec ;

wew R2 = A - B * ( D + A ) + C ;

cout << 'a - b (d + a) + c ' << „daje =” << R2 << koniec ;

wew R3 = B - D + C * A ;

cout << „b - re + c * a ” << „daje =” << R3 << koniec ;

wew R4 = D + ( A * B ) / A ;

cout << „d + (a * b) / a” << „daje =” << R4 << koniec ;

powrót 0 ;

}

Wyjście:

Poniżej znajduje się wynik obliczenia wspomnianych wcześniej wyrażeń. Otrzymujemy taki wynik, ponieważ do operatorów w wyrażeniu zastosowano pierwszeństwo operatora:

Przykład 4:

Inicjujemy tutaj zmienne „a1”, „b1”, „c1”, „d1”, „e1” i „f1” wartościami całkowitymi „64”, „90”, „11”, „27”, Odpowiednio „34” i „98”. Inicjujemy tutaj „int wynik1” wyrażeniem „a1 + b1 – c1) * d1 / f1”, a wynik zapisywany jest w zmiennej „result1”. Tutaj nawiasy są rozwiązywane w pierwszej kolejności. Następnie pozostałe operacje są obliczane sekwencyjnie. Następnie drukujemy „wynik1”. W ten sam sposób obliczamy wyrażenia i przechowujemy je w różnych zmiennych. Następnie drukujemy wszystkie wyniki osobno, pokazując, jak działa pierwszeństwo operatora.

Kod 4:

#include

za pomocą przestrzeń nazw st ;

wew główny ( ) {

wew a1 = 64 ;
wew b1 = 90 ;
wew c1 = jedenaście ;
wew d1 = 27 ;
wew e1 = 3. 4 ;
wew f1 = 98 ;
wew wynik1 = ( a1 + b1 - c1 ) * d1 / f1 ;


cout << „Wynik 1 to” << wynik1 << koniec ;

wew wynik2 = a1 + ( f1 * b1 ) / e1 ;

cout << „Wynik 2 to” << wynik2 << koniec ;

wew wynik3 = e1 + d1 + a1 - c1 * b1 / a1 ;

cout << „Wynik 3 to” << wynik3 << koniec ;

wew wynik 4 = a1 - f1 + ( b1 - d1 ) * c1 ;

cout << „Wynik 4 to” << wynik 4 << koniec ;

wew wynik5 = ( f1 + ( a1 * ( b1 + a1 ) - f1 ) * a1 + e1 ) ;

cout << „Wynik 5 to” << wynik5 << koniec ;

powrót 0 ;

}

Wyjście:

Tutaj renderowane są dane wyjściowe danego kodu, które pokazują wynik wszystkich wyrażeń, które wprowadziliśmy wcześniej. Wszystkie wyrażenia są obliczane zgodnie z regułą pierwszeństwa kolejności.

Wniosek

Przyjrzeliśmy się tutaj „priorytetowi C++”, dokładnie badając kolejność operatorów, w jakiej są one obliczane w programowaniu C++. Pokazaliśmy także kolejność operatorów w formie tabeli, a następnie wykonaliśmy liczne przykłady, w których dowiedzieliśmy się, jak rozwiązywano wyrażenia zgodnie z pierwszeństwem kolejności w programowaniu w C++.