C++ Switch Case Statement พร้อมตัวอย่างโปรแกรม

⚡ สรุปอย่างชาญฉลาด

คำสั่ง switch ใน C++ คำสั่ง `switch` จะเลือกบล็อกโค้ดหนึ่งบล็อกเพื่อเรียกใช้จากตัวเลือกมากมาย โดยขึ้นอยู่กับค่าของตัวแปร ในที่นี้คุณจะได้เรียนรู้วิธีการทำงานของคำสั่ง `switch` ไวยากรณ์ คำสั่ง `break` และตัวอย่างต่างๆ

  • 🔀 มันคืออะไร: คำสั่ง switch จะเลือกกรณีใดกรณีหนึ่งที่จะทำงานโดยพิจารณาจากค่าของตัวแปร
  • 🧾 ไวยากรณ์: switch(expr) พร้อมป้ายกำกับเคส, break และค่าเริ่มต้นที่เป็นตัวเลือก
  • ⏹️ หยุดพัก: คำสั่ง break จะหยุดการดำเนินการไม่ให้ส่งต่อไปยังเคสถัดไป
  • 🎯 ควรใช้เมื่อใด: ใช้เพื่อแทนที่คำสั่ง if-else ที่ยาวเหยียดซึ่งใช้กับตัวแปรเดียว
  • 🤖 ความช่วยเหลือจาก AI: เครื่องมือ AI เช่น GitHub Copilot สามารถเขียนและตรวจสอบคำสั่ง switch ได้

C++ สลับคำชี้แจง

สวิตช์คืออะไร?

คำสั่ง switch ช่วยในการทดสอบความเท่าเทียมกันของตัวแปรกับชุดของค่า แต่ละค่าที่เปรียบเทียบเรียกว่ากรณี

ดูสวิตช์เป็นคำสั่งแยกสาขาแบบหลายทาง คุณสามารถเปลี่ยนการดำเนินการของโปรแกรมไปยังส่วนต่างๆ ได้ตามค่าของนิพจน์

ควรใช้สวิตช์เมื่อใด?

สวิตช์จะคล้ายกับบันได if…else…if อย่างไรก็ตาม มันสร้างโค้ดที่สะอาดตาและเข้าใจง่าย สวิตช์ยังเร็วกว่าเมื่อเทียบกับบันได if…else…if ใช้คำสั่ง switch เมื่อคุณต้องการเปรียบเทียบค่าของตัวแปรกับชุดของค่าอื่นๆ

คำหลักแบ่ง

คีย์เวิร์ดแบ่งถูกใช้ภายในคำสั่ง switch ป้องกันไม่ให้โค้ดทำงานในกรณีถัดไป มันยุติลำดับคำสั่ง

เมื่อราคาของ C++ คอมไพลเลอร์พบคีย์เวิร์ดตัวแบ่ง การดำเนินการของสวิตช์สิ้นสุดลง และการควบคุมข้ามไปยังบรรทัดที่อยู่หลังคำสั่ง switch การใช้คำสั่งแบ่งในสวิตช์เป็นทางเลือก หากไม่ได้ใช้ การดำเนินการจะดำเนินต่อไปในกรณีถัดไป

วากยสัมพันธ์

นี่คือไวยากรณ์สำหรับคำสั่ง switch:

switch (variable)
{
    case 1: 
        break;
    case 2: 
        break;
    default: 
}	

พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง:

  • ตัวแปร: นี่คือตัวแปรที่จะทำการเปรียบเทียบ
  • กรณี: มีคำสั่ง case มากมาย โดยแต่ละคำสั่งจะเปรียบเทียบตัวแปรกับค่าที่แตกต่างกัน
  • หยุดพัก: คีย์เวิร์ดนี้ป้องกันไม่ให้ดำเนินการต่อไปยังคำสั่ง case ถัดไป
  • ค่าเริ่มต้น: นี่เป็นทางเลือก มันระบุสิ่งที่ควรทำ ค่าของตัวแปรไม่ตรงกับกรณีใดๆ

ตัวอย่างโปรแกรม Switch Case 1

#include<iostream> 
using namespace std;
int main()
{
	int x = 20;
	switch (x)
	{
	case 10: 
		cout<<"X is 10"; break;

	case 20: 
		cout << "X is 20"; break;

	case 30: 
		cout << "X is 30"; break;

	default: 
		cout<<"X is not 10, 20 or 30"; break;

	}
	return 0;
}

Output:

โปรแกรมสวิตช์เคส

นี่คือภาพหน้าจอของรหัส:

โปรแกรมสวิตช์เคส

