2주차 while문과 do while문
본문 바로가기
코딩공부/C++기초

2주차 while문과 do while문

by 지누이야기 2024. 3. 22.
반응형

이번 시간에는 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

댓글