switch case statement Compares คำสั่งเปรียบเทียบตัวแปร ภาษาC
2/5/2560 SONGCHAI PRAPATRUNGSEE
switch case statement Compares คำสั่งเปรียบเทียบตัวแปร ภาษาC
switch / case
statements Compares
เป็นคำสั่งเปรียบเทียบค่าตัวแปรถ้าเป็นจริงก็เข้ามาทำ
คำสั่ง switch / case เป็นคำสั่งเหมือน if
else if
คำสั่ง switch / case ใช้ในกรณีมีหลายเงื่อนไข
แต่ใช้งานง่ายกว่า
และรวดเร็วกว่าเพราะไม่ต้องมาคอยตรวจทีละเงื่อนไข
การใช้งาน2รูปแบบ
แบบที่1
switch (variable)
{
case number0:
statement; //one or more
break;
case number1:
statement; //one or more
break;
default: //have no have ok
statement; //one or more
break;
}
เช่น
switch (oper)
{
case 0:
{
int a=8;
c=a+b;
//one or more
}
break;
case 1:
c=a-b;
//one or more
break;
case 2:
c=a*b;
//one or more
break;
case 3:
c=a/b;
//one or more
break;
case 4:
c=a%b; //one or more
break;
default: //have no have ok
c=0;
break;
}
////////////////////////////////////////////////////////
แบบที่2
switch (variable)
{
case label:
statement; //one or more
break;
case
label:
statement; //one or more
break;
default:
statement; //one or more
break;
}
เช่น
switch (oper)
{
case '+':
c=a+b; //one or more
break;
case '-':
c=a-b;
//one or more
break;
case '*':
c=a*b; //one or more
break;
case '/':
c=a/b; //one or more
break;
case '%':
c=a%b; //one or more
break;
default: //have no have ok
c=0;
break;
}
//////////////////////////////////////////////////////////////////
#include <REGX51.H>
void main(void)
{
unsigned
char a=10,b=6,c,oper='-';
while(1)
{
switch
(oper)
{
case
'+':
c=a+b; //one or more
break;
case
'-':
c=a-b; //one or more
break;
case
'*':
c=a*b; //one or more
break;
case
'/':
c=a/b; //one or more
break;
case
'%':
c=a%b; //one or more
break;
default: //have no have ok
c=0;
break;
}
}
}
variable คือ ตัวแปร
label คือ ตัวอักษร หรือ เครื่องหมาย หรือตัวเลข
เขียนดังนี้
เช่น ‘ A ’ หรือ ‘ + ’ หรือ ‘ 1
’
‘
’ คือเครื่องหมาย
อัญประกาศเดี่ยว(single quotation mark)
ไว้รับค่าจากการพิมพ์
เป็นตัวอักษร หรือเครื่องหมาย หรือตัวเลข
เพียง1ตัวเท่านั้น
ถ้าหลายตัวจะต้องใช้เป็นเครื่องหมายอัญประกาศคู่
(double quotation
marks)
“xxxxx”
การใช้งานถ้าไม่มีคำสั่ง
break; จะถือว่าล้มเหลว
คือจะทำงานในเคส case: ที่เป็นจริงก่อน
จากนั้นก็จะทำงานใน case: ถัดไป
จนกว่าจะสิ้นสุดโครงสร้างคำสั่ง switch
คำสั่งbreak; คือคำสั่งออกจากโครงสร้าง
switch ทันที
ส่วน default: เป็นทางเลือก
ในกรณีเปรียบเทียบแล้ว
ไม่ตรงกับเงื่อนไขใดก็จะเข้าไปทำใน
default:
default:
จะมีหรือไม่มีก็ได้
ถ้าต้องการประกาศตัวแปรภายในcaseก็สามารถทำได้
แต่ต้องใช้วงเล็บปีกกาจึงจะสามารถใช้ได้
และstatement จะต้องอยู่ในวงเล็บปีกกาด้วย
เช่น
case 1:
{
int a=1;
c=a+b;
}
break;
ถ้าไม่มีการประกาศตัวแปรภายใน case:
ก็ไม่ต้องใส่วงเล็บปีกกา
ถึงแม้ว่าจะเขียนหลายstatementก็ตาม
ไม่มีความคิดเห็น:
แสดงความคิดเห็น