CProgramming

บทที่ 2 คำสั่งเงื่อนไข

คำสั่งเงื่อนไข (Selection) – if

คำสั่ง if เป็นคำสั่งที่ต้องมีการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจึงทำคำสั่งที่ต้องการให้ทำ ถ้าเป็นเท็จก็จะข้ามคำสั่งนั้นไป รูปแบบคำสั่งมีดังนี้

if (เงื่อนไข)
   คำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นจริง;

หรือ

if (เงื่อนไข){
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นจริง;
}

ลองบันทึกผลลัพธ์จากโปรแกรมตัวอย่างต่อไปนี้

ตัวอย่างที่ 23 ป้อนเลขครั้งที่ 1 เลขมากกว่า 80 ป้อนเลขครั้งที่ 2 เลขน้อยกว่า 80

#include<stdio.h>
int main(){
   int time;
   scanf("%d",&time);
   if(time>=80)
       printf("YourPass\n");
   printf("End Program\n");
   return 0;
}

ตัวอย่างที่ 24 ป้อนเลขครั้งที่ 1 เลขมากกว่า 80 ป้อนเลขครั้งที่ 2 เลขน้อยกว่า 80

#include<stdio.h>
int main(){
   int time;
   scanf("%d",&time);
   if(time>=80){
       printf("YourPass\n");
       printf("time = %d\n",time);
   }
   printf("End Program\n");
   return 0;
}

คำสั่งเงื่อนไข (Selection) – if…else

คำสั่ง if..else เป็นคำสั่งที่ต้องมีการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจึงทำคำสั่งที่ต้องการให้ทำ ถ้าเป็นเท็จให้ไปทำคำสั่งที่อยู่หลัง else รูปแบบคำสั่งมีดังนี้

if (เงื่อนไข)
   คำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นจริง;
else
   คำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นเท็จ;

หรือ

if (เงื่อนไข){
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นจริง;
}
else{
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นเท็จ;
}

ลองบันทึกผลลัพธ์ จากโปรแกรมตัวอย่างต่อไปนี้

ตัวอย่างที่ 25 ป้อนเลขครั้งที่ 1 เลขมากกว่า 80 ป้อนเลขครั้งที่ 2 เลขน้อยกว่า 80

#include<stdio.h>
int main(){
   int time;
   scanf("%d",&time);
   if(time>=80)
       printf("YourPass\n");
   else
       printf("NotPass\n");
   printf("End Program\n");
   return 0;
}

ตัวอย่างที่ 26 ป้อนเลขครั้งที่ 1 เลขมากกว่า 80 ป้อนเลขครั้งที่ 2 เลขน้อยกว่า 80

#include<stdio.h>
int main(){
   int time;
   scanf("%d",&time);
   if(time>=80){
       printf("YourPass\n");
       printf("time = %d\n",time);
   }else{
       printf("NotPass\n");
       printf("time = %d\n",time);
   }
   printf("End Program\n");
   return 0;
}

—–

Anyone who has never made a mistake has never tried something new.

คนที่ไม่เคยทำผิดพลาดเลย คือคนที่ไม่เคยลองทำอะไรใหม่ ๆ

อัลเบิร์ต ไอน์สไตน์

คำสั่งเงื่อนไข (Selection) – if..else if.

คำสั่ง if..else if.. เป็นคำสั่งที่ต้องมีการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจึงทำคำสั่งที่ต้องการให้ทำ ถ้าเป็นเท็จให้ไปตรวจสอบเงื่อนไขของ if ถัดไป เมื่อเป็นเท็จทุกกรณีจึงทำคำสั่งที่อยู่หลัง else รูปแบบคำสั่งมีดังนี้

if (เงื่อนไข1)
   คำสั่งที่ต้องทำ ถ้าเงื่อนไข 1 เป็นจริง;
else if (เงื่อนไข2)
   คำสั่งที่ต้องทำ ถ้าเงื่อนไข 2 เป็นจริง;
else if (เงื่อนไข n)
   คำสั่งที่ต้องทำ ถ้าเงื่อนไข n เป็นจริง;
else
   คำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นเท็จ;

หรือ

if (เงื่อนไข1){
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไข 1 เป็นจริง;
}else if (เงื่อนไข2){
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไข 2 เป็นจริง;
}else if (เงื่อนไข n){
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไข n เป็นจริง;
}else{
   กลุ่มคำสั่งที่ต้องทำ ถ้าเงื่อนไขเป็นเท็จ;
}

ลองบันทึกผลลัพธ์ จากโปรแกรมตัวอย่างต่อไปนี้

ตัวอย่างที่ 27

ป้อนเลขครั้งที่ 1 เลขมากกว่า 100

ป้อนเลขครั้งที่ 2 เลขน้อยกว่า 100

ป้อนเลขครั้งที่ 3 เลข 100

#define TARGET 100
#include<stdio.h>
int main(){
   int num;
   scanf("%d",&num);
   if(num>TARGET)
       printf("High\n");
   else if(num<TARGET)
       printf("Low\n");
   else
       printf("Correct!!!\n");
   printf("End Program\n");
   return 0;
}

คำสั่งเงื่อนไข (Selection) – switch..case

คำสั่ง switch..case เป็นคำสั่งทางเลือกรูปแบบหนึ่ง ใช้ได้กับตัวเลือกที่เป็นเลขจำนวนเต็มและอักขระเท่านั้น รูปแบบคำสั่งมีดังนี้

switch(ตัวแปร){
   case <label> : คำสั่งที่ต้องการให้ทำ;
   case <label> : คำสั่งที่ต้องการให้ทำ;
   case <label> : คำสั่งที่ต้องการให้ทำ;
   case <label> : คำสั่งที่ต้องการให้ทำ;
   default : คำสั่งที่ต้องการให้ทำ;
}

ลองบันทึกผลลัพธ์ จากโปรแกรมตัวอย่างต่อไปนี้ 

ตัวอย่างที่ 28

ป้อนเลขจำนวนเต็ม 1-5

ป้อนเลขนอกเหนือจาก 5

#include<stdio.h>
int main(){
   int day;
   scanf("%d",&day);
   switch(day){
      case 1 : printf("Monday\n");
      case 2 : printf("Tuesday\n");
      case 3 : printf("Wednesday\n");
      case 4 : printf("Thursday\n");
      case 5 : printf("Friday\n");
      default : printf("Weekend\n");
   }
   printf("End Program\n");
   return 0;
}

ตัวอย่างที่ 29

ป้อนอักขระ A, B, K, O, S

ป้อนอักขระอื่นๆ

#include<stdio.h>
int main(){
   char fruit;
   scanf("%c",&fruit);
   switch(fruit){
      case 'A' : printf("Apple\n");
      case 'B' : printf("Banana\n");
      case 'K' : printf("Kiwi\n");
      case 'O' : printf("Oragne\n");
      case 'S' : printf("Strawberry\n");
      default : printf("Other fruits\n");
   }
   printf("End Program\n");
   return 0;
}

คลิปศึกษาเพิ่มเติมสำหรับคำสั่งเงื่อนไข

หลังจากที่ได้เรียนเกี่ยวกับคำสั่งเงื่อนไขประเภทต่างๆ ในภาษาซีเรียบร้อยแล้ว หลายๆ คนอาจจะยังไม่เห็นภาพหรือเข้าใจการทำงานของคำสั่งเงื่อนไขอย่างชัดเจน เพื่อให้สามารถเข้าใจการทำงานของการเขียนโปรแกรมคำสั่งเงื่อนไขด้วยภาษาซีได้ดียิ่งขึ้น ในบททนี้จะมีคลิปสอนเกี่ยวกับคำสั่งเงื่อนไข พร้อมตัวอย่างต่างๆ

อ้างอิงจาก รศ.ดร.ประเสริฐ คณาวัฒนไชย คณะพาณิชยศาสตร์และการบัญชี จุฬาลงกรณ์มหาวิทยาลัย

——

Imagination is more important than knowledge.

Knowledge is limited. Imagination encircles the world.

จินตนาการสำคัญกว่าความรู้

เพราะความรู้นั้นมีจำกัด แต่จินตนาการมีอยู่ทุกพื้นที่บนโลก

อัลเบิร์ต ไอน์สไตน์

บทที่ 1 รับค่าแสดงผลคำนวณ (Prev Lesson)
(Next Lesson) บทที่ 3 คำสั่งทำซ้ำ
Back to CProgramming

No Comments

Give a comment