개발이야기/C언어

[C언어] 조건문과 반복문

Study & Stack 2025. 6. 14. 23:01
728x90

 

조건문과 반복문은 프로그램의 흐름을 제어하는 핵심 요소입니다. 이 문서에서는 조건문(if, else)과 반복문(for, while)을 C 언어와 파이썬에서 어떻게 구현하는지를 비교해 보여드립니다.


1. 조건문 (if, else)

조건문은 주어진 조건을 평가하여 코드의 실행 흐름을 분기시키는 데 사용됩니다. C 언어에서는 중괄호 {}를 사용해 블록을 구분하고, 파이썬은 들여쓰기로 블록을 구분합니다.

Python 버전

x = int(input("숫자를 입력하세요: "))  # 사용자로부터 숫자를 입력받고 정수로 변환

if x > 0:
    print("양수입니다.")  # 입력값이 0보다 크면 양수 출력
elif x == 0:
    print("0입니다.")  # 입력값이 0이면 출력
else:
    print("음수입니다.")  # 그 외는 음수로 간주

 C 버전

#include <stdio.h>

int main() {
    int x;
    printf("숫자를 입력하세요: ");  // 입력 안내 메시지 출력
    scanf("%d", &x);  // 정수 입력받기

    if (x > 0) {
        printf("양수입니다.\n");  // x가 0보다 크면 양수 출력
    } else if (x == 0) {
        printf("0입니다.\n");  // x가 0이면 출력
    } else {
        printf("음수입니다.\n");  // 나머지는 음수로 간주
    }

    return 0;
}

2. 반복문 (for, while)

반복문은 특정 조건에 따라 코드 블록을 반복 실행할 때 사용합니다. 반복 횟수가 정해져 있다면 for문, 조건이 참일 때까지 계속 반복하고 싶다면 while문을 사용합니다.

for문 예제 - 1부터 5까지 출력

Python 버전

for i in range(1, 6):  # 1부터 5까지 반복
    print(i)  # 현재 값을 출력

C 버전

#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {  // i를 1부터 5까지 증가시키며 반복
        printf("%d\n", i);  // 현재 i값 출력
    }
    return 0;
}

while문 예제 - 1부터 5까지 출력

Python 버전

i = 1  # 초기값 설정
while i <= 5:  # 조건이 참일 동안 반복
    print(i)  # 현재 값 출력
    i += 1  # i를 1 증가

C 버전

#include <stdio.h>

int main() {
    int i = 1;  // 초기값 설정
    while (i <= 5) {  // 조건이 참일 동안 반복
        printf("%d\n", i);  // 현재 값 출력
        i++;  // i를 1 증가
    }
    return 0;
}

3. 중첩 조건문 (Nested if)

조건문 안에 또 다른 조건문을 넣는 것을 중첩 조건문이라 합니다. 조건을 더 세분화하여 처리할 수 있습니다. 예를 들어 "양수이면서 짝수" 같은 조건을 확인할 때 사용됩니다.

Python 버전

x = int(input("숫자를 입력하세요: "))
if x > 0:
    if x % 2 == 0:
        print("양의 짝수입니다.")

C 버전

#include <stdio.h>

int main() {
    int x;
    scanf("%d", &x);
    if (x > 0) {
        if (x % 2 == 0) {
            printf("양의 짝수입니다.\n");
        }
    }
    return 0;
}

4. 무한 루프와 break

무한 루프는 조건 없이 계속 반복되는 루프로, while True (Python) 또는 while(1) (C)와 같이 작성합니다. 일반적으로 사용자 입력이나 조건을 통해 break를 사용하여 탈출시킵니다.

Python 버전

while True:  # 무한 루프 시작
    cmd = input("명령을 입력하세요: ")  # 사용자 입력 받기
    if cmd == "exit":  # exit 입력 시 탈출
        break

C 버전

#include <stdio.h>
#include <string.h>

int main() {
    char cmd[20];
    while (1) {  // 무한 루프
        printf("명령을 입력하세요: ");
        scanf("%s", cmd);  // 문자열 입력
        if (strcmp(cmd, "exit") == 0) {  // 문자열 비교
            break;  // 루프 탈출
        }
    }
    return 0;
}

5. break와 continue 예제

break는 반복문을 즉시 종료하고, continue는 현재 반복만 건너뛰고 다음 반복으로 넘어갑니다. 특정 조건에 따라 반복 흐름을 제어할 때 사용됩니다.

Python 버전

for i in range(1, 6):
    if i == 3:
        continue  # 3일 경우 출력하지 않고 건너뜀
    print(i)

C 버전

#include <stdio.h>

int main() {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) continue;  // 3일 경우 건너뜀
        printf("%d\n", i);
    }
    return 0;
}

요약 정리

문법 요소Python 문법 예시C 문법 예시

조건문 if, elif, else if, else if, else
for문 for i in range() for (초기식; 조건식; 증감식)
while문 while 조건: while (조건) { ... }
break/continue break, continue 사용 가능 break, continue 사용 가능
무한 루프 while True: while(1) 또는 for(;;) 사용 가능
중첩 조건문 if문 안에 if문 중괄호 {}로 감싸서 if 안에 또 if 사용

728x90