중첩 while 문은 while 문 내부에 또 다른 while 문이 있는 것을 말합니다. 이처럼 반복문을 중겁
해서 사용할 수 있는데, 먼저 구구단 계산 프로그램을 가지고 중첩 while 문을 알아보겠습니다.
4행부터 6행까지에서 2단부터 출력하기 위해 초깃값을 i=2로 설정하고, 단의 시작을 1부터 하기 위해 초깃값을j=1로 설정합니다. 마지막으로 구구단의 결과를 저장하기 위해 변수 result를 선언합니다.
8행에서 whileli (10) 문은 변수 i의 값이 10보다 작은 9, 즉, 9단까지 출력하기 위한 반복문입니다. 10행에서 중첩 while 문으로 사용된 while(j<10) 문은 i * j를 계산할 때 현재 변수 j의 값이 1~9까지 출력하기 위한 반복문입니다.
i 값이 2로 시작해서 8행에 있는 while 문을 실행하면 2단을 완전히 출력하고, 16행에서 i 값이 하나 증가되어 2단에서 3단으로 단이 바뀝니다. 이후에 다시 8행에 있는 while 문을 실행하면 3단을 모두 출력하게 됩니다. 이런 형태로 9단까지 출력합니다.
17행에서 변수 j의 값을 1로 다시 초기화한 이유가 무엇이겠습니까? 만약 2 1부터 29까지 출력이 되고 3단으로 넘어갔다면, 다시 3*1이 되어야 합니다. 그래서 j=1로 초기화한 것입니다.
이 부분을 주석으로 처리하면 왜 필요한지 알 수 있습니다.
다음 예제를 실행해서 출력 결과를 분석해 보겠습니다. 그러면서 중첩 while 문의 의미를 잘 이해하게 될 것입니다. 실행 결과는 scanf() 함수를 통해 입력받은 숫자를 단으로 출력하는데 내림차순으로 출력하게 됩니다.
'프로그래밍언어 > C언어' 카테고리의 다른 글
반복문을 만드는 방법2 - for 무한 루프(무한 반복문) (0) | 2022.05.23 |
---|---|
반복문을 만드는 방법2 - for문 (0) | 2022.05.20 |
반복문을 만드는 방법1 - while 무한 루프(무한 반복문) (0) | 2022.03.22 |
반복문을 만드는 방법1 - while문 (0) | 2022.02.08 |
반복문이란 무엇인가? - 반복문이란 (1) | 2022.01.30 |
댓글