ความหมาย
If-else statement จัดการทั้งกรณีเงื่อนไขจริง (true) และเท็จ (false) - true block ทำงานเมื่อ condition จริง, false/else block ทำงานเมื่อ condition เท็จ
Syntax
if (condition) {
// true block statements
} else {
// false block statements
}การทำงาน
- Condition จริง -> เข้า true block -> ทำงาน -> ออกจาก if-else
- Condition เท็จ -> เข้า else block -> ทำงาน -> ออกจาก if-else
- มีเพียง block เดียวที่ทำงาน (mutually exclusive)
ตัวอย่างโปรแกรม: ตรวจสอบเลขคู่/คี่
#include <stdio.h>
int main() {
int a;
printf("ป้อนค่า a: ");
scanf("%d", &a);
if (a % 2 == 1) {
printf("a เป็นเลขคี่\\n");
} else {
printf("a เป็นเลขคู่\\n");
}
return 0;
}ผลลัพธ์
Run 1: ป้อนค่า a: 26 a เป็นเลขคู่ Run 2: ป้อนค่า a: 53 a เป็นเลขคี่
If vs If-Else
| คุณสมบัติ | Simple If | If-Else |
|---|---|---|
| จัดการ False case | ไม่ทำ (ข้ามไป) | ทำ else block |
| Mutually exclusive | ไม่เกี่ยวข้อง | ใช่ (เลือก 1 ใน 2) |
| ใช้เมื่อ | ทำงานเฉพาะกรณีจริง | มี 2 ทางเลือกชัดเจน |
ตัวอย่างเพิ่มเติม: ตรวจสอบอายุเลือกตั้ง
#include <stdio.h>
int main() {
int age;
printf("ป้อนอายุ: ");
scanf("%d", &age);
if (age >= 18) {
printf("มีสิทธิเลือกตั้ง\\n");
} else {
printf("ยังไม่มีสิทธิเลือกตั้ง (ต้องอายุ 18 ขึ้นไป)\\n");
printf("อีก %d ปีจะมีสิทธิ\\n", 18 - age);
}
return 0;
}Best Practices
- ใช้ braces {} เสมอ แม้ single statement
- Indent ให้ถูกต้อง เพื่ออ่านง่าย
- Condition ควรเป็น positive logic (if (age >= 18) ดีกว่า if (!(age < 18)))
- หลีกเลี่ยง deep nesting ด้วย early return หรือ else-if ladder