컴퓨터/C
제어문은 조금 더 소스코드 구조의 흐름을 효율적으로 제어하기 위해 사용합니다.
특정 상황에서 반복문을 종료하고 싶을 때, 또는 아래의 소스코드를 생략하고 다시 반복문의 처음으로 돌아가고 싶을 때 아예 프로그램을 종료하고 싶을 때 등 이런 다양한 상황을 제어할 수 있습니다.
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를 만나면 아래의 소스코드를 생략하고 반복문의 가장 처음으로 올라가서 다시 시작합니다. 특정 상황에서 반복문을 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를 사용하여 해당 반복문의 처음으로 돌아갈 수 있습니다.
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만이 적용되며 함수가 종료됩니다.
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 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet