คำสั่ง if...else เป็นคำสั่งที่ให้เราตัดสินใจเลือกทำอย่างใดอย่างหนึ่ง ในทางเลือก 2 ทางเลือก โดยตรวจสอบเงื่อนไขว่า เป็นจริงหรือเป็นเท็จ ถ้าเงื่อนไขเป็นจริง โปรแกรมจะทำงานในชุดคำสั่งที่อยู่ภายใต้ if แต่ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะทำงาน เช่น ถ้าฉันอ้วน ฉันจะเลือกกิน ก๋วยเตี๋ยวหรือสลัด
ในชุดคำสั่งที่อยู่ภายใต้ else ซึ่งมีรูปแบบคำสั่งคือ
รูปแบบคำสั่ง if....else สามารถเขียนเป็นผังงานได้ดังนี้
ตัวอย่าง รับข้อมูลจำนวนเต็มแล้วเก็บไว้ที่ตัวแปร โดยใช้เงื่อนไข If...else
ผลลัพธ์
ตัวอย่าง โปรแกรมหาค่ามากกว่า จากการป้อนตัวเลข 2 ค่า
อธิบายโปรแกรม
บรรทัด รหัสต้นฉบับ (Source Code) อธิบายคำสั่ง 1 #include <stdio.h> stdio.h แฟ้มส่วนหัวที่ใช้เก็บรวบรวมคำสั่งเกี่ยวกับการรับและแสดงผลข้อมูล ถูกอ่านเข้ามาเพื่อประมวลผลร่วมกับโปรแกรมนี้ 2 int main() ประกาศ main เป็นฟังก์ชันหลัก ชนิดจำนวนเต็ม 3 { เริ่มต้น block ของฟังก์ชัน main (เริ่มต้นโปรแกรม) 4 int a , b , temp ; ประกาศตัวแปร a b และ temp เป็นชนิดจำนวนเต็ม 5 printf("swap (small -> big)\n"); แสดงข้อความ "swap (small -> big)" แจ้งผู้ใช้โปรแกรม แล้วขึ้นบรรทัดใหม่ 6 printf("Input Number a : "); แสดงข้อความ "Input Number a : " เพื่อแจ้งให้ผู้ใช้โปรแกรมทราบว่า ต้องป้อนข้อมูลอะไร 7 scanf("%d" , &a); รับค่าจำนวนเต็ม จากแป้นพิมพ์ นำไปเก็บไว้ในตัวแปร a เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป 8 printf("Input Number b : "); แสดงข้อความ "Input Number b : " เพื่อแจ้งให้ผู้ใช้โปรแกรมทราบว่า ต้องป้อนข้อมูลอะไร 9 scanf("%d" , &b); รับค่าจำนวนเต็ม จากแป้นพิมพ์ นำไปเก็บไว้ในตัวแปร b เมื่อป้อนข้อมูลเสร็จแล้ว ต้องกดแป้น Enter เพื่อยืนยันข้อมูลและทำคำสั่งถัดไป 10 if (a > b) { ตรวจสอบ ค่า a มากกว่า ค่า b จริงหรือไม่ ถ้าจริง เริ่มทำคำสั่งหลังเงื่อนไข บรรทัดที่ 10 ถ้าเท็จ (ในโปรแกรมนี้ไม่มีคำสั่งกรณีเป็นเท็จ) ให้ไปทำคำสั่งบรรทัดที่ 14 (มีคำสั่งย่อยมากกว่า 1 คำสั่ง ต้องเขียนคำสั่งย่อยภายในเครื่องหมาย { } 11 temp = a; คำสั่งกำหนดค่า โดยนำค่า a ไปเก็บไว้ในตัวแปร temp 12 a = b; คำสั่งกำหนดค่า โดยนำค่า b ไปเก็บไว้ในตัวแปร a 13 b = temp; คำสั่งกำหนดค่า โดยนำค่า temp ไปเก็บไว้ในตัวแปร b 14 } สิ้นสุด block ขอบเขตของคำสั่ง if กรณีเป็นจริง 15 printf("\n%d %d" , a , b); ขึ้นบรรทัดใหม่ 1 บรรทัด แล้วแสดงข้อความ "%d %d" โดยแสดงค่า a ใน %d ตัวแรก และแสดงค่า b ใน %d ตัวที่ 2 16 return 0; คืนค่า 0 ให้ฟังก์ชัน main โปรแกรมทำงานถูกต้องสมบูรณ์ 17 } สิ้นสุด block ของฟังก์ชัน main (สิ้นสุดโปรแกรม)