c 언어

C 언어 조건문과 반복문

임베디드 친구 2024. 12. 13. 13:36
반응형

C 언어는 소프트웨어 개발에서 기본적이고 강력한 프로그래밍 언어 중 하나입니다. 이번 포스팅에서는 조건문반복문에 대해 다루겠습니다. 조건문과 반복문은 프로그램의 흐름을 제어하기 위한 필수적인 요소로, 이를 통해 다양한 상황에서 동적으로 코드를 실행할 수 있습니다.

조건문 (Conditional Statements)

조건문은 특정 조건에 따라 코드의 실행을 결정합니다. C 언어에서는 if, if-else, else if, 그리고 switch문을 사용하여 조건을 제어할 수 있습니다.

if 문

if 문은 조건이 참일 경우에만 특정 코드를 실행합니다.

#include <stdio.h>

int main() {
    int number = 10;

    if (number > 0) {
        printf("The number is positive.\n");
    }

    return 0;
}

실행 흐름:

  1. number > 0 조건을 평가합니다.
  2. 조건이 참이면 printf 문을 실행합니다.

if-else 문

if-else 문은 조건이 참이 아닐 경우 실행할 다른 코드 블록을 제공합니다.

#include <stdio.h>

int main() {
    int number = -5;

    if (number > 0) {
        printf("The number is positive.\n");
    } else {
        printf("The number is not positive.\n");
    }

    return 0;
}

else if 문

else if 문을 사용하면 여러 조건을 확인할 수 있습니다.

#include <stdio.h>

int main() {
    int number = 0;

    if (number > 0) {
        printf("The number is positive.\n");
    } else if (number == 0) {
        printf("The number is zero.\n");
    } else {
        printf("The number is negative.\n");
    }

    return 0;
}

switch 문

switch 문은 여러 값 중 하나와 일치하는 경우를 처리할 때 사용됩니다.

#include <stdio.h>

int main() {
    int day = 3;

    switch (day) {
        case 1:
            printf("Monday\n");
            break;
        case 2:
            printf("Tuesday\n");
            break;
        case 3:
            printf("Wednesday\n");
            break;
        default:
            printf("Invalid day\n");
    }

    return 0;
}

주요 포인트:

  • break는 각 case 블록이 끝난 후 switch 문을 빠져나가게 합니다.
  • default는 어떤 case에도 해당되지 않을 때 실행됩니다.

반복문 (Loops)

반복문은 특정 조건이 만족되는 동안 코드를 반복적으로 실행합니다. C 언어에서는 for, while, 그리고 do-while 반복문을 제공합니다.

for 문

for 문은 반복 횟수가 정해져 있을 때 주로 사용됩니다.

#include <stdio.h>

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

    return 0;
}

실행 흐름:

  1. 초기화: int i = 0
  2. 조건 검사: i < 5
  3. 코드 실행
  4. 증감 연산: i++
  5. 조건이 참이면 다시 반복

while 문

while 문은 조건이 참인 동안 계속 실행됩니다.

#include <stdio.h>

int main() {
    int i = 0;

    while (i < 5) {
        printf("Iteration %d\n", i);
        i++;
    }

    return 0;
}

do-while 문

do-while 문은 조건과 상관없이 최소 한 번은 실행됩니다.

#include <stdio.h>

int main() {
    int i = 0;

    do {
        printf("Iteration %d\n", i);
        i++;
    } while (i < 5);

    return 0;
}

중첩 반복문

반복문은 중첩하여 사용할 수 있습니다.

#include <stdio.h>

int main() {
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            printf("i = %d, j = %d\n", i, j);
        }
    }

    return 0;
}

조건문과 반복문을 활용한 예제

숫자 합 계산기

사용자로부터 입력받은 숫자의 합을 계산하는 프로그램:

#include <stdio.h>

int main() {
    int n, sum = 0;

    printf("Enter a positive number (0 to quit): ");
    while (1) {
        scanf("%d", &n);
        if (n == 0) {
            break;
        } else if (n < 0) {
            printf("Please enter a positive number.\n");
        } else {
            sum += n;
        }
        printf("Enter a positive number (0 to quit): ");
    }

    printf("Total sum: %d\n", sum);

    return 0;
}

별 찍기 예제

별을 계단 형태로 출력하는 프로그램:

#include <stdio.h>

int main() {
    int rows;

    printf("Enter the number of rows: ");
    scanf("%d", &rows);

    for (int i = 1; i <= rows; i++) {
        for (int j = 1; j <= i; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return 0;
}

마무리

C 언어에서 조건문과 반복문은 프로그램의 흐름을 제어하는 중요한 도구입니다. 다양한 조건과 반복을 조합하여 복잡한 동작을 구현할 수 있습니다. 위에서 제공한 예제를 직접 실행해보고, 각 문법의 사용법을 완전히 익혀보세요. 앞으로 더욱 심화된 주제를 다룰 때 도움이 될 것입니다.

반응형