C++에서 중첩 된 if-else 문 사용

Jinku Hu 2023년10월12일
  1. 단일if-else문을 사용하여 C++에서 조건문 구현
  2. 중첩 된if-else문을 사용하여 C++에서 다중 조건 프로그램 제어 흐름 구현
C++에서 중첩 된 if-else 문 사용

이 기사에서는 C++에서 중첩 된 if-else 문을 사용하는 방법에 대한 몇 가지 방법을 설명합니다.

단일if-else문을 사용하여 C++에서 조건문 구현

조건부 실행을 구현하기 위해 C++ 언어에서 제공하는 두 가지 종류의 문이 있습니다. 하나는 조건에 따라 제어 흐름을 분기하는if문이고 다른 하나는 가능한 실행 경로 중 하나를 선택하기 위해 표현식을 평가하는switch문입니다. if문은 단일 조건으로 표현되거나 다른 실행 경로를 제어하는 ​​다단계 문으로 구성 될 수 있습니다. 단일 명령문이 조건을 따르는 경우 블록 범위를 구별하기 위해 중괄호{}없이 작성할 수 있습니다.

#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;
}

중첩 된if-else문을 사용하여 C++에서 다중 조건 프로그램 제어 흐름 구현

또는 중첩 된if-else문을 서로 연결하여 복잡한 조건부 제어 흐름을 구현할 수 있습니다. 주어진if-else에 대한 중괄호가 누락되면 블록이 조건없이 실행됨을 의미합니다. 후자의 시나리오는 여러if문이 중첩되고 모든if조건에 동일한 수준에서 해당else블록이있는 것은 아닐 때 가장 가능성이 높습니다. 이와 같은 문제를 방지하려면 중괄호 스타일을 적용하거나 IDE 관련 도구를 사용하여 코드에서 이러한 문제를 감지해야합니다.

#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;
}

출력:

array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
작가: 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

관련 문장 - C++ Statement