본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

C 언어 반복문은 조건이 참인 동안 같은 문장을 되풀이해 실행하는 제어문으로, for, while, do-while 세 가지가 있다.

문 조건 검사 시점 최소 실행 횟수 주로 쓰는 곳
for 반복 전 0회 반복 횟수가 정해져 있을 때
while 반복 전 0회 횟수보다 조건으로 끝날 때
do-while 반복 후 1회 일단 한 번은 실행해야 할 때(메뉴 입력 등)
for (초기식; 조건식; 증감식) {
    문장;
}

초기식을 한 번 실행한 뒤, 조건식이 참이면 문장을 실행하고 증감식을 실행하는 과정을 되풀이한다.

while (조건식) {
    문장;
}

조건식이 처음부터 거짓이면 한 번도 실행하지 않는다.

do {
    문장;
} while (조건식);

문장을 먼저 실행하고 조건을 검사한다. 끝의 세미콜론을 빠뜨리면 컴파일 오류다.

  • break : 가장 안쪽 반복문을 즉시 빠져나간다.
  • continue : 이번 회차의 남은 문장을 건너뛰고 다음 조건 검사(for 는 증감식)로 간다.

결과를 추적하는 법

편집 원본 편집

반복문 문제는 변수의 값을 회차마다 표로 적어 나가면 실수가 없다. 특히 누적 변수의 초깃값을 먼저 본다.

int c = 0;
int i = 0;
while (i < 10) {
    i++;
    c *= i;
}
printf("%d", c);
회차 i++ 후 i c *= i 후 c
1 1 0 × 1 = 0
2 2 0 × 2 = 0
… … 0
10 10 0

곱셈 누적 변수의 초깃값이 0 이므로 몇 번을 곱해도 0 이다. 출력은 0 이다. 10! 을 구하려면 c 를 1 로 초기화해야 한다. 반대로 덧셈 누적(c += i)은 0 에서 시작해야 한다.