Beachten Sie die Reihenfolge der Operationen in C

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Labor lernen Sie, die Reihenfolge der Operationen in der C-Programmierung bei der Durchführung einfacher arithmetischer Operationen zu beachten. Sie beginnen mit der Deklaration von Variablen und der Bildung eines Ausdrucks, untersuchen dann, wie Klammern verwendet werden, um die Auswertungsreihenfolge zu steuern. Schließlich geben Sie das Endergebnis aus, um die Auswirkungen der Reihenfolge der Operationen zu beobachten. Dieses Labor behandelt die grundlegenden Konzepte einfacher arithmetischer Operationen in C, die für die Erstellung komplexerer Programme unerlässlich sind.

Variablen deklarieren und einen Ausdruck bilden

In diesem Schritt lernen Sie, wie Sie Variablen deklarieren und einen arithmetischen Ausdruck in C erstellen, der die Reihenfolge der Operationen demonstriert.

Erstellen Sie zunächst eine neue C-Datei im Verzeichnis ~/project:

cd ~/project
nano order_of_operations.c

Geben Sie nun folgenden Code ein:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;

    int result = a + b * c;

    printf("Resultat von a + b * c: %d\n", result);

    return 0;
}

Lassen Sie uns den Code aufschlüsseln:

  • Wir deklarieren drei Integer-Variablen: a, b und c
  • Wir erstellen einen Ausdruck a + b * c, der die standardmäßige Reihenfolge der Operationen demonstriert.
  • Die printf-Anweisung gibt das Ergebnis dieser Berechnung aus.

Kompilieren und führen Sie das Programm aus:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Beispielausgabe:

Resultat von a + b * c: 25

In diesem Beispiel wird die Multiplikation (b * c) vor der Addition (a + ...) durchgeführt, aufgrund der Standardreihenfolge der Operationen in C. Die Berechnung entspricht a + (b * c), was 10 + (5 * 3) = 10 + 15 = 25 ergibt.

Klammern zur Steuerung der Auswertungsreihenfolge verwenden

In diesem Schritt lernen Sie, wie Sie Klammern verwenden, um die Reihenfolge der Operationen in arithmetischen C-Ausdrücken zu ändern.

Öffnen Sie die vorherige Datei, um den Code zu ändern:

cd ~/project
nano order_of_operations.c

Ersetzen Sie den vorherigen Code durch den folgenden:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;

    // Verwendung von Klammern zur Änderung der Auswertungsreihenfolge
    int result_mit_klammern = a + (b * c);
    int result_ohne_klammern = a + b * c;

    printf("Ergebnis mit Klammern (a + (b * c)): %d\n", result_mit_klammern);
    printf("Ergebnis ohne Klammern (a + b * c): %d\n", result_ohne_klammern);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Beispielausgabe:

Ergebnis mit Klammern (a + (b * c)): 25
Ergebnis ohne Klammern (a + b * c): 25

In diesem Beispiel:

  • a + (b * c) zeigt explizit, dass die Multiplikation zuerst ausgeführt wird.
  • Das Ergebnis ist identisch zum vorherigen Beispiel, da die Standardreihenfolge der Operationen bereits die Multiplikation vor der Addition ausführt.
  • Klammern helfen, die beabsichtigte Reihenfolge der Operationen deutlich zu machen und können Berechnungen in komplexeren Ausdrücken ändern.

Das Endergebnis ausgeben

In diesem Schritt erweitern Sie das vorherige Beispiel, indem Sie einen komplexeren arithmetischen Ausdruck erstellen und detaillierte Ergebnisse ausgeben, um die Reihenfolge der Operationen zu demonstrieren.

Öffnen Sie die Datei, um den Code zu ändern:

cd ~/project
nano order_of_operations.c

Ersetzen Sie den vorherigen Code durch den folgenden:

#include <stdio.h>

int main() {
    int a = 10;
    int b = 5;
    int c = 3;
    int d = 2;

    // Komplexer Ausdruck mit mehreren Operationen
    int result_default = a + b * c - d;
    int result_with_parentheses = a + (b * c - d);

    printf("Aufschlüsselung des ursprünglichen Ausdrucks:\n");
    printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);

    printf("\nStandardauswertung (a + b * c - d):\n");
    printf("Schritt 1: b * c = %d\n", b * c);
    printf("Schritt 2: a + (b * c) = %d\n", a + (b * c));
    printf("Schritt 3: (a + b * c) - d = %d\n", result_default);

    printf("\nAuswertung mit Klammern (a + (b * c - d)):\n");
    printf("Schritt 1: b * c - d = %d\n", b * c - d);
    printf("Schritt 2: a + (b * c - d) = %d\n", result_with_parentheses);

    return 0;
}

Kompilieren und führen Sie das Programm aus:

gcc order_of_operations.c -o order_of_operations
./order_of_operations

Beispielausgabe:

Aufschlüsselung des ursprünglichen Ausdrucks:
a = 10, b = 5, c = 3, d = 2

Standardauswertung (a + b * c - d):
Schritt 1: b * c = 15
Schritt 2: a + (b * c) = 25
Schritt 3: (a + b * c) - d = 23

Auswertung mit Klammern (a + (b * c - d)):
Schritt 1: b * c - d = 13
Schritt 2: a + (b * c - d) = 23

Wichtige Punkte:

  • Der Code demonstriert, wie Klammern die Reihenfolge der Operationen ändern können.
  • Wir zeigen die Schritt-für-Schritt-Auswertung der Ausdrücke.
  • Beide Ausdrücke ergeben letztendlich denselben Wert (23).

Zusammenfassung

In diesem Labor haben Sie gelernt, wie Sie die Reihenfolge der Operationen in der C-Programmierung beachten. Zuerst haben Sie Variablen deklariert und einen arithmetischen Ausdruck gebildet, um die Standardreihenfolge der Operationen zu demonstrieren, bei der die Multiplikation vor der Addition ausgeführt wird. Anschließend haben Sie Klammern verwendet, um die Auswertungsreihenfolge zu steuern und das Ergebnis des Ausdrucks zu ändern. Durch das Verständnis der Bedeutung der Reihenfolge der Operationen und die effektive Verwendung von Klammern können Sie präzisere und vorhersehbarere C-Programme schreiben.