Verschachtelte if-else-Anweisungen in C++ verwenden

Jinku Hu 12 Oktober 2023
  1. Verwendung einer einzelnen if-else-Anweisung zur Implementierung einer bedingten Anweisung in C++
  2. Verwendung von verschachtelten if-else-Anweisungen zur Implementierung eines mehrstufigen Programmkontrollflusses in C++
Verschachtelte if-else-Anweisungen in C++ verwenden

In diesem Artikel werden verschiedene Methoden zur Verwendung verschachtelter if-else-Anweisungen in C++ erläutert.

Verwendung einer einzelnen if-else-Anweisung zur Implementierung einer bedingten Anweisung in C++

Es gibt zwei Arten von Anweisungen, die von der C++-Sprache bereitgestellt werden, um die bedingte Ausführung zu implementieren. Eine ist die if-Anweisung, die den Kontrollfluss basierend auf einer Bedingung verzweigt, und die andere ist die switch-Anweisung, die den Ausdruck auswertet, um einen der möglichen Ausführungspfade auszuwählen. Die if-Anweisung kann als einzelne Bedingung ausgedrückt oder als mehrstufige Anweisungen erstellt werden, die die verschiedenen Ausführungspfade steuern. Beachten Sie, dass die einzelne Anweisung, wenn sie der Bedingung folgt, ohne geschweifte Klammern {} geschrieben werden kann, um den Blockbereich zu unterscheiden.

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

  if (array[0] > 1) cout << "array[0] <= 1" << endl;

  if (array[0] > 1) {
    cout << "array[0] <= 1" << endl;
    return EXIT_FAILURE;
  }

  return EXIT_SUCCESS;
}

Verwendung von verschachtelten if-else-Anweisungen zur Implementierung eines mehrstufigen Programmkontrollflusses in C++

Alternativ kann man die verschachtelten if-else-Anweisungen ineinander verketten, um einen komplexen bedingten Steuerungsfluss zu implementieren. Beachten Sie, dass fehlende Klammern für das angegebene if-else bedeuten würden, dass der Block ohne Bedingung ausgeführt wird. Das letztere Szenario ist am wahrscheinlichsten, wenn mehrere if-Anweisungen verschachtelt sind und nicht alle if-Bedingungen den entsprechenden else-Block auf derselben Ebene haben. Um solche Probleme zu vermeiden, sollte versucht werden, den Stil von geschweiften Klammern zu erzwingen oder einige IDE-spezifische Tools zu verwenden, um solche Probleme im Code zu erkennen.

#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

  if (array[4] > array[3]) {
    cout << "array[4] > array[3]" << endl;
    if (array[4] > array[5])
      cout << "array[4] > array[5]" << endl;
    else
      cout << "array[4] <= array[5]" << endl;
  }

  if (array[4] > array[3]) {
    cout << "array[4] > array[3]" << endl;
    if (array[4] > array[5])
      cout << "array[4] > array[5]" << endl;
    else if (array[4] > array[6])
      cout << "array[4] > array[6]" << endl;
    else if (array[4] < array[5])
      cout << "array[4] < array[5]" << endl;
    else
      cout << "array[4] == array[5]" << endl;
  }

  return EXIT_SUCCESS;
}

Ausgabe:

array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - C++ Statement