이번 시간에는 while문과 do while을 배워보도록 하겠습니다.

 

while문은 for문과 다르게 소괄호 안에 식이 3개나 있을 필요가 없습니다.

 

if문처럼 조건문만 있으면 됩니다.

 

while문의 조건식이 false가 아니라면 계속 반복을 시키게 됩니다.

 

while(조건식){
실행문;)

 

간단한 예시를 들어보면

int num=1;

while(num<10){
	cout<<num;
    num++;}

 

이런 예시를 들 수 있는데 for에 들어갈 요소가 이미 괄호가 아니라 바깥쪽에 있는 것을 발견할 수 있습니다.

 

초기값 num이 이미 있고, num++로 증가를 계속해서 시키고 있고, num <10이라는 조건식이 있습니다. 그래서 실제로 for문으로 풀 수 있는 것은 대부분 while문으로 바꿔서 풀 수 있습니다.

 

while문이 가장 많이 쓰이는 경우는 단순 반복일 때인데, while(true) 또는 while(1)로 놓으면 중간애 break가 없다면 무한 반복을 하게 됩니다. 

 

그래서 while문 중간에 조건식을 넣고, 그 조건식을 만족시키기 전까지 무한 반복 시키고, 조건식 만족시키면 break로 탈출할 수 있게 합니다.

 

그렇다면 무조건 한 번은 실행되게 하는 반복문은 없을까요?

 

그게 do while입니다.

 

do{
	실행문;}while(조건식);

 

이렇게 쓰는데 실행문이 한 번은 실행되고, while문에서 조건이 맞는지를 탐색하고 조건이 맞다면 실행문을 반복해서 실행시킵니다.

 

int num=0;
do{
cout<<num;
num++;
}while(num<5);

 

이런 예시에서는 0이 무조건 출력이 되고, num이 점점 증가하여 5보다 작다면 반복됩니다.

 

즉 출력은 0,1,2,3,4가 나오게 됩니다.

 

그렇다면 int num=0을 do while 안에다가 넣으면 어떻게 될까요?

 

do {
		int num = 0;
		cout << num;
		num++;
	} while (num < 5);

 

에러가 뜹니다.

 

왜냐하면 여기서 선언되는 num은 지역변수이기 때문입니다. 

 

for문과 마찬가지로 한 번 실행되고 메모리를 반환하게 됩니다.

'코딩공부 > C++기초' 카테고리의 다른 글

3주차 함수(C++, C언어)  (0) 2024.03.29
3주차 switch문 (C언어, C++)  (0) 2024.03.29
2주차 for문  (0) 2024.03.22
2주차 if문  (0) 2024.03.22
1주차 c++ 변수  (0) 2024.03.15

+ Recent posts