2. ข้อความสั่ง if-else
2. ข้อความสั่ง if-else
ข้อความสั่ง if-else เป็นข้อความสั่งที่ให้ตรวจสอบผลลัพธ์จากนิพจน์ ถ้าผลลัพธ์เป็นจริงให้ทำงานตามข้อความสั่งที่อยู่ภายในข้อความสั่ง if หากผลลัพธ์เป็นเท็จ จะกระทำการข้อความสั่งที่อยู่ภายใน else
ข้อความสั่ง if-else รูปแบบที่ 1
if(นิพจน์) //ทำเมื่อ...เป็นจริง
ข้อความสั่ง A;
else //เมื่อ...เป็นเท็จ
ข้อความสั่ง B;
ข้อความสั่ง if ที่จะถูกกระทำการมีเพียงข้อความสั่งเดียว
ถ้านิพจน์เป็นจริง จะกระทำการข้อความสั่ง A
แต่ถ้านิพจน์เป็นเท็จ จะกระทำการข้อความสั่ง B
ข้อความสั่ง A หรือ B เพียงข้อความสั่งเดียวเท่านั้นที่จะถูกกระทำ เมื่อนิพจน์เป็นจริงหรือเท็จ
ตัวอย่าง 3.5 การใช้ข้อความสั่ง if-else
#include <stdio.h>
int main()
{
int x, y;
scanf("%d %d",&x, &y);
if(x > y) {
printf("x is greater than y");
} else {
printf("x is less than or equal to y");
}
}
ตัวอย่าง 3.6 การใช้ข้อความสั่ง if-else เพื่อตรวจสอบว่าตัวเลขเป็นจำนวนคู่หรือคี่
#include <stdio.h>
int main()
{
int n;
printf("กรอกตัวเลข : ");
scanf("%d", &n);
if (n % 2 == 0) {
printf("%d เป็นเลขคู่\n", n);
} else {
printf("%d เป็นเลขคี่\n", n);
}
}
ข้อความสั่ง if-else รูปแบบที่ 2
if(นิพจน์)
ข้อความสั่ง A;
if(นิพจน์)
{
ข้อความสั่ง 1;
ข้อความสั่ง 2;
…
ข้อความสั่ง n;
}
else
{
ข้อความสั่ง n+1;
ข้อความสั่ง n+2;
…
ข้อความสั่ง m;
}
ข้อความสั่งที่จะถูกกระทำมีมากกว่า 1 ข้อความสั่ง เมื่อนิพจน์เป็นจริง กลุ่มของข้อความสั่งที่ถูกกระทำต้องอยู่ภายในเครื่องหมายปีกกา หรือกรณีข้อความสั่งที่จะถูกกระทำมีมากกว่า 1 ข้อความสั่ง เมื่อนิพจน์เป็นเท็จ กลุ่มของข้อความสั่งที่จะถูกกระทำต้องอยู่ภายในเครื่องหมายปีกกา
ถ้านิพจน์ให้ผลลัพธ์เป็นจริง จะกระทำการข้อความสั่ง 1 ถึงข้อความสั่ง n
แต่ถ้านิพจน์เป็นเท็จ จะกระทำการข้อความสั่ง n+1 ถึงข้อความสั่ง m
ตัวอย่าง 3.7 การใช้ข้อความสั่ง if-else เพื่อคำนวณระดับคะแนน และนับจำนวนของนิสิตในแต่ละระดับคะแนน
#include <stdio.h>
int main()
{
int x, p, f;
char grade;
p = 0;
f = 0;
scanf("%d",&x);
if(x >= 50) {
grade = 'P';
p++;
} else {
grade = 'F';
f++;
}
}
ตัวอย่าง 3.8 โปรแกรมแจ้งผลการทดสอบจากคะแนนที่ป้อนเข้าไปทางคีย์บอร์ด ถ้าคะแนนมากกว่าหรือเท่ากับ 50 ซึ่งทำให้เงื่อนไขของคำสั่ง if เป็นจริง จะแสดงข้อความว่า PASS แต่ถ้าเงื่อนไขของคำสั่ง if เป็นเท็จจะแสดงข้อความว่า FAIL ปรากฏออกทางหน้าจอ
#include <stdio.h>
int main()
{
int score;
printf(“Enter Your Score = ”); // แสดงผลข้อความให้ป้อนคะแนน
scanf(“%d”,&score); // รอรับค่าคะแนนมาเก็บในตัวแปร score
if(score >= 50) // ตรวจสอบคะแนนในตัวแปร score ว่ามากกว่า หรือเท่ากับ 50 หรือไม่
printf(“Congratulation! --> PASS”); // ถ้าเงื่อนไขเป็นจริงให้แสดงข้อความนี้
else // ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะทำงานตามคำสั่งที่อยู่ถัดจากคำสั่ง else
printf(“Sorry! --> FAIL”); // กรณีที่เงื่อนไขเป็นเท็จให้แสดงข้อความนี้
}
ตัวอย่างผล Run
Enter Your Score = 75
Congratulation! --> PASS
ตัวอย่างผล Run
Enter Your Score = 39
Sorry! --> FAIL
ตัวอย่าง 3.9 โปรแกรมคำนวณค่าบัตรผ่านประตูเข้าชมพิพิธภัณฑ์ โดยพิจารณาจากส่วนสูงของ ผู้เข้าชม
ตามเงื่อนไขดังนี้
1. ถ้าส่วนสูงน้อยกว่าหรือเท่ากับ 130 เซนติเมตร คิดค่าบัตรผ่านประตู 50 บาท
2. ถ้าส่วนสูงมากกว่า 130 เซนติเมตรขึ้นไป คิดค่าบัตรผ่านประตู 100 บาท
#include <stdio.h>
int main()
{
int height;
printf(“Enter Your height = ”); // แสดงผลข้อความให้ป้อนส่วนสูงเข้ามา
scanf(“%d”,&height); // รอรับตัวเลขมาเก็บในตัวแปร height
if(height <= 130) // กำหนดเงื่อนไข ถ้าค่าของตัวแปร height น้อยกว่า หรือเท่ากับ 130
printf(“Ticket = 50 Bath”); // ถ้าเงื่อนไขเป็นจริงให้แสดงข้อความนี้ else
else // ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะทำงานตามคำสั่งที่อยู่ถัดจากคำสั่ง
printf(“Ticket = 100 Bath”); // ถ้าเงื่อนไขเป็นเท็จให้แสดงข้อความนี้
}
ตัวอย่างผล Run
Enter Your height = 110 Ticket = 50 Bath
ตัวอย่างผล Run
Enter Your height = 170
Ticket = 100 Bath
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา