หน้าหลัก
แนะนำรายวิชา
แบบทดสอบวัดผลสัมฤทธิ์ก่อนเรียน
บทที่ 1 ภาษาคอมพิวเตอร์
บทที่ 2 แนวคิดการโปรแกรม
บทที่ 3 ผังงาน
บทที่ 4 รหัสเทียม
บทที่ 5 โครงสร้างภาษาซี
บทที่ 6 ติดตั้งโปรแกรม Dev-c
บทที่ 7 ตัวแปรภาษาซี
บทที่ 8 ตัวดำเนินการภาษาซี
บทที่ 9แสดงผล/รับข้อมูล
บทที่10 ควบคุมการแสดงผล
บทที่ 11 การเลือกทำตามเงื่อนไข
บบทที่ 12 คำสั่งวนซ้ำ
แบบทดสอบผลสัมฤทธิ์หลังเรียน
แหล่งศึกษาเพิ่มเติม

 

  

        คำสั่ง 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 (สิ้นสุดโปรแกรม)