반복문 while은 주어진 조건을 만족시킬 때 무한정 반복한다. 위에서 x가 1000이하일때까지 계속해서 sum의 값에 1을 더하여 sum값을 정하고 x의 값을 1씩 계속 늘려 1에서 1000까지의 합을 구하는 코드이다.
for도 반복문으로 사용된다. for문은 초기화 단계, 조건 단계, 연산 단계로 이루어진다. 이중 for문을 이용해 위와 같이 사각형 형태의 박스를 만들 수 있다.
변수 x와 y를 선언하고 첫 for구문의 반복을 시작한다. 그다음 들어있는 두번째 for구문의 반복을 시작한다. 두번째 for문은 y의 값이 0으로 시작하여 y의 값이 N의 값, 즉 10 이하일때까지 1씩 증가하며 반복한다. 반복함으로써 네모를 출력하는 것이다. 두번째 for문 종료 후 줄바꿈이 실행되고 첫번째 for문이 다시 반복됨으로써 그다음 다시 두번째 for문이 실행된다. 이런식으로 네모로 이루어진 박스가 구성된다.
상수 N을 20으로 설정하고 변수 x, y를 선언한다.
첫번째 for문 실행(다음 실행에서 x의 값이 1 증가한다). 두번째 for문 실행. y = N의 값은 19이며 1이 될때까지 반복, 즉 19번의 띄어쓰기를 반복한다. 두번째 for 종료. 세번째 for문 실행. y의 값이 0, 현재의 x값은 0이므로 세번째 for문은 성립되지 않고 종료한다. 네번째 for문 실행. y의 값이 0, 현재의 x값은 0이므로 0은 -1보다 크지 않으니 네번째 for문도 성립되지 않고 종료한다.
줄바꿈 실행.
첫번째 for문 2회 실행(x값은 1이다). 두번째 for문 2회 실행. N의 값은 18로, 18번 띄어쓰기를 반복한다. 종료 후 세번쨰 for문 2회 실행. y의 값은 0으로 x값 1보다 작기 때문에 마름모가 1번 출력되고 다음 실행에서 y의 값은 1증가한다. 종료 후 네번째 for문 실행. 0 < 0 은 일치하지 않으므로 출력되지 않고 종료한다.
줄바꿈 실행.
... 이런 식으로 끝까지 반복되면 위와 같이 피라미드 형태가 출력된다.
for와 while는 얼마든지 중첩될 수 있으며 각각 for(;;), while(1)로 사용하면 무한정 반복하게 된다. 반복문을 즉시 빠져나오는 방법은 break를 사용하는 것이다. 즉 a가 1이 되었을때 반복문을 멈춘다는 뜻이다.
이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.