Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
= C programming By…iamch❀mmy =

บทที่ 11 Switch case

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

บทที่ 11 Switch case
คาสั่ง switch case เป็นอีกหนึ่งรูปแบบของโครงสร้างควบคุมแบบเลือกทา
คาส...
= C programming By…iamch❀mmy =

รูปแบบของคาสั่งเลือกทา กรณี switch case ในภาษาซี คือ
switch (นิพจน์)
{
caseค่าคงที่1 : คาส...
= C programming By…iamch❀mmy =

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

นิพจน์

case 9 : printf("happyn");

ค่าคงที่

คาสั่ง

(...
= C programming By…iamch❀mmy =

กรณีนี้ x = 5 ก็เข้า case 5 จึงเริ่มพิมพ์ตัวเลข 5 (5 ตัว) และทาทุกบรรทัด
ลงมาเรื่อย ๆ ตามล...
= C programming By…iamch❀mmy =

การใส่ break; ในตอนจบ case เป็นการสั่งให้หยุดทางานในส่วนของ switch case นั้น
ทันที เช่น ถ้...
Upcoming SlideShare
Loading in …5
×

Unit11

8,988 views

Published on

  • Be the first to comment

  • Be the first to like this

Unit11

  1. 1. = C programming By…iamch❀mmy = บทที่ 11 Switch case หน้า 1
  2. 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. 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. 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. 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. 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

×