SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
= C programming By…iamch❀mmy =

บทที่ 11 Switch case

หน้า 1
= C programming By…iamch❀mmy =

บทที่ 11 Switch case
คาสั่ง switch case เป็นอีกหนึ่งรูปแบบของโครงสร้างควบคุมแบบเลือกทา
คาสั่ง ในการเขียนโปรแกรมภาษาซี เป็นคาสั่งที่ใช้ทดสอบเงื่อนไขและมีทางเลือกของการ
ตัดสินใจหลายทาง คาสั่ง switch เป็นที่นิยม เพราะมีรูปแบบที่เข้าใจได้ง่าย สะดวกใน
การแก้ไขในกรณีที่มีการผิดพลาด คาสั่ง switch มีการทางานในแต่ละ case เป็นใน
ลักษณะที่เขียนผังงานได้ และรูปแบบคาสั่งได้ดังนี้
ผังงาน
นิพจน์ = ค่าคงที่1

จริง

คาสั่งชุดที่ 1

เท็จ
นิพจน์ = ค่าคงที่2

จริง

คาสั่งชุดที่ 2

เท็จ

...........
เท็จ
นิพจน์ = ค่าคงที่ n

จริง

คาสั่งชุดที่ n

เท็จ
มี default ?

จริง

คาสั่งใน default

ออกจากคาสั่ง

บทที่ 11 Switch case

หน้า 2
= C programming By…iamch❀mmy =

รูปแบบของคาสั่งเลือกทา กรณี switch case ในภาษาซี คือ
switch (นิพจน์)
{
caseค่าคงที่1 : คาสั่ง1;
caseค่าคงที่2 : คาสั่ง2;
⋮
caseค่าคงที่n : คาสั่งn;
default : คาสั่ง;
}

นิพจน์ และค่าคงที่ของนิพจน์ในแต่ละ case จะต้องเป็นชนิด จานวนเต็ม
และค่าคงที่ในแต่ละ case จะต้องมีค่าไม่ซ้ากัน
ถ้านิพจน์ มีค่าเท่ากับค่าคงที่ 1 แล้ว คาสั่ง 1 จะถูกประมวลผลเป็นลาดับแรก ตามด้วยคาสั่ง
2.. 3.. 4 เรียงลาดับต่อไปถึงคาสั่งของ default ตามลาดับ
ในกรณีที่นิพจน์ มีค่าเท่ากับ ค่าคงที่ 2 การประมวลผลจะเริ่มต้นที่คาสั่ง 2 ตามด้วยคาสั่ง
3.. 4.. 5 เรียงลาดับต่อไปถึงคาสั่งของ default ตามลาดับ
คาสั่ ง switch อาจไม่ มีกรณี default ได้ แต่ในกรณี ที่มี default และนิพจน์
มีค่าไม่ตรงกับค่าคงที่ใด ๆ เลย คาสั่งของกรณี default จะเป็นเพียงคาสั่งเดียวที่ถูกประมวลผลส่วน
ในกรณีที่ไม่มี default และนิพจน์มีค่าไม่ตรงกับค่าคงที่ ใด ๆ จะไม่มีคาสั่งใดเลยที่ถูกประมวลผล

บทที่ 11 Switch case

หน้า 3
= C programming By…iamch❀mmy =

ตัวอย่างรูปแบบการเขียน
switch (x)

นิพจน์

case 9 : printf("happyn");

ค่าคงที่

คาสั่ง

