English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ switch 문

에서 switch 문을 배웁니다. ++프로그래밍에서 switch 문을 생성하는 것과 유사합니다(예제 포함).

C++ switch 문여러 조건에서 하나의 문장을 실행합니다. 이는 C++내부if-else-if문.

하지만 switch 문은 if ... else보다 빠르게 일반적으로 사용됩니다. 또한, switch 문의 문법은 더 간결하고 이해하기 쉽습니다.

C ++ switch ...case 문 문법

switch (n)
{
    case constant1:
        //n이 constant에 일치하면1를 실행합니다;
        break;
    case constant2:
        //n이 constant에 일치하면2를 실행합니다;
        break;
        .
        .
        .
    default:
        // n이 어떤 constant과도 일치하지 않으면 실행할 코드
}

와 일치하는 (constant1, constant2....constant)에 도달할 때, 프로그램의 제어권은 해당 case와 연결된 코드 블록으로 전달됩니다.

위의 코드에서, 가정된 값 n은 constant에 동일합니다.2기본적으로, 컴파일러는 case 문과 연결된 constant을 실행합니다.2코드 블록, switch 블록의 끝이나 break에 도달할 때까지break 문까지.

break 문은 코드가 다음 상황에 들어가지 않도록 방지합니다.

switch...case 문 흐름도

위의 그림은 switch 문의 작동 방식을 보여주고 switch case 문에서 조건을 확인했습니다.

예제: C ++ switch 문

// 프로그램은 switch 문을 사용하여 간단한 계산기를 구축합니다
#include <iostream>
using namespace std;
int main()
{
    char o;
    float num1, num2;
    cout << "연산자를 입력하세요 (+, -, *, /): ";
    cin >> o;
    cout << "두 연산자를 입력하세요: ";
    cin >> num1 >> num2;
    
    switch (o) 
    {
        case '+:
            cout << num1 << "" + << num2 << " " = " " << num1+num2;
            break;
        case '-:
            cout << num1 << "" - << num2 << " " = " " << num1-num2;
            break;
        case '*:
            cout << num1 << "" * << num2 << " " = " " << num1*num2;
            break;
        case '/:
            cout << num1 << "" / << num2 << " " = " " << num1/num2;
            break;
        default:
            // 연산자가任何一个 (와 일치하지 않습니다+, -, *, /)
            cout << "에러! 연산자가 올바르지 않습니다";
            break;
    }
    
    return 0;
}

출력 결과

연산자 입력하십시오(+, -, *, /) +
-
두 개의 연산자 입력: 2.3
4.5
2.3 - 4.5 = -2.2

사용자 입력의 - 연산자가 o 변수에 저장됩니다. 그리고 두 개의 연산자2.3와4.5각각 변수 num1와 num2로 이동합니다.

그런 다음, 프로그램의 제어가

cout << num1 << "" - << num2 << " " = " " << num1-num2;

마지막으로, break; 문이 switch 문을 종료합니다.

break 문을 사용하지 않으면, 조건에 맞는 case 다음의 모든 case 문이 실행됩니다.