본문 바로가기

전자 공학/C언어 C++

[C언어 독학하기] 11. while문 완전 정복, do~while문

반응형

 

 

 

안녕하세요. 취업한 공대누나입니다.

오늘은 반복문 중의 하나인 while문에 대해 완전 정복 해보도록 하겠습니다.

일반적으로는 반복을 수행하는 횟수가 미리 정해져 있지 않을 때 많이 사용합니다.

 

1. while문

 

 

while문의 기본 문법은 위와 같습니다.

되게 간단하지요?

조건이 성립하는 한 중괄호 안의 내용을 계속 반복하게 됩니다.

조건에 예를 들어 1이 들어가게 되면 무한으로 동작하게 됩니다.

 

간단한 예시를 보도록 하겠습니다.

 

우선 i라는 값을 0으로 초기화시켰습니다.

그리고 while문은 i가 5보다 작으면 반복하도록 했습니다.

그래서 오른쪽 사진과 같이 i값이 4까지 출력이 되었고

i가 5가 되면 while문 안의 내용은 더 이상 수행하지 않게 됩니다.

 

while문과 같은 반복문에서 조건이 항상 성립하도록 잘못 지정해버리면, 무한 루프에 빠지게 됩니다.

프로그램 버그 중 하나로 위와 같은 상황이 되지 않도록 조심해야 합니다.

 

 

 

2. 반복을 중단하는 break

 

for나 while문과 같은 반복문을 중단하고 싶을 때 break를 사용할 수 있습니다.

프로그램 실행 중에 break문을 발견하면 가장 가까운 블록의 끝으로 가게 됩니다.

간단한 예시를 보도록 하겠습니다.

 

위와 비슷한 예제입니다.

이번에는 i가 3이 되면 while문을 멈추도록, while문을 빠져나오도록 소스 코드를 작성해보았습니다.

그래서 출력을 보면 2까지만 출력된 것을 확인할 수 있습니다.

 

 

3. do ~ while 문

 

do while문도 while문과 크게 다르지 않습니다.

while 조건을 만족하는 동안 do에 있는 것을 수행하게 됩니다. 

 

 

 

while문은 조건을 만족 시키지 않으면 한 번도 실행하지 않을 수도 있습니다

하지만 do while문은 조건을 만족시키지 않더라도

조건을 아래쪽에 쓰기 떄문에 무조건 한 번은 실행하게 됩니다.

 

여기서는 keyboard라는 문자형 변수를 선언했습니다.

getchar()라는 함수는 키보드로부터 입력받은 반각 문자 하나를 가져오는 것입니다.

그래서 keyboard라는 변수에 키보드로부터 입력받은 문자를 저장하게 됩니다.

그래서 오른쪽 실행 사진을 보게 되면

위쪽 키보드를 통해 b는 입력한 것이고 엔터를 치게 되면

printf를 통해 keyboard에 저장되어 있던 b라는 문자가 한 번 더 출력되게 됩니다.

그 다음에는 키보드를 통해 c를 입력했고 마찬가지로 입력받은 문자가 출력이 되었습니다.

그리고 while문의 조건인 a를 입력하게 되자 프로그램이 끝나는 것을 확인할 수 있습니다.

 

 

반복문은 코딩을 하다보면 정말 많이 사용하게 됩니다.

다음시간에는 switch문을 공부해보도록 하겠습니다. 

반응형