IT 프로그래밍/C++

[따배시 5.7 ~ 5.8] 반복문 for, break, continue

기술1 2024. 3. 23. 15:23
반응형

 

 

 

#include <iostream>

int main()
{
	using namespace std;

	int count = 0;
	for (; count < 10; ++count) //iteration
	{
		cout << count << endl;
	}


	return 0;
}

이렇게 for문 안에 칸을 비워두셔도 됩니다. 

 

어떠한 특정 반복해야 하는 수가 주어졌을 때 for문을 사용하면 되는데요.

 

예를들면 10번 반복해야 한다. 이렇게 수가 주어졌을 때 for(int i = 0; i < 10; i ++) 이런 식으로 만들어주시면 됩니다.

 

using namespace std;
int main()
{
	for (int count = 9; count >= 0; count -= 2)
	{
		cout << count << endl;
	}

	return 0;
}

이런식으로 써줄 수도 있습니다. 

9 부터 -2만큼 반복할 때마다 반복되는 구조입니다. 

 

using namespace std;
int main()
{
	for (int i = 0, j = 0; i < 10; ++i, --j)
		cout << i << " " << j << endl;
	return 0;
}

이렇게 두가지의 변수를 for에 넣어주는 것도 가능합니다. 이렇게 i = 0 , j = 0을 정의해주고 한다면 i는 증가하고 j는 감소하게 됩니다. 

 

 

 

Break


#include <iostream>

using namespace std;

int main()
{

	int count = 0;
	while (true)
	{
		cout << count << endl;

		if (count == 10) break;
		count++;
	}
	return 0;
}

break 문을 걸면 함수를 빠져나갑니다. 

 

#include <iostream>

using namespace std;

void breakOrReturn()
{
	while (true)
	{
		char ch;
		cin >> ch;

		if (ch == 'b')
			break;

		if (ch == 'r')
			return;
	}
	cout << "Hello" << endl;
}

int main()
{
	breakOrReturn();

	return 0;
}

여기 같은 경우 b를 넣으면 {}를 깨고 나오기 때문에 "Hello"가 생성이 됩니다. 하지만 'r'을 쓸 경우 함수 밖으로 바로 나가기 때문에 breakOrReturn 함수를 나가게 되는 것이므로 Hello가 실행이 되지 않습니다.

 

int main()
{
	for (int i = 0; i < 10; ++i)
	{
		cout << i << endl;
		if (i == 5) break;
	}

	return 0;
}

이렇게 break는 끊고 나올 수가 있습니다.

 

 

int main()
{
	for (int i = 0; i < 10; ++i)
	{
		if (i % 2 == 0)
			continue;
				
		cout << i << endl;
	}
	return 0;
}

이럴 경우 if 조건을 만족할 경우 continue가 실행이 됩니다. break는 물결괄호를 깨고 나오는 것이지만 continue는 아래 부분은 실행을 시키지 않고 ++i 부분으로 건너뛰는 것입니다. 

 

int main()
{
	int count(0);

	do
	{
		if (count == 5)
			continue;

		cout << count << endl;
	} while (++count < 10);

	return 0;
}

while문에다 count를 넣은 것입니다. 왜냐하면 if (count==5)일때 continue를 해주었으므로 if 문 아래에 count++를 넣을 경우 continue 되었을 때 해당 count가 ++되지 않기 때문입니다. 

반응형