( การทางาน >> หากเรากาหนดค่า x ให้เท่ากับ 9 จะพิมพ์ข้อความว่า happy ออกทางหน้าจอ )
โค้ด
int x = 5;
switch (x) {
case 9: printf("9 9 9 9 9 9 9 9 9n");
case 8: printf(" 8 8 8 8 8 8 8 8n");
case 7: printf(" 7 7 7 7 7 7 7n");
case 6: printf(" 6 6 6 6 6 6n");
case 5: printf(" 5 5 5 5 5n");
case 4: printf(" 4 4 4 4n");
case 3: printf(" 3 3 3n");
case 2: printf("
2 2n");
case 1: printf("
1n");
default: printf("------------------n");
}
ผลลัพธ์คือ

บทที่ 11 Switch case

55555
4444
333
22
1
-----------------------

หน้า 4
= C programming By…iamch❀mmy =

กรณีนี้ x = 5 ก็เข้า case 5 จึงเริ่มพิมพ์ตัวเลข 5 (5 ตัว) และทาทุกบรรทัด
ลงมาเรื่อย ๆ ตามลาดับ จนถึง default คือ พิมพ์ ------------------ จึงหยุดการทางาน
โปรแกรมจะค้นหาว่า case ไหนที่ตรงกับเงื่อนไขที่ใส่ไป
และจะทาจากคาสั่งนั้นลงมาจนถึงคาสั่ง default นั่นเอง

โดยปกติแล้ว เรามักจะใช้ switch case เพื่อเลือกทาคาสั่งใด คาสั่งหนึ่ง
แต่จากตัวอย่างจะเห็นว่า switch case จะเลือกคาสั่งเริ่มต้น และทาทุกคาสั่งไปจนจบจึงให้
ใส่ คาสั่ง break; ต่อท้ายคาสั่งใน case ต่าง ๆ เพื่อให้หยุดการกระทาที่ตาแหน่งใดตาแหน่งหนึ่ง
เท่านั้น (ไม่ทาทุกคาสั่งไปจนจบ) เช่น

ตัวอย่าง การเขียนคาสั่งแบบเลือกทาคาสั่ง (switch case)

บทที่ 11 Switch case

หน้า 5
= C programming By…iamch❀mmy =

การใส่ break; ในตอนจบ case เป็นการสั่งให้หยุดทางานในส่วนของ switch case นั้น
ทันที เช่น ถ้าค่า x เป็น 1 จะพิมพ์คาว่า One ออกมาทางจอภาพและหยุดการทางานทันที
ถ้า x เป็น 2 จะพิมพ์คาว่า Two ออกมาทางจอภาพ และหยุดการทางานทันที และหาก x ไม่ใช่ทั้ง 1
และ 2 จะพิมพ์คาว่า Not One and Two ออกมาทางจอภาพและหยุดการทางานทันที เช่นกัน
เพือน ๆ ลองนาโค้ดโปรแกรมในตัวอย่าง
่
ไปใช้ในโปรแกรม Dev-C++ ดูนะ
เมือเข้าใจแล้วก็เข้าไปทาแบบฝึกหัดเลย
่

คาศัพท์ภาษาอังกฤษน่ารู้ประจาบทที่ 11
ที่

คาศัพท์

คาอ่าน

ความหมายที่เกี่ยวข้องกับภาษาซี

1

break

เบรค

พัก หยุด

2

case

เคส

กรณี

3

switch

สวิตช

สลับ เปลี่ยน เปิด-ปิด

++ จบบทที่ 11 ++

บทที่ 11 Switch case

หน้า 6

Más contenido relacionado

La actualidad más candente

งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
Pornpimon Aom
 
เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจ
Oraphan4
 

La actualidad más candente (20)

บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
 
Know3 2
Know3 2Know3 2
Know3 2
 
ฟังก์ชั่น Switch
ฟังก์ชั่น Switchฟังก์ชั่น Switch
ฟังก์ชั่น Switch
 
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม (2)
 
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุมบทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
บทที่ 6-เงื่อนไข-การตัดสินใจ-การควบคุม
 
ฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือกฟังก์ชั่น If หลายทางเลือก
ฟังก์ชั่น If หลายทางเลือก
 
ฟังก์ชั่น If ทางเลือกเดียว
ฟังก์ชั่น If ทางเลือกเดียวฟังก์ชั่น If ทางเลือกเดียว
ฟังก์ชั่น If ทางเลือกเดียว
 
06 for loops
06 for loops06 for loops
06 for loops
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือกการเขียนคำสั่งควบคุมแบบมีทางเลือก
การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
chapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุมchapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุม
 
ฟังก์ชั่น If สองทางเลือก
ฟังก์ชั่น If สองทางเลือกฟังก์ชั่น If สองทางเลือก
ฟังก์ชั่น If สองทางเลือก
 
แบบทดสอบหน่วยที่ 3
แบบทดสอบหน่วยที่ 3แบบทดสอบหน่วยที่ 3
แบบทดสอบหน่วยที่ 3
 
Unit4
Unit4Unit4
Unit4
 
C lang
C langC lang
C lang
 
เงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจเงื่อนไข การตัดสินใจ
เงื่อนไข การตัดสินใจ
 
Unit3
Unit3Unit3
Unit3
 
ฟังก์ชั่น While
ฟังก์ชั่น Whileฟังก์ชั่น While
ฟังก์ชั่น While
 
รหัสเทียม Psuedo code
รหัสเทียม Psuedo codeรหัสเทียม Psuedo code
รหัสเทียม Psuedo code
 
Python101
Python101Python101
Python101
 

Más de Chommy Rainy Day

รวม 7 เรื่อง
รวม 7 เรื่องรวม 7 เรื่อง
รวม 7 เรื่อง
Chommy Rainy Day
 
คู่มือการใช้ สำหรับนักเรียน1
คู่มือการใช้ สำหรับนักเรียน1คู่มือการใช้ สำหรับนักเรียน1
คู่มือการใช้ สำหรับนักเรียน1
Chommy Rainy Day
 

Más de Chommy Rainy Day (20)

Covid Diary
Covid DiaryCovid Diary
Covid Diary
 
Google docs
Google docsGoogle docs
Google docs
 
ความภาคภูมิใจ
ความภาคภูมิใจความภาคภูมิใจ
ความภาคภูมิใจ
 
รวม 7 เรื่อง
รวม 7 เรื่องรวม 7 เรื่อง
รวม 7 เรื่อง
 
6.2 st
6.2 st6.2 st
6.2 st
 
Flochart 33
Flochart 33Flochart 33
Flochart 33
 
Flochart 22
Flochart 22Flochart 22
Flochart 22
 
Coup d'état
Coup d'étatCoup d'état
Coup d'état
 
Boxx
BoxxBoxx
Boxx
 
Unit6
Unit6Unit6
Unit6
 
Flowchart
FlowchartFlowchart
Flowchart
 
About
AboutAbout
About
 
Unit5
Unit5Unit5
Unit5
 
Unit2
Unit2Unit2
Unit2
 
Unit1
Unit1Unit1
Unit1
 
1381741909 622573
1381741909 6225731381741909 622573
1381741909 622573
 
About
AboutAbout
About
 
คู่มือการใช้ สำหรับนักเรียน1
คู่มือการใช้ สำหรับนักเรียน1คู่มือการใช้ สำหรับนักเรียน1
คู่มือการใช้ สำหรับนักเรียน1
 
การประชุมสัมมนาตามโครงการยกระดับผลสัมฤทธิ์ทางการศึกษา
การประชุมสัมมนาตามโครงการยกระดับผลสัมฤทธิ์ทางการศึกษาการประชุมสัมมนาตามโครงการยกระดับผลสัมฤทธิ์ทางการศึกษา
การประชุมสัมมนาตามโครงการยกระดับผลสัมฤทธิ์ทางการศึกษา
 
Smedu award
Smedu awardSmedu award
Smedu award
 

Unit11

  • 1. = C programming By…iamch❀mmy = บทที่ 11 Switch case หน้า 1
  • 2. = C programming By…iamch❀mmy = บทที่ 11 Switch case คาสั่ง switch case เป็นอีกหนึ่งรูปแบบของโครงสร้างควบคุมแบบเลือกทา คาสั่ง ในการเขียนโปรแกรมภาษาซี เป็นคาสั่งที่ใช้ทดสอบเงื่อนไขและมีทางเลือกของการ ตัดสินใจหลายทาง คาสั่ง switch เป็นที่นิยม เพราะมีรูปแบบที่เข้าใจได้ง่าย สะดวกใน การแก้ไขในกรณีที่มีการผิดพลาด คาสั่ง switch มีการทางานในแต่ละ case เป็นใน ลักษณะที่เขียนผังงานได้ และรูปแบบคาสั่งได้ดังนี้ ผังงาน นิพจน์ = ค่าคงที่1 จริง คาสั่งชุดที่ 1 เท็จ นิพจน์ = ค่าคงที่2 จริง คาสั่งชุดที่ 2 เท็จ ........... เท็จ นิพจน์ = ค่าคงที่ n จริง คาสั่งชุดที่ n เท็จ มี default ? จริง คาสั่งใน default ออกจากคาสั่ง บทที่ 11 Switch case หน้า 2
  • 3. = C programming By…iamch❀mmy = รูปแบบของคาสั่งเลือกทา กรณี switch case ในภาษาซี คือ switch (นิพจน์) { caseค่าคงที่1 : คาสั่ง1; caseค่าคงที่2 : คาสั่ง2; ⋮ caseค่าคงที่n : คาสั่งn; default : คาสั่ง; } นิพจน์ และค่าคงที่ของนิพจน์ในแต่ละ case จะต้องเป็นชนิด จานวนเต็ม และค่าคงที่ในแต่ละ case จะต้องมีค่าไม่ซ้ากัน ถ้านิพจน์ มีค่าเท่ากับค่าคงที่ 1 แล้ว คาสั่ง 1 จะถูกประมวลผลเป็นลาดับแรก ตามด้วยคาสั่ง 2.. 3.. 4 เรียงลาดับต่อไปถึงคาสั่งของ default ตามลาดับ ในกรณีที่นิพจน์ มีค่าเท่ากับ ค่าคงที่ 2 การประมวลผลจะเริ่มต้นที่คาสั่ง 2 ตามด้วยคาสั่ง 3.. 4.. 5 เรียงลาดับต่อไปถึงคาสั่งของ default ตามลาดับ คาสั่ ง switch อาจไม่ มีกรณี default ได้ แต่ในกรณี ที่มี default และนิพจน์ มีค่าไม่ตรงกับค่าคงที่ใด ๆ เลย คาสั่งของกรณี default จะเป็นเพียงคาสั่งเดียวที่ถูกประมวลผลส่วน ในกรณีที่ไม่มี default และนิพจน์มีค่าไม่ตรงกับค่าคงที่ ใด ๆ จะไม่มีคาสั่งใดเลยที่ถูกประมวลผล บทที่ 11 Switch case หน้า 3
  • 4. = C programming By…iamch❀mmy = ตัวอย่างรูปแบบการเขียน switch (x) นิพจน์ case 9 : printf("happyn"); ค่าคงที่ คาสั่ง ( การทางาน >> หากเรากาหนดค่า x ให้เท่ากับ 9 จะพิมพ์ข้อความว่า happy ออกทางหน้าจอ ) โค้ด int x = 5; switch (x) { case 9: printf("9 9 9 9 9 9 9 9 9n"); case 8: printf(" 8 8 8 8 8 8 8 8n"); case 7: printf(" 7 7 7 7 7 7 7n"); case 6: printf(" 6 6 6 6 6 6n"); case 5: printf(" 5 5 5 5 5n"); case 4: printf(" 4 4 4 4n"); case 3: printf(" 3 3 3n"); case 2: printf(" 2 2n"); case 1: printf(" 1n"); default: printf("------------------n"); } ผลลัพธ์คือ บทที่ 11 Switch case 55555 4444 333 22 1 ----------------------- หน้า 4
  • 5. = C programming By…iamch❀mmy = กรณีนี้ x = 5 ก็เข้า case 5 จึงเริ่มพิมพ์ตัวเลข 5 (5 ตัว) และทาทุกบรรทัด ลงมาเรื่อย ๆ ตามลาดับ จนถึง default คือ พิมพ์ ------------------ จึงหยุดการทางาน โปรแกรมจะค้นหาว่า case ไหนที่ตรงกับเงื่อนไขที่ใส่ไป และจะทาจากคาสั่งนั้นลงมาจนถึงคาสั่ง default นั่นเอง โดยปกติแล้ว เรามักจะใช้ switch case เพื่อเลือกทาคาสั่งใด คาสั่งหนึ่ง แต่จากตัวอย่างจะเห็นว่า switch case จะเลือกคาสั่งเริ่มต้น และทาทุกคาสั่งไปจนจบจึงให้ ใส่ คาสั่ง break; ต่อท้ายคาสั่งใน case ต่าง ๆ เพื่อให้หยุดการกระทาที่ตาแหน่งใดตาแหน่งหนึ่ง เท่านั้น (ไม่ทาทุกคาสั่งไปจนจบ) เช่น ตัวอย่าง การเขียนคาสั่งแบบเลือกทาคาสั่ง (switch case) บทที่ 11 Switch case หน้า 5
  • 6. = C programming By…iamch❀mmy = การใส่ break; ในตอนจบ case เป็นการสั่งให้หยุดทางานในส่วนของ switch case นั้น ทันที เช่น ถ้าค่า x เป็น 1 จะพิมพ์คาว่า One ออกมาทางจอภาพและหยุดการทางานทันที ถ้า x เป็น 2 จะพิมพ์คาว่า Two ออกมาทางจอภาพ และหยุดการทางานทันที และหาก x ไม่ใช่ทั้ง 1 และ 2 จะพิมพ์คาว่า Not One and Two ออกมาทางจอภาพและหยุดการทางานทันที เช่นกัน เพือน ๆ ลองนาโค้ดโปรแกรมในตัวอย่าง ่ ไปใช้ในโปรแกรม Dev-C++ ดูนะ เมือเข้าใจแล้วก็เข้าไปทาแบบฝึกหัดเลย ่ คาศัพท์ภาษาอังกฤษน่ารู้ประจาบทที่ 11 ที่ คาศัพท์ คาอ่าน ความหมายที่เกี่ยวข้องกับภาษาซี 1 break เบรค พัก หยุด 2 case เคส กรณี 3 switch สวิตช สลับ เปลี่ยน เปิด-ปิด ++ จบบทที่ 11 ++ บทที่ 11 Switch case หน้า 6