C++

C 기초강의: #11 조건문 - if

TitediosKW 2024. 8. 24. 19:00
반응형


조건문은 프로그램의 흐름을 제어하는 데 필수적인 요소입니다. 조건문을 사용하면 특정 조건에 따라 코드 블록을 실행하거나 건너뛸 수 있습니다. 이번 포스트에서는 C 언어에서 사용되는 다양한 조건문에 대해 자세히 살펴보겠습니다.


1. 조건문의 기본 개념

조건문은 특정 조건이 참(true)인지 거짓(false)인지에 따라 코드의 실행 흐름을 변경합니다. 조건문을 사용하면 프로그램이 다양한 상황에 반응할 수 있도록 제어할 수 있습니다. 조건문을 통해 프로그램의 실행 경로를 내가 원하는 데로 조절할 수 있기 때문에 조건문을 잘 알아 두셔야 합니다. 조건문에 대해 간단한 그림을 통해 알아보겠습니다.

조건이 참이라면 실행 코드를 실행하고 거짓이라면 다음 조건을 확인합니다. 이렇게 조건들을 하나하나 검사하여 참인지 거짓인지를 판단하여 실행할 코드를 실행하는 것입니다.


2. if 문

if 문은 가장 기본적인 조건문으로, 조건이 참일 때 코드 블록을 실행합니다.

if 문의 기본적인 형태는 다음과 같습니다:

if (condition) {
    // to do 
}

간단한 예제를 살펴보도록 하겠습니다:

#include <stdio.h>

int main() {
    int num = 10;

    if (num > 5) {
        printf("num은 5보다 큽니다.\n");
    }

    return 0;
}

위 코드에서 num이 5보다 크기 때문에 "num은 5보다 큽니다."가 출력됩니다.

반응형

3. if-else 문

if-else 문은 조건이 참일 때와 거짓일 때 각각 다른 코드 블록을 실행합니다. if 가 거짓이라면 else의 실행코드를 수행하게 됩니다.

#include <stdio.h>

int main() {
    int num = 3;

    if (num > 5) {
        printf("num은 5보다 큽니다.\n");
    } else {
        printf("num은 5보다 크지 않습니다.\n");
    }

    return 0;
}

위 코드에서 num이 5보다 크지 않기 때문에 "num은 5보다 크지 않습니다."가 출력됩니다.


4. else-if 문

else-if 문을 사용하면 여러 조건을 검사할 수 있습니다. 검사해야할 조건이 여러 개라면 else-if문을 사용하여 여러 개의 조건을 검사합니다.

#include <stdio.h>

int main() {
    int num = 7;

    if (num > 10) {
        printf("num은 10보다 큽니다.\n");
    } else if (num > 5) {
        printf("num은 5보다 큽니다.\n");
    } else {
        printf("num은 5보다 크지 않습니다.\n");
    }

    return 0;
}

위 코드에서 num이 5보다 크고 10보다 작기 때문에 "num은 5보다 큽니다."가 출력됩니다.


5. 중첩 if 문

if 문은 중첩하여 사용할 수 있습니다. 즉, if 문 안에 또 다른 if 문을 사용할 수 있습니다.

#include <stdio.h>

int main() {
    int num = 8;

    if (num > 5) {
        if (num < 10) {
            printf("num은 5보다 크고 10보다 작습니다.\n");
        } else {
            printf("num은 10 이상입니다.\n");
        }
    } else {
        printf("num은 5 이하입니다.\n");
    }

    return 0;
}

위 코드에서 num이 5보다 크고 10보다 작기 때문에 "num은 5보다 크고 10보다 작습니다."가 출력됩니다.


6. switch 문

switch 문은 변수의 값을 평가하여 해당하는 case 블록을 실행합니다. 각 case 블록은 break 문으로 끝나며, 값이 일치하지 않을 경우 default 블록이 실행됩니다. switch 문은 변수의 값에 따라 여러 코드 블록 중 하나를 선택하여 실행합니다. 주로 여러 값을 검사할 때 사용됩니다.

switch (expression) {
    case value1:
        // code to be executed if expression == value1
        break;
    case value2:
        // code to be executed if expression == value2
        break;
    // you can have any number of case statements
    default:
        // code to be executed if expression doesn't match any case
}

switch 문 사용 예제입니다:

#include <stdio.h>

int main() {
    int num = 2;

    switch (num) {
        case 1:
            printf("num은 1입니다.\n");
            break;
        case 2:
            printf("num은 2입니다.\n");
            break;
        case 3:
            printf("num은 3입니다.\n");
            break;
        default:
            printf("num은 1, 2, 3이 아닙니다.\n");
            break;
    }

    return 0;
}

위 코드에서 num이 2이기 때문에 "num은 2입니다."가 출력됩니다.


7. 조건 연산자 (삼항 연산자)

조건 연산자는 간단한 조건문을 한 줄로 작성할 수 있게 해줍니다. ?와 :를 사용하여 조건, 참일 때의 값, 거짓일 때의 값을 지정합니다. (조건) ? (참일 경우 실행코드) : (거짓일 경우 실행코드)과 같은 문법으로 사용합니다.

#include <stdio.h>

int main() {
    int num = 4;
    const char *result = (num > 5) ? "num은 5보다 큽니다." : "num은 5보다 크지 않습니다.";

    printf("%s\n", result);

    return 0;
}

위 코드에서 num이 5보다 크지 않기 때문에 "num은 5보다 크지 않습니다."가 출력됩니다.


결론

C 언어에서 조건문은 프로그램의 흐름을 제어하는 데 중요한 역할을 합니다. if, if-else, else-if, 중첩 if, switch, 조건 연산자 등을 사용하여 다양한 조건을 처리할 수 있습니다. 조건문을 잘 활용하면 코드의 가독성과 유연성을 높일 수 있습니다. 이 포스트에서 설명한 조건문들을 이해하고 활용하여 C 프로그램을 작성해 보세요. C언어의 바다에 점점 더 깊이 깊이 나아가시길 바랍니다.


도움이 되셨다면 공감 부탁드리겠습니다. 여러분의 공감이 정말 큰 힘이 됩니다.


감사합니다!

반응형