Page 43 - ipst-cmanual
P. 43
¤ÁÙ Í× ¡ÒÃà¢ÂÕ ¹â»Ãá¡ÃÁÀÒÉÒ C ÊÒí ËÃºÑ ãª§ Ò¹¡ÅÍ §ÊÁͧ¡Å IPST-MicroBOX l 43
3.3 ¤Òí ʧèÑ switch...case
໹¤íÒÊÑè§·Õèãªã¹¡ÒõÃǨÊͺµÑÇá»ÃËÃ×ͤҤ§·Õè à¾è×ͪÇÂ㹡ÒõѴÊÔ¹ã¨ÇÒ µÃ§¡Ñº case
ã´ áµ¶ÒËÒ¡ÇÒµÑÇá»ÃËÃ×ͤҤ§·Õè·èÕ¹íÒÁÒµÃǨÊͺäÁµÃ§¡Ñº case ã´àÅ â»Ãá¡ÃÁ¨ÐÁÕ¡ÒÃÁͧ
ËÒ¤Òí ʧèÑ default áÅÇ ·Òí ¤Òí ʧèÑ ã¹ÊÇ ¹¢Í§ default áµ¶ Ò ËÒ¡äÁÁ ¡Õ ÒÃÃÐºãØ ¹¤Òí ʧÑè default ¡¨ç зÒí ãË
â»Ãá¡ÃÁÍÍ¡¨Ò¡¡Ò÷Òí §Ò¹ã¹ÊÇ ¹ switch ·¹Ñ ·Õ ÁÃÕ »Ù Ẻ·ãÕè ªº Í Âæ ´§Ñ ¹Õé
switch(variable)
{
case const1 : block1
break;
case const2 : block2
break;
case const3 : block3
break;
|
|
|
default : blockn
break;
}
variable ¤Í× µÇÑ á»Ã·¹èÕ Òí ÁÒµÃǨÊͺà§Í×è ¹ä¢
const ¤Í× ¤Ò ·ãèÕ ªà ·ÂÕ º¡ºÑ µÇÑ á»Ã·¹èÕ Òí ÁÒµÃǨÊͺ ¶Ò µÃ§¡ºÑ ¤Ò ã´ ¨Ðä»·Òí §Ò¹ã¹ºÅÍç ¡¹¹éÑ
default ¤Í× ¡Ã³¢Õ ͧ¡ÒÃà»ÃÂÕ ºáÅÇ äÁµ ç¡ºÑ case ã´àÅ ¨Ðà¢Ò ÁÒ㹺ÅÍç ¡¤Òí ʧèÑ ¹Õé «§èÖ
äÁ¨ Òí ໹ µÍ §ÁàÕ ÊÁÍä»
µÇÑ ÍÂÒ §·èÕ 3-7
unsigned char key = 5;
unsigned char j = 10;
switch(key)
{
case 1 : j = j +key;
break;
case 3 : j = j +key;
break;
case 5 : j = j +key; ß ·Òí ¤Òí ʧèÑ ºÅÍç ¡¹Õé
break;
}
/*—————————result———————————*/
j = 15
/*——————————————————————————*/
3.3 ¤Òí ʧèÑ switch...case
໹¤íÒÊÑè§·Õèãªã¹¡ÒõÃǨÊͺµÑÇá»ÃËÃ×ͤҤ§·Õè à¾è×ͪÇÂ㹡ÒõѴÊÔ¹ã¨ÇÒ µÃ§¡Ñº case
ã´ áµ¶ÒËÒ¡ÇÒµÑÇá»ÃËÃ×ͤҤ§·Õè·èÕ¹íÒÁÒµÃǨÊͺäÁµÃ§¡Ñº case ã´àÅ â»Ãá¡ÃÁ¨ÐÁÕ¡ÒÃÁͧ
ËÒ¤Òí ʧèÑ default áÅÇ ·Òí ¤Òí ʧèÑ ã¹ÊÇ ¹¢Í§ default áµ¶ Ò ËÒ¡äÁÁ ¡Õ ÒÃÃÐºãØ ¹¤Òí ʧÑè default ¡¨ç зÒí ãË
â»Ãá¡ÃÁÍÍ¡¨Ò¡¡Ò÷Òí §Ò¹ã¹ÊÇ ¹ switch ·¹Ñ ·Õ ÁÃÕ »Ù Ẻ·ãÕè ªº Í Âæ ´§Ñ ¹Õé
switch(variable)
{
case const1 : block1
break;
case const2 : block2
break;
case const3 : block3
break;
|
|
|
default : blockn
break;
}
variable ¤Í× µÇÑ á»Ã·¹èÕ Òí ÁÒµÃǨÊͺà§Í×è ¹ä¢
const ¤Í× ¤Ò ·ãèÕ ªà ·ÂÕ º¡ºÑ µÇÑ á»Ã·¹èÕ Òí ÁÒµÃǨÊͺ ¶Ò µÃ§¡ºÑ ¤Ò ã´ ¨Ðä»·Òí §Ò¹ã¹ºÅÍç ¡¹¹éÑ
default ¤Í× ¡Ã³¢Õ ͧ¡ÒÃà»ÃÂÕ ºáÅÇ äÁµ ç¡ºÑ case ã´àÅ ¨Ðà¢Ò ÁÒ㹺ÅÍç ¡¤Òí ʧèÑ ¹Õé «§èÖ
äÁ¨ Òí ໹ µÍ §ÁàÕ ÊÁÍä»
µÇÑ ÍÂÒ §·èÕ 3-7
unsigned char key = 5;
unsigned char j = 10;
switch(key)
{
case 1 : j = j +key;
break;
case 3 : j = j +key;
break;
case 5 : j = j +key; ß ·Òí ¤Òí ʧèÑ ºÅÍç ¡¹Õé
break;
}
/*—————————result———————————*/
j = 15
/*——————————————————————————*/