728x90
반응형
switch문
switch 문은 함수안에 원하는 값이 반환되었을 때의 경우를 나누어서 코드를 실행할 수 있다.
switch 문은 여러 개의 case로 분류되고 해당하는 case부터 아래의 모든 코드를 실행하게 된다.
예를 들어 반환된 값이 0 일 때 실행하고 싶다면 case 0:이라고 작성하면 된다.
switch 문의 예시로 1~10까지의 값을 입력받고 그 수부터 순서대로 10까지 출력하는 코드를 작성해보겠다.
#include <stdio.h>
int main ()
{
int num;
printf("1~10 까지의 숫자 입력 : ");
scanf("%d", &num);
switch(num)
{
case 1:
printf("1\n");
case 2:
printf("2\n");
case 3:
printf("3\n");
case 4:
printf("4\n");
case 5:
printf("5\n");
case 6:
printf("6\n");
case 7:
printf("7\n");
case 8:
printf("8\n");
case 9:
printf("9\n");
case 10:
printf("10\n");
default:
printf("프로그램 종료");
}
return 0;
}
위 코드는 입력받은 case부터 마지막 case인 10까지 전부 출력하게 된다.
default는 case에 상관없이 항상 마지막 case로 실행되는 부분이다.
switch break문
switch 문은 if else 문과 비슷하게 동작하지만 그 쓰임이 좀 더 제한적이다.
그래서 break 와 함께 사용하여 좀 더 쓰임을 다양화할 수 있다.
case 안에서 break를 사용하면 switch 문을 완전히 탈출할 수 있다.
예시로 달을 입력받으면 그 달의 일 수를 출력하는 코드를 작성해보겠다.
#include <stdio.h>
int main ()
{
int month;
printf("달 입력 : ");
scanf("%d", &month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%d월의 일수는 31일 입니다.\n", month);
printf("프로그램을 종료합니다.");
break;
case 4:
case 6:
case 9:
case 11:
printf("%d월의 일수는 30일 입니다.\n", month);
printf("프로그램을 종료합니다.");
break;
case 2:
printf("%d월의 일수는 28일 입니다.\n", month);
printf("프로그램을 종료합니다.");
break;
default:
printf("잘못 입력하셨습니다.\n프로그램을 종료합니다.");
}
return 0;
}
break를 사용하면 아래코드를 전부 읽지않고 바로 switch 문을 탈출하게 된다.
따라서 입력한 값에 해당하는 코드만을 실행할 수 있게된다.
switch문에서 case 안의 코드는 중괄호로 묶어주지 않아도 괜찮다.
물론 묶어주어도 오류는 발생하지 않으므로 묶어도 상관은 없다.
728x90
반응형
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] 재귀함수 (0) | 2024.02.10 |
---|---|
[C언어] 함수의 선언, 호출, 정의 / 반환(return), 매개변수, 전달인자, 파라미터(parameter), 아규먼트(argument) (0) | 2024.02.10 |
[C언어] break, continue (0) | 2024.02.10 |
[C언어] 조건문 (if문, else if문) (0) | 2024.02.09 |
[C언어] bool 자료형 (0) | 2024.02.09 |