기타게임 C언어 switch문 알아보기
컨텐츠 정보
- 18 조회
- 0 추천
- 0 비추천
- 목록
본문
작성자: 작성자 없음
switch 문에 대해 배워 보도록 하겠습니다.
먼저 switch 문의 기본 구조는 아래와 같습니다.
switch(변수)
{
case 값1:
명령들;
break;
case 값2:
명령들;
break;
.. (생략) ..
}
이걸 토대로 간단하게 만들면 아래와 같이 만들 수 있습니다.
#include <stdio.h>
int main()
{
int input;
printf("마이펫 업그레이드\n");
printf("무엇을 하실 것인지 입력하세요 \n");
printf("1. 밥주기 \n");
printf("2. 씻기기 \n");
printf("3. 재우기 \n");
scanf("%d", &input);
switch(input)
{
case 1:
printf("아이 맛있어 \n");
break;
case 2:
printf("아이 시원해 \n");
break;
case 3:
printf("zzz \n");
break;
default :
printf("무슨 명령인지 못 알아 듣겠어. 왈왈 \n");
break;
}
return 0;
}
이 때, 변수 부분에는 값1, 값2, ... 들과 비교할 변수가 들어가게 됩니다. 위 예제의 경우 input 을 1 과 2 와 3 과 비교해야 했으므로 변수 부분에는 input 이 들어가게 됩니다. 이 때 switch 문에 사용될 변수로는 반드시 정수 데이터를 보관하는 변수여야 합니다. 만약 input 이 float 이나 double 이라면 컴파일시 오류가 발생되게 됩니다.
변수 == 값1 일 때, 가장 맨 위의 case 의 명령이 실행됩니다. 위 예제의 경우 1 이 입력되면 case 1: 이 참이 되므로 그 case 안의 내용들이 모두 실행됩니다. 이 때 각 명령들을 모두 실행한 후 break 를 만나면 switch 문을 빠져 나가게 됩니다.
예를 들어서 1이 입력되었다면 case 1: 이 참이므로 printf("아이 맛있어 \n"); 와 break; 가 실행되어 "아이 맛있어" 를 출력하고 break 를 통해 switch 문을 빠져 나가게 됩니다.
만약 변수 == 값2 라면 case 값1 은 실행되지 않고 case 값2 만 실행되게 됩니다.
또한 주의할 점으로는 '값' 에 위치하는 것들이 무조건 상수 이여야 한다는 것입니다. 만약 '값' 부분에 변수들이 오게된다면 오류가 발생하게 되는데 그 이유는 switch 문의 내부적인 처리 방법 때문입니다.
마지막으로 switch 문의 default 는 if 문의 else 와 같은 역할을 합니다. 이도 저도 아닌 것들이 오는 case 이죠. 즉 위 예제의 경우 input 이 1 도 2 도 3 도 아닐 때 도달하는 경우가 됩니다.
정말로 간단하게 알아본 C언어 switch문 사용법입니당
-
등록일 00:20
-
등록일 08.20
-
등록일 08.10VMware 네트워크 IP 설정댓글 2
-
등록일 08.08