C 언어 - 제어문 break / continue / return

컴퓨터/C

728x90
반응형

제어문

제어문은 조금 더 소스코드 구조의 흐름을 효율적으로 제어하기 위해 사용합니다. 

특정 상황에서 반복문을 종료하고 싶을 때, 또는 아래의 소스코드를 생략하고 다시 반복문의 처음으로 돌아가고 싶을 때 아예 프로그램을 종료하고 싶을 때 등 이런 다양한 상황을 제어할 수 있습니다.

 

break 문

break문은 작성된 소스코드의 가장 가까운 반복문을 종료하는 기능을 가졌습니다.  특정 상황에서 반복문을 종료하기 위해 많이 사용합니다.

 

예제 )

#include <stdio.h>

int main()
{

	while (1)
	{
		printf("1. 캐릭터 상태보기\n");
		printf("2. 맵 이동 하기\n");
		printf("3. 게임 종료하기\n");
		printf("원하는 명령을 입력 하세요 : ");
		int input;
		scanf_s("%d", &input);

		if (input == 3)
		{
			printf("게임을 종료합니다\n");
			break;
		}
		else if (input == 2)
		{
			printf("맵의 선택 화면 입니다.\n");
		}
		else if (input == 1)
		{
			printf("캐릭터의 상태 창 입니다.\n");
		}
		else
		{
			printf("정확한 메뉴 번호를 입력해 주세요.\n");
		}
	}
    return 0;
}

위와 같은 구조로 활용을 하여 무한 반복으로 실행되는 반복문을 특정 상황에서 종료를 할수 있습니다. 

 

continue 문

반복문 안에서 continue를 만나면 아래의 소스코드를 생략하고 반복문의 가장 처음으로 올라가서 다시 시작합니다. 특정 상황에서 반복문을 1회 생략을 하는 목적으로 많이 사용합니다.

 

예제 ) for문에서 특정 입력값의 짝수 값만 출력해보기

#include <stdio.h>

int main()
{
	int num;
	printf("짝수 값만 표시하기 프로그램\n");
	printf("숫자 값을 입력하세요 : ");
	scanf_s("%d", &num);
	printf("0부터 %d 까지의 짝수 값만 출력합니다.\n",num);

	for (int i = 0; i <= num; i++)
	{
		if (i % 2 != 0)
		{
			continue;
		}
		printf("%d\n", i);
	}
    
    return 0;
}

 사실 continue를 사용하지 않아도 충분히 구현가능하지만 소스코드의 규모가 커지면 유용한 경우가 있습니다. 이런 식으로 continue를 사용하여 해당 반복문의 처음으로 돌아갈 수 있습니다.

 

return 문

C언어의 시작은 main이라는 함수에서 시작합니다. 그리고 이 main이라는 함수는 return을 만남으로 함수의 종료를 알수 있습니다. 아직 함수를 배우지는 않았지만 return은 함수의 종료를 알려주는 역할을 가지고 있습니다. 따라서 main함수 영역에서 return을 만난다는 것은 프로그램을 종료한다는 의미가 되는 것입니다. 그 뒤에 소스코드들은 실행이 안 되는 것입니다. 

종종 이런 return을 사용해서도 소스코드를 제어할수 있습니다.

 

예제)

#include <stdio.h>

int main()
{

	while (1)
	{
		printf("1. 캐릭터 상태보기\n");
        return;
		printf("2. 맵 이동 하기\n");
		printf("3. 게임 종료하기\n");
		printf("원하는 명령을 입력 하세요 : ");
		int input;
		scanf_s("%d", &input);
        return;

		if (input == 3)
		{
			printf("게임을 종료합니다\n");
			break;
		}
		else if (input == 2)
		{
			printf("맵의 선택 화면 입니다.\n");
		}
		else if (input == 1)
		{
			printf("캐릭터의 상태 창 입니다.\n");
		}
		else
		{
			printf("정확한 메뉴 번호를 입력해 주세요.\n");
		}
	}
    return 0;
}

return은 함수 안에서 하나만 있어야되고 종료를 알려주는 키워드입니다. 위의 예제처럼 아무리 많이 사용해도 처음 만나는 return만이 적용되며 함수가 종료됩니다.

728x90
반응형

'컴퓨터 > C' 카테고리의 다른 글

C 언어 - 용어 알아보기  (0) 2021.06.08
C 언어 - 함수  (0) 2021.06.06
C 언어 - 반복문 do while문  (0) 2021.06.05
C 언어 - 반복문 for  (0) 2021.06.04
C 언어 - 반복문 while  (0) 2021.06.04

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :