1 of 5

4. คำสั่ง switch…case .

เป็นคำสั่งที่ใช้ทดสอบเงื่อนไขและมีทางเลือกของการตัดสินใจหลายทาง ทำนองเดียวกับคำสั่ง if else if แต่นิยมใช้คำสั่ง switch มากกว่า เพราะมีรูปแบบที่เข้าใจได้ง่าย สะดวกในการแก้ไขในกรณีที่มีการผิดพลาด การเลือกใช้ switch ยังมีข้อจำกัดบางประการเนื่องจากค่าคงที่(constant) หลัง case จะต้องเป็นชนิด int หรือ char เท่านั้น ดังนั้นในการพิจารณาเลือกใช้ if หรือ switch จะต้องพิจาณาในส่วนนี้ด้วย

โครงสร้างแบบมีทางเลือก

2 of 5

switch (expression)

{

case (constant-1) : statements;

break;

case (constant-2): statements;

break;

case (constant-n): statements;

break;

default : statements;

}

3 of 5

expression ของ switch จะถูกใช้เพื่อเปรียบเทียบค่าว่าตรงกับ constant ของ case ใด โดยโปรแกรมจะปฏิบัติตามคำสั่งต่าง ๆ ใน case นั้น ส่วนคำสั่ง break; จะเป็นคำสั่งให้ออกจากคำสั่ง switch �ในกรณีที่ไม่มีคำสั่ง break โปรแกรมจะปฏิบัติเรียงตามลำดับตลอดทุกคำสั่ง

ในทุก case ที่อยู่ต่อกัน ในกรณีที่ค่าของ expression ของswitch ไม่ตรงกับ constant ของ case ใด� โปรแกรมจะปฏิบัติตามคำสั่งใน default โดยข้อสังเกตในแต่ละ case

อาจมีคำสั่งหลายคำสั่งไม่ต้องใช้เครื่องหมาย { } คร่อมดังกรณีของคำสั่ง if แบบต่างๆ

4 of 5

main()

{

char operator1 ;

int ans,x,y;

x=10; y=2;

printf(" x = 10 , y = 12\n");

printf("Enter operator : ");

operator1=getche();

switch (operator1)

{

case '+' : ans =x + y; printf(“\nanswer = %d",ans); break;

case '-' : ans=x-y; printf(“\nanswer = %d",ans); break;

case '*' : ans=x*y; printf(“\nanswer = %d",ans); break;

case '/' : ans=x/y; printf(“\nanswer = %d",ans); break;

default : printf(“\nThis program can use only +,-,*,/ \n");

}

}

EX.1

โปรแกรมเครื่องคิดเลข

5 of 5

แบบฝึกหัด

ให้เขียนโปรแกรมตู้เติมเงินโทรศัพท์โดยโดยใช้คำสั่ง switch case ให้ผู้ใช้�เลือกเครือข่ายต่างๆ ดังนี้ �A = Ais D = Dtac T = True move h และอื่นๆให้ออกจากโปรแกรม

เมื่อผู้ใช้เลือก Ais ให้แสดงข้อความว่า Welcome to AIS.

Dtac ให้แสดงข้อความว่า Welcome to Dtac.

True move h ให้แสดงข้อความว่า Welcome to True move h.

โดยผู้ใช้รับ เบอร์โทรศัพท์ , จำนวนเงิน และแสดงข้อความขอบคุณหลังจากที่เติมเงิน�เรียบร้อยแล้ว

  1. Requirement
  2. Input
  3. Output
  4. variable