while문이란?
while의 뜻은 "~하는 동안"이다.
따라서 뜻 그대로 조건이 참인동안 같은 명령어를 무한 반복으로 처리한다.
어떠한 동작을 반복적으로 했으면 좋겠다! 싶을때 while문을 사용하면 된다.
while문의 구성
while : 괄호()의 조건에 해당하는 경우 하위의 명령어를 실행.
break : while의 무한 반복을 빠져나오는 명령어.
예제) 사용자에게 숫자 n을 입력받고, 0부터 n까지 출력하시오. |
위의 문제는 두 가지 방법으로 풀 수 있다.
첫 번째는 while의 조건 만을 이용하는 방법
두 번째는 break; 를 이용하는 방법
방법①
*어려운 분들을 위한 한줄 설명!*
int i : 0부터 하나씩 출력하는 것이기 때문에 초기값 0을 꼭 써야한다.
앞으로 +1씩 늘어날 변수.
5번줄: 전 단원에서 배웠던 출력/입력함수로, 변수 n값을 입력받는다.
7번줄: 사용자가 입력한 n까지 출력해야 하므로
조건에 i가 n이하일때(i <= n)으로 적는다.
8번줄: 변수 i의 값을 출력.
9번줄: 후위 증감연산자.
여기까지 i는 0이고, 아직 5가 안됐으므로 다시 8번줄로 가서 후휘증감에 의해 0+1 =1이 된다.
**후위 증감 연산자가 뭔지 모르시면 블로그 글을 참고해주세요!
https://blog.naver.com/tksop59/221880700477
이렇게 계속 8번과9번줄을 왔다갔다 하면서 i가 6이 되면
10번줄: (i <= n)의 조건에 거짓이 되므로 while문을 탈출한다.
방법②
*한줄 해석*
7번줄: while 조건이 (1)이라는 것은 항상 참이어서 조건이 없는 것과 같다 = 무한반복
9번줄: 여기서 i++;은 사진 속 자리에 위치해도 되지만,
12번줄과 13번줄 사이에 두고 if조건을 (i==5)로 해도 된다.
10번줄: 6까지만 돌기 위해 if문으로 조건을 만든다.
11번줄: i가 6이라는 조건을 만족했을 때 while문을 빠져나오도록 break;명령을 넣는다.
무한반복을 하도록 쓸 일은 거의 없지만 그래도 방법은 알아두는게 좋다.
처음 시작하신 분들은 이 예제들이 아직은 어색하겠지만 개발에서 반복은 필수!
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어) 14. for문 예제 - 구구단 출력 (0) | 2024.04.13 |
---|---|
C언어) 13. C언어 반복하는 for문. while과 for의 차이 (0) | 2024.03.28 |
C언어) 11. c언어 switch ~ case문 (0) | 2023.12.13 |
C언어) 10. 제어(조건)문- if, else if문 (0) | 2023.11.14 |
C언어) 9. scanf함수의 활용 문제(평균구하기) (0) | 2023.11.14 |