Code คำอธิบาย:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและ ฟังก์ชั่น โดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม
  4. { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  5. ประกาศตัวแปร x และกำหนดค่าเริ่มต้นเป็น 20
  6. การใช้คำสั่ง switch และส่งผ่านอาร์กิวเมนต์ x ไปให้ หมายความว่าเราต้องเปรียบเทียบค่าของตัวแปร x กับชุดของค่าอื่นๆ
  7. { ทำเครื่องหมายจุดเริ่มต้นของตัวสวิตช์
  8. การเปรียบเทียบค่าของตัวแปร x กับค่า 10
  9. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 10 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  10. การเปรียบเทียบค่าของตัวแปร x กับค่า 20
  11. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 20 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  12. การเปรียบเทียบค่าของตัวแปร x กับค่า 30
  13. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 30 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  14. ค่าดีฟอลต์ช่วยให้เราระบุได้ว่าต้องทำอะไรหากค่าของตัวแปร x ไม่ใช่ 10, 20 หรือ 30
  15. คำสั่งที่จะดำเนินการหากกรณีข้างต้นไม่เป็นความจริง นั่นคือ ถ้า x ไม่ใช่ 10, 20 หรือ 30
  16. ส่วนท้ายของคำสั่ง switch
  17. ฟังก์ชัน main() ควรคืนค่าหากโปรแกรมทำงานได้ดี
  18. ส่วนท้ายของฟังก์ชัน main()

ตรวจสอบบทความของเราเกี่ยวกับความแตกต่างระหว่าง C และ C++:- คลิกที่นี่

ตัวอย่างโปรแกรม Switch Case 2

#include <iostream>  
using namespace std;
int main() {
	int choice;
	cout << "Enter 1, 2 or 3: ";
	cin >> choice;
	switch (choice)
	{
	case 1: 
		cout << "Choice 1"; break;
	case 2: 
		cout << "Choice 2"; break;
	case 3: 
		cout << "Choice 3"; break;
	default: 
		cout << "Not 1, 2 or 3"; break;
	}
}

Output:

โปรแกรมสวิตช์เคส

นี่คือภาพหน้าจอของรหัส:

โปรแกรมสวิตช์เคส

Code คำอธิบาย:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและฟังก์ชันโดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  4. การประกาศตัวแปรจำนวนเต็มชื่อตัวเลือก
  5. พิมพ์ข้อความบางส่วนบนคอนโซล
  6. แจ้งให้ผู้ใช้ป้อนค่าที่ต้องการ
  7. การใช้คำสั่ง switch และส่งตัวเลือกอาร์กิวเมนต์ไปให้ หมายความว่าเราจำเป็นต้องเปรียบเทียบค่าของตัวเลือกตัวแปรกับชุดของค่าอื่นๆ
  8. { ทำเครื่องหมายจุดเริ่มต้นของตัวสวิตช์
  9. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 1
  10. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 10 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  11. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 2
  12. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 2 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  13. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 3
  14. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 3 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  15. ค่าดีฟอลต์ช่วยให้เราระบุได้ว่าต้องทำอะไรหากค่าของตัวเลือกตัวแปรไม่ใช่ 1, 2 หรือ 3
  16. ข้อความที่จะดำเนินการหากกรณีข้างต้นไม่เป็นความจริง นั่นคือ ถ้าตัวเลือกไม่ใช่ 1, 2 หรือ 3
  17. ส่วนท้ายของคำสั่ง switch
  18. ส่วนท้ายของฟังก์ชัน main()

คำถามที่พบบ่อย

คำสั่ง switch จะเลือกบล็อกโค้ดหนึ่งบล็อกเพื่อเรียกใช้จากหลายกรณี โดยขึ้นอยู่กับค่าของตัวแปรหรือนิพจน์เพียงตัวเดียว

ไวยากรณ์ใช้ switch(expression) ร่วมกับป้ายกำกับกรณีอย่างน้อยหนึ่งรายการ มี break หลังแต่ละกรณี และมีกรณีเริ่มต้น (default) ที่เป็นทางเลือกสำหรับค่าที่ไม่ตรงกัน

คำสั่ง `break` จะยุติการทำงานของ switch และหยุดการทำงานไม่ให้ส่งต่อไปยัง case ถัดไป หากไม่มีคำสั่งนี้ case ที่ตามมาก็จะทำงานต่อไปด้วย

ใช้คำสั่ง switch เมื่อเปรียบเทียบตัวแปรหนึ่งตัวกับค่าคงที่หลายค่า เพราะมันชัดเจนกว่าการใช้คำสั่ง if-else ที่ยาวต่อเนื่องกัน

คำสั่ง switch จะทดสอบตัวแปรหนึ่งตัวกับค่าคงที่ ในขณะที่คำสั่ง if-else สามารถทดสอบช่วงค่าและเงื่อนไขที่ซับซ้อนได้ คำสั่ง switch มักจะดูเรียบร้อยกว่าสำหรับกรณีที่มีตัวเลือกคงที่จำนวนมาก

กรณีเริ่มต้นจะทำงานเมื่อไม่มีกรณีใดตรงกับนิพจน์ ส่วนนี้เป็นตัวเลือกเสริมและมักจะวางไว้ท้ายสุดเพื่อจัดการกับค่าที่ไม่คาดคิด

ผู้ช่วย AI อย่าง GitHub Copilot สร้างคำสั่ง switch จากความคิดเห็น เพิ่มคำสั่ง break ที่ขาดหายไป และแปลงชุดคำสั่ง if-else ที่ยาวให้เป็นคำสั่ง switch

ใช่แล้ว เครื่องมือที่ขับเคลื่อนด้วย AI จะตรวจจับคำสั่ง break ที่หายไป กรณีที่ไม่สามารถเข้าถึงได้ และกรณี default ที่ไม่มีอยู่ ช่วยเหลือได้ping ธุรกิจ C++ ตรรกะการสลับทำงานอย่างถูกต้อง

สรุปโพสต์นี้ด้วย: