본문 바로가기
프로그램

[C언어]조건 연산자 switch~case문 기초예시 7강

by y은광 2024. 9. 2.
728x90

C언어의 조건문에는 if~else문 이외에도 switch~case문이 있습니다. switch문을 사용하면 여러 개의 값 중에서 변수가  어떤 값을 가지고 있는지 검사할 수 있습니다. 실행경로가 여러 개인 경우는 if~else문 보다 switch문을 사용하는 것이 효율성이 있습니다.

1. switch문의 주요 요소

  • switch~case문의 제어식은 항상 정수 수식이어야 합니다. 
    •  int a=10;
    • switch(a)
  • default 문이 마지막에 있기 때문에 break문 생략가능하지만, 위치가 변경될 수 있으므로 default문에도 break문을 넣어줍니다.

2. switch case 기초예시

  • 등급계산하는 기초예시
#include<stdio.h>
int main(void)
{
int grade;
printf("당신의 등급을 1~5중 입력하세요.  \n");
scanf("%d", &grade); //등급을 키보드로 입력함
printf("당신의 등급은 % d등급입니다. \n", grade);

switch (grade){
case 1//1을 입력했을 때 실행합니다. : 표시
printf("정말 잘했습니다. 매우 우수합니다. \n");
break; // 실행하고 멈춤 ; 표시

case 2:
printf("매우 잘했습니다. 우수합니다. \n");
break;

case 3:
printf("잘했습니다. \n");
break;

case 4:
printf("조금 만 더 노력하면 좋겠습니다. \n");
break;

case 5:
printf("노력이 필요합니다. \n");
break;

defalut://1~5번 사이 이외의 정수값 입력 시 실행
printf("노력이 많이 필요합니다.\n");
}
return 0;
}

 

연산1

 

 

  • 연산을 만드는 기초예시
#include<stdio.h>
int main(void)
{
chr arithmetic;
int a, b, z;
printf("원하는 수식을 입력해 보세요 +, -, *, / 중 선택하기 \n");
scanf("%c", &arithmetic); //수식을 문자로 입력함
printf("연산할 정수값 두 개를 입력하세요! \n");
printf(">>");
scanf("%d", &a); 
scanf("%d",  &b);

switch(arithmetic)
{
case '+': //문자입력할 때 작은따옴표를 입력함 ' '
     z=a+b;
    break;

case '-':
    z=a-b;
   break;

case '*':
   z=a*b;
   break;

case '/': //나눗셈
   z=a/b;
   break;

 case '%': //나머지값
   z=a%b;
   break;

default: //그 외 연산을 입력하면 실행
 printf("잘못 입력하셨습니다. 다시 입력하세요 \n");
}
printf("% d %c %d = %d \n", a, arithmetic, b, z);
return 0;
}

연산1

 

감사합니다