Intro
이 블로그 포스트에서는 C언어의 반복문에 대해 알아보겠습니다.
반복문이란?
반복문은 특정 조건이 충족될 때까지 코드 블록을 반복적으로 실행하는 중요한 제어 구조입니다 !
반복문의 종류
C언어에서는 크게 다음과 같은 조건문을 사용합니다.
- for 반복문
- while 반복문
- do-while 반복문
for 반복문
for 반복문은 특정 횟수만큼 코드 블록을 반복할 때 주로 사용됩니다.
이 반복문은 진입 제어형(entry-controlled) 반복문
으로, 반복 실행 전에 조건을 검사합니다.
기본 문법:
for (초기식; 조건식; 증감식) { // 반복할 코드}
작동 방식:
- 초기식: 반복문이 시작될 때 단 한 번만 실행
- 조건식: 각 반복 전에 검사히며, 결과가 참(true)이면 반복문이 실행되고, 거짓(false)이면 반복문이 종료
- 증감식: 각 반복 후에 실행
예제:
#include <stdio.h>
int main() { for (int i = 1; i <= 10; i++) { printf("%d ", i); } return 0;}
실행 결과: 1 2 3 4 5 6 7 8 9 10
이 예제에서 i는 1로 초기화되고, i가 10 이하인 동안 반복문이 실행됩니다. 각 반복에서 i 값이 출력되고, i는 1씩 증가합니다.
참고: i++은
i = i + 1, i += 1과 같은 말이며, i에 1을 더한다는 의미입니다.
if (a > 5) printf("a는 5보다 큽니다.\n");
while 반복문
while 반복문은 조건이 참인 동안 코드 블록을 반복합니다. 이 반복문도 진입 제어형으로, 반복 실행 전에 조건을 검사합니다.
기본 문법:
while (조건식) { // 반복할 코드}
작동 방식:
- 조건식을 검사
- 조건이 참이면 반복문이 실행
- 반복문 실행 후 다시 조건을 검사
- 조건이 거짓이 될 때까지 2-3 과정을 반복
예제:
#include <stdio.h>
int main() { int countdown = 3;
while (countdown > 0) { printf("%d\n", countdown); countdown--; }
printf("Happy New Year 2025 !\n"); return 0;}
실행 결과:
321Happy New Year!!
이 예제는 3부터 카운트다운하고 “Happy New Year 2025 !”를 출력합니다.
참고: i—은
i = i - 1, i -= 1과 같은 말이며, i에 1을 뺸다는 의미입니다.
do-while 문
do-while 반복문은 코드 블록을 실행한 후에 조건을 검사합니다.
이 반복문은 탈출 제어형(exit-controlled)
으로, 조건 검사 전에 최소 한 번은 코드 블록이 실행됩니다.
기본 문법:
do { // 반복할 코드} while (조건식);
작동 방식:
- 반복문이 실행
- 조건식을 검사
- 조건이 참이면 1-2 과정을 반복
- 조건이 거짓이면 반복문이 종료
예제:
#include <stdio.h>
int main() { int i = 0;
do { printf("%d\n", i+1); i++; } while (i < 5);
return 0;}
실행 결과:
12345
고?급 반복문 문법
중첩 반복분 (Nested Loops)
중첩 반복문은 하나의 반복문 안에 다른 반복문이 포함된 구조입니다.
예제:
#include <stdio.h>
int main() { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) { printf("* "); } printf("\n"); }
return 0;}
실행 결과:
** ** * ** * * ** * * * *
break와 continue 문
- break 문: 반복문을 즉시 종료하고 다음 코드로 이동합니다.
- continue 문: 현재 반복을 중단하고 다음 반복으로 넘어갑니다.
예제:
#include <stdio.h>
int main() { int i;
for (i = 0; i < 10; i++) { if (i == 5) { break; // i가 5이면 반복문 종료 } printf("%d\n", i); }
return 0;}
실행 결과:
01234
이 예제는 i가 5일 때 반복문을 종료합니다.