C언어/조건문과 반복문

C언어 for문 정리 개념부터 예제, break/continue까지 한눈에

creator6556 2025. 5. 19. 06:42

1 개념

특정 조건이 만족할 때 까지 지정한 코드를 반복 실행할 때 사용하는 반복문

→ 반복 횟수가 정해져 있는 경우 적합


2 장점

1) 구조의 명확성

→ 초기화, 조건식, 증감식을 한 줄에 작성

→ 반복 구조를 쉽게 파악


2) 가독성 향상

→ 반복 횟수가 명확한 경우 다른 반복문보다 읽기 쉬움


3) 범위 제한 가능

→ C99 이후, for문 내에서 선언한 변수는 반복문 외부에서 사용 불가

→ 코드의 안정성을 향상


4) 중첩 반복문에 유리

→ 구조가 명확해 다차원 배열, 테이블 등의 처리에 적합


5) 반복 제어가 용이

→ break, continue 등으로 흐름 제어가 쉬움


3 단점

1) 복잡한 조건식의 가독성 저하

→ 조건식이 복잡하면 이해하기 어려울 수 있음


2) 무한 루프 발생 가능성

→ 조건식이나 증감식 실수로 무한 루프 발생


3) 조건 없는 무한 루프 비효율

→ while(1)보다 for(;;)는 직관성이 떨어짐


4) 조건 유연성 부족

→ 반복 조건이 고정되지 않거나 동적으로 변경될 경우 while이 더 적합


5) 초기화 변수 활용 제한

→ 제어 변수 외에 활용하려면 별도 선언 필요


4 기본 구조

for (초기화; 조건식; 증감식) {
    // 조건이 참일 때 실행될 코드
}

초기화는 반복 변수 선언 및 초기값 설정

조건식은 반복 여부를 판단하여 true일 때 실행

증감식은 반복이 끝날 때마다 실행하며 보통은 변수 증가/감소


5 기본 구조 예시

1-1 코드 : 증가 반복

#include <stdio.h>

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

    return 0;
}

1-1 결과

1-2 코드 : 감소 반복

#include <stdio.h>

int main(void) {
    for (int i = 9; i >= 0; i--) {
        printf("%d\n", i);
    }

    return 0;
}

1-2 결과


6 구조 변형

2-1 코드 : 초기화를 바깥에 선언

#include <stdio.h>

int main(void) {
    int i = 0;

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

    return 0;
}

2-1 결과

2-2 코드 : 증감식을 안쪽에 선언

#include <stdio.h>

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

    return 0;
}

2-2 결과

2-3 코드 : 초기화를 바깥, 증감식을 안쪽에 선언

#include <stdio.h>

int main(void) {
    int i = 0;

    for (; i < 5;) {
        printf("%d\n", i);

        i++;
    }

    return 0;
}

2-3 결과


7 breakcontinue

1) break

→ 반복문을 즉시 종료

→ 출력 전에 사용하면 출력되지 않음

3-1 코드

#include <stdio.h>

int main(void) {
    for (int i = 0; i < 10; i++) {
        if (i == 5) 
            break;

        printf("%d\n", i);
    }

    return 0;
}

3-1 결과


2) continue

→ 현재 반복만 건너뛰고, 다음 반복 수행

3-2 코드

#include <stdio.h>

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


    return 0;
}

3-2 결과


3) 주의사항

→ break, continue, printf의 순서에 따라 출력 결과가 달라짐

→ 조건 판단 위치에 따라 실행 흐름이 바뀜


C언어 for문에 대해 더 상세한 설명과 예시를 알고 싶은 분들은 아래 링크에 접속

https://m.blog.naver.com/math717/223681446867


C언어의 다른 기능 혹은 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 링크에 접속하여 원하는 링크에 접속

https://m.blog.naver.com/math717/223839406931