while 문의 형식은 다음과 같은데, 식이 거짓이면 실행하지 않고 while 문을 종료한다. 식이 참이면 문장을 실행하고 다시 식을 평가한다.
이를 이용하여 앞서 살펴본 Hello World을 10번 출력하는 프로그램을 다음과 같이 코딩할 수 있다.
05 행 : 반복 변수 i를 초기화한다. (0 세팅
07 행 : while 문을 만나게 되면 식 'i<10'을 평가하는데, 참이면 복합문 '{ }'로 둘러쌓인 08~09 행을 실행하고, 거짓이면 빠져나와 12 행을 실행한다.
08 행 : 식 'i<10'가 참이기 때문에 Hello World를 출력한다.
09 행 : 증가 연사자를 이용하여 i값을 1 증가시킨다.
=======================================================
07 행 : 반복문이 1회 실행되고 나면 i는 1이 된다. 식 'i<10'이 참이기 때문에 동일한 작업이 수행된다.
=======================================================
07 행 : 반복 변수 i가 11이 되면 식'i<10'이 거짓이 되기 때문에 빠져나와서 12 행으로 간다.
이처럼 while을 이용한 프로그램 몇개를 더 보도록 하자.
< a 부터 z 까지 출력 >
< 1부터 입력 받은 수까지의 합 >
11 행 : sum += i ==> sum = sum + i
< 입력한 문장을 그대로 출력 >
09 행 : getchar() 함수는 한글자씩 가져오는 함수이며, EOF란 'End Of File'의 약자로
입력의 끝까지(즉, test를 입력하면 t,e,s,t 까지) 수행한다는 뜻
< 문장을 입력받아 대문자/소문자 카운팅 >
< 구구단 >
또 다른 반복문으로는 for문(가장 애용함 ㅋㅋ)이 있는데 형식은 다음과 같다. 식1은 초기화를 위한 것이고, 식2는 종료 조건을 판단하며, 식3은 '문장' 실행
후에 평가되는데 일반적으로 반복 변수의 값 조정을 위해 사용된다.
Hello World를 10번 출력하는 코드를 for 문을 이용하면 다음과 같다.
05 행 : for (int i=0; i<10; i++) 처럼 반복 변수를 for문 내에서 선언해도 된다.
그러나 반복 변수 'i'가 for 문 밖에서도 참조 될 경우 반드시 for문 위에서 먼저 선언을 해야 한다.
< a 부터 z 까지 출력>
< 1 부터 입력 받은 수 까지의 합 >
< 구구단 >
< 임의의 정수 2개 사이에 위치한 5의 배수의 개수와 합 >
while, for문은 종료 조건을 시작 부분에서 검사하는데 비교하여, do-while 문은 종료 조건을 마지막 부분에서 검사한다. 따라서 do-while 문은 최소한 1번은 실행된다.
do - while문을 이용한 프로그램에는 다음과 같은 것들이 있다.
< Hello World 10번 출력>
< do-while, switch 혼합 사용 >
< 구구단 >