ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม คำสั่งเงื่อนไข ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่งเงื่อนไขในภาษาซี คำสั่ง if คำสั่ง if…else คำสั่ง if…else if…else คำสั่ง switch
คำสั่ง if เป็นคำสั่งที่ใช้ในกรณีที่มีทางเลือกในการกระทำทางเลือกเดียว ถ้าเงื่อนไขเป็นจริงก็ให้ทำคำสั่งที่กำหนด แต่ถ้าเงื่อนไขเป็นเท็จให้ทำคำสั่งถัดไป
รูปแบบ if (condition) { statement 1; statement 2; … statement n; }
ผังการทำงานของคำสั่ง if condition statement true false
ตัวอย่างที่ 7.1 จงเขียนโปรแกรมเพื่อรับข้อมูลจำนวนเต็มจากผู้ใช้ แล้วทำการเปรียบเทียบถ้าจำนวนที่รับมากกว่าหรือเท่ากับ 0 ให้ทำการแสดงข้อความว่า “positive number” ทางจอภาพ
1: #include <stdio.h> 4: main() 5: { 6: int a; 7: printf(“Enter integer number : “); 8: scanf(“%d”,&a); getchar(); 9: if (a >= 0) { 10: printf(“POSITIVE NUMBER \n”); } 11: }
Enter integer number : 12 POSITIVE NUMBER
คำสั่ง if…else เป็นคำสั่งที่ใช้ในกรณีทดสอบเงื่อนไขแล้วมีทางเลือก 2 ทางเลือก เป็นจริงทำอย่างหนึ่ง เป็นเท็จทำอย่างหนึ่ง
รูปแบบคำสั่ง if-else if (condition) { statement 1; } else statement 2;
ผังการทำงานของคำสั่ง if-else condition statement 2 true false statement 1
ตัวอย่างที่ 7.2 จงเขียนโปรแกรมเพื่อรับข้อมูลจำนวนเต็มจากผู้ใช้ แล้วทำการเปรียบเทียบถ้าจำนวนที่รับมากกว่าหรือเท่ากับ 0 ให้ทำการแสดงข้อความว่า “POSITIVE NUMBER” ทางจอภาพแต่ถ้าไม่จริงให้แสดงข้อความ “NEGATIVE NUMBER”
1: #include <stdio.h> 4: main() 5: { 6: int a; 7: printf(“Enter integer number : “); 8: scanf(“%d”,&a); getchar(); 9: if (a >= 0) { 10: printf(“POSITIVE NUMBER \n”); } 11: else 12: printf(“NEGATIVE NUMBER \n”); 13: }
คำสั่ง if…else if…else เป็นคำสั่งที่ใช้ในกรณีที่มีการทดสอบเงื่อนไข แล้วมีทางเลือกให้ทำคำสั่งมากกว่า 2 ทาง โดยแต่ละทางเลือก มีเงื่อนไขต่างกัน ลักษณะจะเป็นคำสั่ง else if ซ้อนกันหลายๆครั้ง โดยมีรูปแบบดังนี้
{ statement 1; } else if (condition 2) statement 2; … else if (condition n) statement n; else statement n + 1;
ตัวอย่างที่ 7.3 การใช้คำสั่ง if…else if…else จงเขียนโปรแกรม ตัดเกรด โดยรับข้อมูลเป็นจำนวนไม่เกิน 100 แล้วให้โปรแกรมคิดเกรดให้ตามเกณฑ์คือ คะแนน >= 80 เกรด 4 คะแนน >= 70 เกรด 3 คะแนน >= 60 เกรด 2 คะแนน >= 50 เกรด 1 อื่นๆ เกรด 0
1: #include <stdio.h> 4: main() 5: { int score; 6: printf(“Enter score : “); 7: scanf(“%f”,&score); getchar(); 8: if (score >= 80) 9: printf(“4”); 10: else if (score >= 70) 11: printf(“3”); 12: else if (score >= 60) 13: printf(“2”); 14: else if (score >= 50) 15: printf(“1”); 16: else 17: printf(“0”); 18: getchar(); 19: }
คำสั่ง switch เป็นคำสั่งที่ใช้ทดสอบเงื่อนไขในกรณีที่มีทางเลือกมากกว่า 2 ทางเช่นเดียวกับคำสั่ง if…else if…else มีรูปแบบดังนี้
switch (variable) { case constant 1 : statement 1; break; case constant 2 : statement 2; … default : statements; }
คำสั่ง switch โดยที่ variable หมายถึง ตัวแปรประเภท int หรือ char ที่สร้างขึ้น หรือนิพจน์ที่ให้ค่าออกมาเป็น int หรือ char constant หมายถึง ค่าคงที่ประเภท int หรือ char แต่ต้องเป็นข้อมูลประเภทเดียวกับ variable statement หมายถึงคำสั่งที่ต้องการให้ทำ จะเป็นคำสั่งเดียวหรือหลายคำสั่งก็ได้ break เป็นคำสั่งที่บอกว่าจบชุดคำสั่งใน case นั้น default เป็นกรณีที่ค่าของ variable ไม่ตรงกับ constant ใดๆ เลย
1: #include <stdio.h> 3: int main() 4: { int day; 5: printf(“Enter day number : “); 6: scanf(“%d”,&day); getchar(); 7: switch (day) 8: { 9: case 1 : 10: printf(“Sunday\n”); 11: break; 12: case 2 : 13: printf(“Monday\n”); 14: break; 15: case 3 : 16: printf(“Tuesday\n”); 17: break; 18: case 4 : 19: printf(“Wednesday\n”); 20: break; 21: case 5 : 22: printf(“Thursday\n”); 23: break; 24: case 6 : 25: printf(“Friday\n”); 26: break; 27: case 7 : 28: printf(“Saturday\n”); 29: break; 30: default : 31: printf(“Error\n”); 32: } 33: getchar(); return 0; 34: }