คำสั่ง Switch เป็นคำสั่งที่ใช้ในการตรวจสอบเงื่อนไขที่ต่างจาก if คือ ค่าที่นำมาตรวจสอบจะต้องเป็นจำนวนเต็มเท่านั้น คำสั่ง Switch Case จะตรวจสอบค่าตัวแปร ถ้าตรงตามเงื่อนไขก็จะกระทำตามคำสั่งนั้นๆ จนกว่าจะมีคำสั่ง break Show คำสั่งทดสอบเงื่อนไขเพื่อการตัดสินใจ (Decision statements) คำสั่งทดสอบเงื่อนไขเพื่อการตัดสินใจ เป็นคำสั่งที่มีการทดสอบเงื่อนไขก่อนที่จะทำงานตามคำสั่งที่กำหนดไว้ ซึ่งได้แก่คำสั่ง if, if else, โครงสร้าง else if (หรือ nested if) และคำสั่ง switch คำสั่ง ifคำสั่ง if เป็นคำสั่งในการควบคุมการทำงานของโปรแกรมที่เป็นพื้นฐานที่สุด โดยมีการตรวจสอบเงื่อนไขเพื่อจะตัดสินว่าจะทำสิ่งที่กำหนดหรือไม่ การใช้คำสั่ง if มีรูปแบบการใช้งานดังนี้ if (เงื่อนไข) ผังงานแสดงการเลือกกระทำของประโยค if แบบ 1 ทางเลือก ตัวอย่าง#include <stdio.h> int point; main() { printf(“Enter your examination point : “); scanf(“%d”,&point); if (point>=50) printf(“You passed, Congratuation\n”); } คำสั่ง if – elseเป็นคำสั่งที่ต่างจากคำสั่ง if แบบง่ายที่ผ่านมาตรงที่คำสั่ง if แบบง่ายนั้น มีทางเลือกที่จะให้ทำอยู่เพียงทางเลือกเดียว คือ ถ้าเป็นจริงก็ทำทางเลือกนั้น แต่ถ้าเป็นเท็จก็ไม่ทำ แต่คำสั่ง if – else นี้มีทางเลือกที่ให้ทำอยู่สองทางเลือกหรือสองกรณี คือ กรณีที่ 1 ถ้าเงื่อนไขเป็นจริง ให้ทำกับสายงานหนึ่ง คือ ทำตามชุดคำสั่งที่ตามหลังเงื่อนไข (Condition) ที่ใช้ตรวจสอบ กรณีที่ 2 ถ้าเงื่อนไขเป็นเท็จ ก็ให้ทำกับอีกสายงานหนึ่ง คือ ทำตามชุดคำสั่งที่ตามหลังคำสงวน else รูปแบบคำสั่ง if – else 2 ทางเลือกดังนี้ if (เงื่อนไข) ภาพผังงานแสดงการเลือกกระทำของประโยค if – else ตัวอย่าง#include <stdio.h> int point; main() { printf(“Enter your examination point : “); scanf(“%d”,&point); if (point>=50) printf(“You passed, Congratuation\n”); else printf(“You didn’t passed, Sorry try again\n”); } คำสั่ง switch-caseการเลือกทำสายงานใดสายงานหนึ่งนั้น นอกจากการใช้คำสั่ง if เพื่อกำหนดเงื่อนไขเพื่อให้โปรแกรมเลือกที่จะทำงานสายงานใดแล้ว ในภาษาซี ยังมีคำสั่ง switch อีกคำสั่งหนึ่ง เพื่ออำนวยความสะดวกแก่ผู้เขียนโปรแกรม ในการที่นำมาใช้แทนคำสั่ง if ที่ซ้อนกันหลาย ๆ ชั้น โดยที่คำสั่ง switch จะนำค่าของตัวแปรที่อยู่หลังคำสั่ง switch มาเปรียบเทียบกับค่าที่อยู่หลัง case แต่ละคำสั่ง ถ้าตรงกัน ก็จะทำสายงานที่อยู่ใน case นั้น ๆ แต่ถ้าไม่ตรงกับ case ใด ๆ เลย จะทำหลังคำสั่ง default โดยมีรูปแบบประโยคคำสั่งดังนี้ switch (ตัวแปร) หรือ switch (ตัวแปร) ตัวอย่าง#include <stdio.h> #include <conio.h> int main() { char grade; printf(“Enter grade. (A..E) “); scanf(“%c”,&grade); printf(“\n\n\n”); switch (grade) { case ‘A’:printf(“Excellent”); break; case ‘B’:printf(“Good”); break; case ‘C’:printf(“So so”); break; case ‘D’:printf(“Fails”); break; case ‘E’:printf(“Get lost”); break; default :printf(“Invalid data”); } getch(); return 0; } แบบฝึกหัด (Exercise) 1. เขียนโปรแกรมที่ใช้รับค่าจากคีย์บอร์ด จำนวน1ครั้ง แล้วตรวจสอบเงื่อนไข ถ้าจำนวนนั้น เท่ากับ 7 ให้แสดงคำว่า Yes นอกจากนั้นให้แสดงคำว่า No อ้างอิง จินตนา ดีนาง , “โครงสร้างแบบมีทางเลือก” , http://www.krujintana.com/content/unit7.html , สืบค้นวันที่ 22 ส.ค. 59 ลัดดาวรรณ จันทวงษ์ , “คำสั่งทดสอบเงื่อนไขเพื่อการตัดสินใจ (decision statements)” , http://wmcclaguage.blogspot.in/p/4.html , สืบค้นวันที่ 22 ส.ค. 59 โรงเรียนบ้านค่าย , “การใช้คำสั่ง switch…case” , http://www.bankhai.ac.th/dev_c/switch_case.html , สืบค้นวันที่ 22 ส.ค. 59 Pornthep Sarakon , “บทที่5 เงื่อนไข(switch case)” , http://champlevelmm.blogspot.in/2014/05/5-switch-case.html , สืบค้นวันที่ 22 ส.ค. 59 คำสั่ง default ทำหน้าที่อะไรdefault หมายถึง ส่วนที่จะให้ทำงานเมื่อไม่มีค่าของตัวแปรตรงกับเงื่อนไขใดในแต่ละ case ซึ่งส่วน default นี้จะมีหรือไม่มีก็ได้ ถ้าไม่มี เมื่อเงื่อนไขที่เลือกไม่ตรงกับ case ใดก็จะออกจาก คำสั่ง switch() นี้ เพื่อทำงานต่อไป
คําสั่ง if กับคําสั่ง switch มีข้อแตกต่างกันอย่างไรการเลือกทำสายงานใดสายงานหนึ่งนั้น นอกจากการใช้คำสั่ง if เพื่อกำหนดเงื่อนไขเพื่อให้โปรแกรมเลือกที่จะทำงานสายงานใดแล้ว ในภาษาซี ยังมีคำสั่ง switch อีกคำสั่งหนึ่ง เพื่ออำนวยความสะดวกแก่ผู้เขียนโปรแกรม ในการที่นำมาใช้แทนคำสั่ง if ที่ซ้อนกันหลาย ๆ ชั้น โดยที่คำสั่ง switch จะนำค่าของตัวแปรที่อยู่หลังคำสั่ง switch มา ...
คำสั่ง for คืออะไรfor เป็นคำสั่งที่สั่งให้โปแกรมมีการทำงานซ้ำ ๆ วนลูปจนกว่าเงื่อนไขที่กำหนดไว้เป็นเท็จ จึงออกจากคำสั่ง for ไปทำคำสั่งถัดไป ควรใช้คำสั่ง for ในกรณีที่ทราบจำนวนรอบของการทำงาน
คำสั่ง if มีอะไรบ้างคำสั่ง if เป็นคำสั่งที่กำหนดการเลือกกระทำตามเงื่อนไข เมื่อเงื่อนไขเป็นจริง (True) ก็จะทำตามคำสั่ง หรือชุดคำสั่ง(Statements) แต่หากเงื่อนไขเป็นเท็จ (False) ก็จะไม่มีการทำงานใด ๆ รูปแบบคำสั่ง if (Condition) Statement ; หรือการนำเอาเครื่องหมาย { } มาช่วยในการทำงานแบบหลายคำสั่ง
|