- เหมือนกันทั้ง C และ C++
if (condition)
{
// statements
}- โค้ดในปีกกา { } จะทำงานเมื่อเงื่อนไขเป็นจริงเท่านั้น
- หากเงื่อนไขเป็นเท็จ จะข้ามไปยังโค้ดที่อยู่ถัดกับปีกกาเลย
- หากไม่ใส่ปีกกา
ifจะมีผลกับบรรทัดถัดไปเท่านั้น (ควรใส่ปีกกาตลอด)
ตัวอย่าง
int a = 11;
if (a % 2 == 1)
printf("a is odd.\n");
if (a % 3 == 0)
printf("a is divisible by 3.\n");
if (a >= 10 && a < 100)
printf("a is two digits long.\n");if (condition)
{
// statements
}
else
{
// statements
}- โค้ดในปีกกาหลัง
elseจะทำงานเมื่อโค้ดในส่วนifไม่ทำงานเท่านั้น - ถ้า
ifทำงานelseจะถูกข้ามไป - ต้องใช้คู่กับ
ifก่อนหน้า - หากไม่ใส่ปีกกา
elseจะมีผลกับบรรทัดถัดไปเท่านั้น (ควรใส่ปีกกาตลอด)
int n;
scanf("%d", &n);
if (n % 2 == 0)
printf("%d is even.", n);
else
printf("%d is odd.", n);if (condition) // 1
{
// statements
}
else if (condition) // 2
{
// statements
}
// ...
else
{
// statements
}- ใช้สำหรับเงื่อนไขที่มีความซับซ้อน โดยโปรแกรมจะคิดตามลำดับ
- หากเงื่อนไขส่วนที่ 1 เป็นจริง โค้ดส่วนที่ 1 จะทำงาน ส่วนที่ 2, 3, ... และ
elseจะไม่ทำงาน - แต่หากส่วนที่ 1 เป็นเท็จ โปรแกรมจะเช็คส่วนที่ 2 ต่อ ถ้าเป็นจริงส่วนที่ 2 จะทำงาน ข้ามส่วนอื่นไป
- หากส่วนที่ 2 เป็นเท็จอีก ก็จะเช็คส่วนที่ 3, 4, ... หากไม่มีส่วนไหนทำงานเลย ส่วน
elseจะทำงาน - ไม่จำเป็นต้องมี
elseก็ได้ หากไม่ต้องการทำอะไรทั้งสิ้น เมื่อส่วนที่ 1, 2, 3, ... เป็นเท็จทั้งหมด
ตัวอย่าง
int score;
scanf("%d", &score);
if (score >= 80)
printf("A");
else if (score >= 70)
printf("B");
else if (score >= 60)
printf("C");
else if (score >= 50)
printf("D");
else
printf("F");