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