4장 반복문
3부 while문
3부 while문
이번 시간에는 while문에 대해서 공부 해 보겠습니다.
이 while문도 for문과 같이 사용이 되는데요.
먼저 while문에 대해서 알아보고 for문과 while문을
어떻게 사용을 하는지에 대해서 한번 알아 보겠습니다.
while문은
초기값;
while(조건식)
{
조건 변환값(증감식 및 값변환 식);
}
이런 구성으로 되어 있습니다.
while문 안에 조건 변환값(증감식 및 값변환 식)이라는 것은
while문은 for문과 달리 꼭 숫자만의 증감식이 아니라, 문자와
참,거짓 등 다양한 조건에 맞춰 사용을 할수 있습니다.
반복하면서 if문을 맞춘다 라고 생각해도 되겠죠!?
그럼 간단한 형태부터 먼저 설명 드리겠습니다.
이번 설명에도 for문과 비교형식으로 써보겠습니다.
for문 |
while문 |
for(i = 1; i < 5; i++) { printf("%d", i); } |
int i= 1; while(i < 5) { printf("%d", i); i++; } |
이런 식으로 변환이 될 수 있습니다.
이해 금방 가시죠!?
뭐 별로 어려운건 아닙니다.
보시면 초기값을 위에 먼저 적어 두고, while(조건식)에서 조건에 만족하는지
알아 보고 만족을 한다면 그 안으로 들어가서 원하는 작업을 하고 그리고 나오기 전에
증감식을 하시고 안하신다면 for문에서 말했던 무한 루프가 걸리겠죠?
이런식으로 사용은 for문과 동일 합니다.
그럼 다만 여기에서 알아 두어야 할 것은 while문은 언제 쓰이고 for문은
언제 쓰이는 지가 중요한 것입니다.
이것도 그림으로 알아 볼까요!?
┏━━━━━━━━ while ━━━━━━━━┓
┃ ┃
┃ ┏━━ for ━━┓ ┃
┃ ┃ ┃ ┃
┃ ┗━━━━━━┛ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━┛
┃ ┏━━ for ━━┓ ┃
┃ ┃ ┃ ┃
┃ ┗━━━━━━┛ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━┛
이런식으로 for문은 while문 안에 한 부분정도 밖에 안됩니다.
즉, while문은 반복을 위한 어떤 조건에 모두 다 사용을 할 수있지만,
for문은 모든 조건이 아닌 for문에 맞는 어떤 조건에 만족할때만
사용할 수 있겠다는 거겠죠?
그래서 보통 while문과 for문의 사용 용도는
while문은 반복횟수를 모를때
for문은 반복횟수를 알때
예를 들어 for문 같은 경우는 1부터~5까지의 합을 구할때 사용 할 수 있겠죠!?
그리고 while문은 결과가 0이 될때까지 반복 구할때 사용하겠죠!?
그럼 for문의 예는 전시간에 봤으니깐 while문의 예를 보겠습니다.
for문에서 할 수 없는 반복 예제로 한번 해 보겠습니다.
int i = -1;
while(i > 5 && i < 0)
{
printf("0~5사이의 숫자를 입력 해 주세요~");
scanf("%d", &i);
}
이런식으로 사용을 할 수 있습니다.
위 예제를 보면 전혀 반복 횟수를 모르겠죠!?
한번만에 빠져 나갈 수도 있고, 아니면 영원히 못 나올 수도 있고
이럴 때 사용을 하신다고 생각하시면 됩니다.
쉽게 생각 하실려면 for문 사용못하는 건 다 while문으로 사용 할 수 있다고
생각 하시면 됩니다.
그리고 다 싫으시다면 for문을 안쓰고 다 while문을 써도 상관은 없습니다.
하지만 저번에 제어문에서 처럼 어느 부분은 꼭 for문에 좋을 때가 있을 것입니다.
언제 그렇다 라고는 말 못하지만 그럴 때는 for문을 사용하시는 것이 편할 것입니다.
while문 예제
===========================================
#include <stdio.h>
int main()
{
int count1 = 1;
int count2 = 1;
while(count1 < 5)
{
while(count2 < 5)
{
printf("%d * %d = %d ", count1, count2, count1*count2);
count2++;
}
printf("\n");
count1++;
count2 = 1;
}
return 0;
}
===========================================
문제 : 구구단을 출력 해 보세요~(while문 사용)
'C Language > Programming Course' 카테고리의 다른 글
5장 함수(2부 함수의 기본 원형) 첫번째 시간 (0) | 2009.07.30 |
---|---|
5장 함수(1부 개요) 첫번째 시간 (0) | 2009.07.27 |
4장 반복문(2부 for문) 첫번째 시간 (0) | 2009.07.20 |
4장 반복문(1부 개요) 첫번째 시간 (0) | 2009.07.17 |
3장 조건문(3부 switch~case문) 첫번째 시간 (0) | 2009.07.06 |