Vorrang in c

Vorrang in c

Wenn wir einen Ausdruck bewerten, der die Verwendung verschiedener Operatoren darin besteht. Vorrang. Um dies zu verstehen, nehmen Sie jeden Ausdruck an, e.G., 8*3+2, und die Antwort auf diesen Ausdruck könnte zu zwei verschiedenen Werten führen, „26“ bzw. „40“. Wir werden jedoch das Ergebnis des Ausdrucks als „26“ auswählen, da der Multiplikation „*“ -Operator im Vergleich zum Zugabe -Operator „+“ mehr Vorrang vorbeugt Das Ergebnis wird dann mit den 2 hinzugefügt. Viele Betreiber in der Programmiersprache C haben mehr Priorität gegenüber den anderen Betreibern.

Verfahren

Die Vorrangbetreiber ist ein wichtiges Konzept für numerische Methoden zur Lösung eines Ausdrucks. Wir brauchen diesen Vorrang, um den Ausdruck zu lösen. Wenn wir keine Regel befolgen, werden wir nicht wissen, welchen Bediener zuerst gelöst werden soll, und wir können jedes Mal eine andere Antwort erhalten. Um diese Verwirrung zu vermeiden, haben wir den Betreibern, die angeben, welcher Bediener in jedem Ausdruck zuerst bewerten müssen, die Priorität standardisiert. Wir werden verschiedene Beispiele mit verschiedenen Operatoren in diesem Artikel lösen.

Beispiel 01

Im Beispiel werden wir ein Programm im Compiler Visual Studio C ausführen, das den numerischen Ausdruck berechnet, an dem bestimmte numerische Operatoren beteiligt sind. Wenn wir einen Beispielausdruck nehmen als:

6*5-4+2

Ohne den Vorrang des Operators haben wir zwei Möglichkeiten, diesen Ausdruck zu lösen. Eine Möglichkeit besteht darin, diesen Ausdruck zu lösen, indem die Operatoren von links nach rechts bewertet werden. Wenn wir dies tun, erhalten wir die Antwort "28". Eine andere Möglichkeit, den Ausdruck zu lösen, ist, wenn wir die Operatoren von rechts nach links bewerten, werden wir die Antwort auf diesen Ausdruck als „26“ berechnen. Die Antworten, die wir haben, unterscheiden sich voneinander und sie sind auch misstrauisch. Wie würden wir wählen, welche Antwort korrekt ist, wenn diese Antworten nicht falsch sind? Lassen Sie uns dieses Beispiel im C -Compiler lösen, indem Sie ein Programm für diesen Vorgang entwickeln. Das Visual Studio C hat einen Standard -Operator -Vorrang für solche Ausdrücke.

Um dies zu implementieren, müssen wir ein Projekt erstellen und dann die Hauptfunktion als „main ()“ mit dem Rückgabetyp „Integer“ deklarieren. In der Hauptfunktion eine Ganzzahl mit einem variablen Namen "A" initialisieren und ihm den vorherigen numerischen Ausdruck zuweisen. Zeigen Sie dann das Ergebnis für diesen Ausdruck in der Variablen an, indem Sie die Printf () -Methode aufrufen, die den Formatspezifizierer für die Ganzzahlvariable "A" als "%i" und auch den Namen der Variablen "A" in seinen Argumenten annimmt. Hier ist das kürzeste Programm, das Sie ausführen können:

#enthalten
int main ()

int a = 6 * 5 - 4 + 2;
printf ("%i", a);
Rückkehr 0;

Die Ausgabe des Ausdrucks „A“ wird dann von diesem Programm als „28“ berechnet.

Beispiel 02

Um mehr über den Vorrang des Operators zu erfahren, werden wir ein Beispiel für den Ausdruck lösen, an dem die arithmetischen Operatoren und die Halterungsoperatoren beteiligt sind, und erfahren Sie, wie die C -Programmiersprache mehrere Arten von Operatoren Vorrang hat. Der Ausdruck, für den wir in diesem Beispiel arbeiten werden, lautet wie folgt:

((3*8) +2) -2

Der Ausdruck umfasst die beiden Klammern und den arithmetischen Operator "+". Um herauszufinden, wie der Compiler für C diesen Ausdruck löst, ein neues Projekt erstellen und eine Funktion namens "Main" mit ganzzahliger "int" als Rückgabetyp deklarieren. In dieser Funktion initialisieren Sie eine Variable „X“ mit einer Integer für Datentypen. Zu dieser Variablen den numerischen Ausdruck zuweisen, e.G., "Int x = ((3*8) +2) -2" und die Variable im Ausgang anzeigen.

#enthalten
int main ()

int x = ((3 * 8) + 2) - 2;
printf ("%i", x);
Rückkehr 0;

Die Ausgabe für die im vorherige Beispiel deklarierte Variable "x" wäre der numerische Wert "24". Wir haben diese Ausgabe, da die C -Programmiersprache dem Klammern Operator im Vergleich zum arithmetischen Operator „+“ vorausgeht. Der im Ausdruck bewertete erste Operator war also der Klammern, der die Multiplikation der beiden Werte 3 und 8 umfasste, die den Wert 24 ergab. Dann löste Compiler erneut den zweiten Klammernoperator, der den resultierenden Wert aus der ersten Klammern mit numerischer Wert 2 hinzufügte. Die Antwort auf die zweite Klammer lautet "26". Dann kam die Wendung für die Subtraktion und „2“ wurde von 26 abtrahiert, was zur Antwort des Ausdrucks als 24 führte.

Beispiel 03

Für das dritte Beispiel werden wir einen Ausdruck lösen, an dem die Operatoren beteiligt sind, die entweder gleich sind oder die gleiche Vorrang haben. Lassen Sie uns für einen solchen Fall ein Beispiel implementieren, in dem wir die drei Variablen x, y und z deklarieren. Alle haben den gleichen Datentyp wie Ganzzahl mit den initialisierten Werten als 30, 20 und 10. Wir möchten alle drei Werte als x> y> z vergleichen. Wenn die Bedingung (x> y> z) wahr wird, druckt der Ausgang "korrekt". Ansonsten "falsch". Dieses Beispiel wird auf folgende Weise implementiert:

#enthalten
int main ()

int x = 30;
int y = 20;
int z = 10;
if (x> y> z)
printf ("korrekt");
anders
printf ("false");
Rückkehr 0;

Aus dem vorherigen Code können wir sehen, dass der Ausdruck nur Komparatoroperatoren enthält. Im C -Programm berechnen wir den Ausdruck einfach, indem wir den Operator von links nach rechts bewerten, wenn der gleiche Operatortyp vorhanden ist. Das ist der Grund, warum die Ausgabe das „richtige“ für den Ausdruck angezeigt hat. Wenn wir uns von links nach rechts bewegen und die (x> y)> z vergleichen, wäre dies eine korrekte Anweisung für die Werte x = 30, y = 20 = und z = 10.

Abschluss

Vorrangbetreiber ist die grundlegende Regel, um den Betreibern Prioritäten zuzuweisen, während sie sich mit numerischen Ausdrücken in den in C verfassten Programmen befassen. Dieser Artikel zeigt die Vorrang der Operatoren über denselben und unterschiedlichen Operatoren zu Bewertungszwecken. Wir haben drei verschiedene Beispiele mit drei verschiedenen Fällen implementiert, in denen der Bediener -Vorrang beteiligt ist.