나르비님 2024. 4. 19. 07:19

제어문(Control Statements)은 프로그램의 흐름을 제어하는 문장입니다. 제어문을 사용하면 프로그램의 실행 경로를 조건에 따라 다르게 하거나 반복적으로 처리할 수 있습니다. 제어문은 주로 조건문과 반복문으로 나뉩니다.

1. 조건문 (Conditional Statements)
조건문은 특정 조건이 참인지 거짓인지에 따라 실행되는 코드 블록을 결정합니다. 주요 조건문에는 if, else if, else, switch 문이 있습니다.

if 문
if 문은 조건이 참일 때 특정 코드 블록을 실행합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int a = 10;

    if (a > 0) {
        printf("a는 양수입니다.\n");
    }

    return 0;
}
if-else 문
if-else 문은 조건이 참일 때와 거짓일 때 각각 다른 코드 블록을 실행합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int a = -5;

    if (a > 0) {
        printf("a는 양수입니다.\n");
    } else {
        printf("a는 음수입니다.\n");
    }

    return 0;
}
if-else if-else 문
여러 개의 조건을 평가하고, 각 조건에 대해 서로 다른 코드 블록을 실행합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int a = 0;

    if (a > 0) {
        printf("a는 양수입니다.\n");
    } else if (a < 0) {
        printf("a는 음수입니다.\n");
    } else {
        printf("a는 0입니다.\n");
    }

    return 0;
}
switch 문
switch 문은 여러 가지 경우를 처리하는 데 유용합니다. 특정 변수의 값에 따라 여러 코드 블록 중 하나를 실행합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int day = 3;

    switch (day) {
        case 1:
            printf("월요일입니다.\n");
            break;
        case 2:
            printf("화요일입니다.\n");
            break;
        case 3:
            printf("수요일입니다.\n");
            break;
        default:
            printf("유효하지 않은 날입니다.\n");
            break;
    }

    return 0;
}
2. 반복문 (Loop Statements)
반복문은 코드 블록을 여러 번 반복하여 실행합니다. 주요 반복문에는 for, while, do-while이 있습니다.

for 문
for 문은 반복 횟수를 명시적으로 정의하고 반복합니다.

c
코드 복사
#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("i의 값: %d\n", i);
    }

    return 0;
}
while 문
while 문은 조건이 참일 때 반복적으로 코드 블록을 실행합니다. 반복 횟수가 명확하지 않을 때 유용합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int i = 0;
    while (i < 5) {
        printf("i의 값: %d\n", i);
        i++;
    }

    return 0;
}
do-while 문
do-while 문은 조건을 평가하기 전에 코드 블록을 한 번 이상 실행합니다.

c
코드 복사
#include <stdio.h>

int main() {
    int i = 0;
    do {
        printf("i의 값: %d\n", i);
        i++;
    } while (i < 5);

    return 0;
}
3. 제어문에서의 흐름 제어
break 문
루프나 switch 문에서 실행을 종료하고 루프를 빠져나갑니다.

c
코드 복사
#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        printf("i의 값: %d\n", i);
    }

    return 0;
}
continue 문
현재 반복을 종료하고 다음 반복을 시작합니다.

c
코드 복사
#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i % 2 == 0) {
            continue;
        }
        printf("i의 값: %d\n", i);
    }

    return 0;
}
return 문
함수의 실행을 종료하고, 호출한 곳으로 값을 반환합니다.

c
코드 복사
#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3);
    printf("결과: %d\n", result);

    return 0;
}
제어문을 효과적으로 활용하면 프로그램의 흐름을 제어하고 복잡한 로직을 구현할 수 있습니다. 각 제어문의 특징과 사용법을 잘 이해하면 더 나은 프로그램을 작성할 수 있습니다.