การเขียน switch case ในภาษา C

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderators: mindphp, ผู้ดูแลกระดาน

Grammanano
PHP Sr. Member
PHP Sr. Member
Posts: 60
Joined: 02/12/2019 10:16 am

การเขียน switch case ในภาษา C

Post by Grammanano » 11/12/2019 5:52 pm

ในภาษา C นอกจากจะมีการใช้ if/else เพื่อการตัดสินใจแล้ว ยังมีการเขียนแบบ switch-case ซึ่งการเขียนแบบนี้จะเหมาะสำหรับการมีตัวเลือกที่ตายตัว เช่น หากตัวแปรเท่ากับ 1 ทำเคสแรก ตัวแปรเท่ากับ 2 ทำเคสสอง ต่างกับ if/else ที่การตัดสินใจโดยใช้ if/else นั้นจะสามารถกำหนดเงื่อนไขได้กว้างกว่า


บทความนี้จะพูดถึงการใช้ switch case โดยมีรูปแบบคือ

Code: Select all

switch (ตัวแปร)
{	case ค่าคงที่ : ชุดคำสั่ง;
	case ค่าคงที่ : ชุดคำสั่ง;
	.
	.
	.
	default : ชุดคำสั่ง;
มีการทำงานคือ switch จะทำการนำค่าของตัวแปรที่ส่งเข้ามาไปตรวจสอบว่าตรงกับ case ไหน แล้วจะทำตามชุดคำสั่งนั้น ๆ หากไม่ตรงกับ case ใดเลย โปรแกรมจะทำตามคำสั่งที่อยู่ใน default

ยกตัวอย่างเช่น

Code: Select all

#include<stdio.h>

int main ()
{
	int num = 3;
	
	switch (num)
	{
		case 1:	printf("one");	break;
		case 2:	printf("two");	break;
		case 3:	printf("three");	break;
		default:	printf("empty");	break;
	}
	
	return 0;
}
ผลที่ได้จะเป็น
three

เพราะกำหนดให้ตัวแปร num มีค่าเป็น 3 ซึ่งตรงกับ case 3
***หากไม่ใส่คำสั่ง break ด้านหลัง case จะทำให้โปรแกรมทำตามชุดคำสั่งที่อยู่หลัง case นั้น ๆ ทั้งหมด

ยกตัวอย่างเช่น

Code: Select all

#include<stdio.h>

int main ()
{
	int num = 2;
	
	switch (num)
	{
		case 1:	printf("one\n");	
		case 2:	printf("two\n");	
		case 3:	printf("three\n");	
		default:	printf("empty\n");	
	}
	
	return 0;
}
ผลที่ได้จะเป็น
two
three
empty

เนื่องจากไม่มี break จึงทำให้โปรแกรมทำการแสดงผลชุดคำสั่งใน case 3 แล้ว default ด้วย



บทความที่เกี่ยวข้อง
การเขียน if/else ในภาษา C

  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 65 guests