특정 조건을 만족할 때까지 반복해야 할 때 반복문을 사용한다.
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 |