[C언어] if ~ else
if ~else 와 switch의 차이점
두가지가 똑같이 변수에 따라서 어떤 것을 실행할지 선택됩니다.
만약 if문으로 선택해야하는 변수의 갯수가 100개정도 된다고 할때,
변수값이 99라면, 변수==99가 선택 되기 까지 1부터 2,3,4.... 99까지 비교하고 99번째 선택이 됩니다.
CPU가 힘이 많이 들겠죠...
이때 switch문을 사용하면 단 한번에 case 99: process_99(); break; 구문을 수행합니다.
그 이유는 switch문에서 선택 항목이 4개 이상이면 배열 변수 처리되어 포인터 주소를 가지고 있다가
한번에 점프 해버리기 때문입니다.
//****************************************************************
// if ~ else if~ else
//조건문의 하나인 if ~else 생각보다 많이 쓰는 문법이다
//****************************************************************
#include <stdio.h>
int main(void)
{
int key;
printf("점수를 입력하세요:");
scanf("%d",&key);
//if~else 문과 비슷한 형식의 swicth문이다 물론 쓰는 형식은 비슷하지만...
switch(key/10)
{
case 10: puts("A");
break;
case 9: puts("B");
break;
case 8: puts("C");
break;
case 7: puts("");
break;
default:puts("F");
}
/*
if(key>=91)
{
puts("A");
}
else if(key>=81)
{
puts("B");
}
else if(key>=71)
{
puts("C");
}else if(key>=61)
{
puts("D");
}else
{
puts("F");
}*/
}
//////////////////////////////////////////////////////////////////////
// 문자열을 바탕으로 하는 switch문과 if~else문의 예제
//////////////////////////////////////////////////////////////////////
/*
void main()
{
int key;
scanf("%d", &key);
switch(key)
{
case 1: puts("입학을 환영합니다");
break;
case 2: puts("좋을때다!!!");
break;
case 3: puts("비트 하는 시기!!");
break;
case 4: puts("헉!!아직 학교에...ㅠㅠ");
break;
default:puts("잘못 입력 하셨습니다.초딩입니다.");
}
}*/
//break {}를 빠져나가라 !!//switch ~case 반복문을 빠져나간다.
/*
//학년에 따른 분기!!
if(key==1)//1학년일 경우!!
{
puts("입학을 환영합니다");
}
else if(key ==2)//2학년일 경우 !!
{
puts("좋을때다!!!");
}
else if(key ==3)
{
puts("비트 하는 시기!!");
}else if(key==4)
{
puts("헉!!아직 학교에...ㅠㅠ");
}else
{
puts("잘못 입력 하셨습니다.");
}
*/
From SM Bit
'프로그래밍 > Language C' 카테고리의 다른 글
[C언어] 제어문 (0) | 2011.11.11 |
---|---|
[C언어] 쉬어가는 코너 10개 문제 (0) | 2011.11.11 |
[C언어] 연산자 #2 (0) | 2011.11.10 |
[C언어] 연산자 (0) | 2011.11.10 |
[C언어] 변수를 선언하는 룰!! (0) | 2011.11.10 |
댓글
이 글 공유하기
다른 글
-
[C언어] 제어문
[C언어] 제어문
2011.11.11 -
[C언어] 쉬어가는 코너 10개 문제
[C언어] 쉬어가는 코너 10개 문제
2011.11.11 -
[C언어] 연산자 #2
[C언어] 연산자 #2
2011.11.10 -
[C언어] 연산자
[C언어] 연산자
2011.11.10