4. ข้อความสั่ง switch
4. ข้อความสั่ง switch
ข้อความสั่ง switch เป็นข้อความสั่งที่ให้เลือกทำข้อความสั่ง หรือกลุ่มข้อความสั่งใด ๆ โดยพิจารณาจากค่าของนิพจน์ ถ้าค่าของนิพจน์มีค่าเท่ากับค่าใด ก็จะเริ่มกระทำการข้อความสั่งที่อยู่หลังคำหลัก case และกระทำการข้อความสั่งอื่นที่ตามมาทั้งหมด
switch(นิพจน์)
{
case ค่าที่ 1 : ข้อความสั่ง 11;
ข้อความสั่ง 12;
…
ข้อความสั่ง 1n;
case ค่าที่ 2 : ข้อความสั่ง 21;
ข้อความสั่ง 22;
…
ข้อความสั่ง 2m;
… …
…
case ค่าที่ j : ข้อความสั่ง j1;
ข้อความสั่ง j2;
…
ข้อความสั่ง jp;
default : ข้อความสั่ง k1;
ข้อความสั่ง k2;
…
ข้อความสั่ง kq;
โดยที่ค่าของนิพจน์จะต้องเป็นเลขจำนวนเต็มหรืออักขระเท่านั้น
ข้อความสั่ง switch จะตรวจสอบนิพจน์ แล้วนำผลไปเปรียบเทียบกับค่าที่ตามหลังคำหลัก case ถ้าเท่ากับค่าที่ตามหลังคำหลัก case ค่าใดก็จะกระทำการที่ข้อความสั่งนั้น จากนั้นจะไปกระทำการที่ข้อความสั่งถัดไปทุกข้อความสั่งที่ตามมา ในกรณีที่ผลลัพธ์ของนิพจน์ไม่ตรงกับค่าที่ตามหลังคำหลัก case จะไปกระทำการที่ข้อความสั่งที่อยู่หลัง default
ผลลัพธ์ของนิพจน์ ต้องเป็นชนิด long, int, หรือ char อย่างใดอย่างหนึ่งเท่านั้น
ตัวอย่าง 3.12 การใช้ข้อความสั่ง switch โดยรับค่าจากแป้นพิมพ์ แล้วนำมาตรวจสอบว่า เป็นเลขคู่ หรือเลขคี่
#include <stdio.h> // 1
int main() // 2
{
int value; // 3
scanf("%d",&value); // 4
switch (value % 2) // 5
{
case 0 : // 6
printf("Even integer\n"); // 7
case 1 : // 8
printf("Odd integer\n"); // 9
}
}
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา