while 의 괄호 ()안의 조건식이 참일 경우 {}안의 코드들을 계속 실행한다.
<아래그림1> while 문으로 구구단을 만들어 보았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int main() {
int i = 2;
int j = 1;
while (i < 10) {
while (j < 10) {
cout << i << " × " << j << " = " << i * j << endl;
j++;
}i++; j = 1; cout << endl;
}
}
|
cs |
<아래그림2> 중간에 if문으로 j = 5에서 break를 걸어줬다.
결국 두번째 while문에서 ( j < 5 )를 넣었을때랑 같은 값이다.
원하는 조건에서 반복문을 빠져나오게 할 수 있다.
break은 본인과 가장 근접해 있는 break이 포함된 함수를 종료시킨다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
using namespace std;
int main() {
int i = 2;
int j = 1;
while (i < 10) {
while (j < 10) {
cout << i << " × " << j << " = " << i * j << endl;
j++;
if (5 == j)
break;
}i++; j = 1; cout << endl;
}
}
|
cs |
<그림2에 대한 실행창>
<break 대신 return 사용 했을때의 결괏값>
return을 사용함으로써 main함수가 종료되었다.
<그림3>break의 지역을 바꿨을때
return을 사용함으로써 main함수가 종료되었다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
using namespace std;
int main() {
int i = 2;
int j = 1;
while (i < 10) {
while (j < 10) {
cout << i << " × " << j << " = " << i * j << endl;
j++;
}i++; j = 1; cout << endl; break;
}
}
|
cs |
<그림3 에대한 결괏 값>
while은 조건이 하나만 들어간다. 초기화는 따로 해줘야한다.
그래서 보통은 while(true){}형식으로 무한루프 돌릴때 가장 많이 쓴다.
특정한 조건에서 나와야 하는 경우에도 while문이 쓰인다.
게임으로 예를 들면 게임을 부팅 했다가 사용자가 종료를 누르기 전까지는 계속 게임 시스템이 돌아가야하므로
이런 경우 while 이 사용된다.
<그림4> while과 continue가 만났을때
Hello가 출력된다. continue를 만나면 아래는 무시하고 다시 조건문으로 올라간다.
1
2
3
4
5
6
7
8
9
|
void main()
{
while(true)
{
cout << "Hello" << endl;
continue;
cout << "World" << endl;
}
|
cs |
<그림5> do~ while 문 : 조건을 검사하는 위치가 다르다.
따라서, 조건을 만족하지 못해도 최초 한 번을 실행 하느냐 안하느냐 의 차이이다.
또한 아래 예시처럼 입력받을 때도 사용할 수 있다.
게임에서는 한번이라도 버그가 발생하면 안되기 때문에 거의 쓰이지 않는다.
'프로그래밍 > C++' 카테고리의 다른 글
[C++]rand, sland 함수 (0) | 2021.09.11 |
---|---|
for문(반복문), size_t (0) | 2021.09.10 |
분기문 (if, switch, goto, while) (0) | 2021.09.10 |
증감연산자, 헝가리안 표기법 (0) | 2021.09.10 |
형변환 (0) | 2021.09.10 |