4. 루프와 관계 표현식(2) - while 루프

WanJu Kim·2022년 10월 20일
0

C++

목록 보기
16/81

while 루프는 for 루프에서 초기화 부분과 갱신 부분을 없애고, 루프 몸체와 조건 검사 부분만 남겨 놓은 것이다.

	while (조건 검사식)
    	몸체

이런식으로 쓰는데, while문에 입장하면 먼저 조건 검사가 맞는지 확인한다. true로 평가되면, 몸체를 실행한 후, 다시 조건 검사식으로 들어온다. 이는 조건 검사식이 false가 되기 전까지 반복된다. false가 걸리면 while문을 벗어난다. while문을 빠져나올려면, 조건 검사식 자체나 몸체에서 조건 검사식에 영향을 주는 구문을 작성해야 한다.

	int i = 5;

	while (i--)
	{
		cout << "while 문" << endl;
	}
  • for와 while
    for와 while 루프는 사실상 같다. 예를 들어 다음 두 코드는 같다.
	for (init-expreesion; test-expression; update-expression)
    {
    	statement(s)
    }
    ...
    
    init-expression
    while (test-expression)
    {
    	statement(s)
        update-expression
    }

또 다음과 같은 코드도 같다.

	while (test-expression)
    	body
    ...
    for (; test-expression;)
    	body

for문에는 세미 콜론이 반드시 2개가 필요할 뿐, 비워두는 건 상관 없다. 그래서 이런 루프는 영원히 멈추지 않는다

	for (; ;)
    	body

일반적으로 for문은 루프가 카운트 될 때 사용하고, while은 그렇지 않을 때 사용한다.

for문 while문 둘 다 옆에 세미 콜론을 붙이지 않도록 주의한다. 에러는 나지 않는데 원하는대로 코드가 안 짜여질 것이다. 그리고 찾기도 힘들다...

	while (test-expression);	// 절대 안 됨.
    for (; ; ;);				// 절대 안 됨.
profile
Question, Think, Select

0개의 댓글