2-2. 반복문(For, While)

Crat3 ㅣ 2023. 5. 4. 16:56

특정 조건을 만족할 때까지 반복해야 할 때 반복문을 사용한다.

1. While (~ 하는 동안에)

	while ([조건])
	{
		[명령문]
  	}
int main()
{
	int count = 0;
    
	while (count < 5)
	{
		cout << "Hello World" << endl;
		count += 1;
	}

}

/* Output :
	Hello World
	Hello World
	Hello World
	Hello World
	Hello World
*/

do while을 사용하여 명령을 1회 실행 후 조건식을 판별하게 할 수 있다.

	do
	{
		cout << "Hello World" << endl;
		count += 1;
	} while (count < 5)

'while문'은 제어식을 명령문 안에 위치시켜야 하는 단점이 있기 때문에, 이를 해소하기 위해 'For문'을 사용할 수 있다.

 

2. For

int main()
{

	for (int count = 0 : count < 5; count++) // [초기값]: [조건]; [제어식]
	{
		cout << "Hello World" << endl;
	}
}

초기값, 조건, 제어식의 세 가지 요소를 기억해야 한다.

 

3. Break와 Continue

(1) Break

반복문을 실행하는 도중에 이탈하고자 하면 'break;'를 사용할 수 있다.

단, 반복문이 여러번 중첩 되었을 때는 가장 안쪽의 반복문만 빠져나간다.

 

(2) Continue

반복문을 실행하는 도중에 아래 명령을 실행하지 않고 첫 반복문으로 돌아가고자 할 때 'continue;'를 사용할 수 있다.

int main()
{

	int round = 1;
	int hp = 100;
	int damage = 28;

	// 무한 루프
	while (true)
	{
		hp -= damage;
		if (hp < 0)
			hp = 0; // 체력이 음수가 될 수 없게 함.

		cout << "Round " << round << " 몬스터 체력 " << hp << endl;

		if (hp == 0)
		{
			cout << "몬스터 처치!" << endl;
			break;
		}

		if (round == 5)
		{
			cout << "제한 라운드 종료" << endl;
			break;
		}
		round++;
	}
}
/* Output :
Round 1 몬스터 체력 72
Round 2 몬스터 체력 44
Round 3 몬스터 체력 16
Round 4 몬스터 체력 0
몬스터 처치! */

ex) 1~10 사이의 홀수만 출력하기

int main()
{

	for (int i = 1; i <= 10; i++)
	{
		bool isEven = ((i % 2) == 0);

		if (isEven)
			continue;

		cout << i << endl;
	}
}

isEven의 참, 거짓을 판단하여 참이라면 명령을 무시하고 루프를 실행한다(짝수는 스킵)

'기초 C++ 스터디' 카테고리의 다른 글

2-5. 열거형(enum)  (0) 2023.05.04
2-4. 가위바위보  (0) 2023.05.04
2-1. 분기문(If)  (0) 2023.05.04
1-8. 데이터에 관한 여러가지 팁  (0) 2023.05.02
1-7. const와 메모리 구조  (0) 2023.05.02