Issuu on Google+

บทที่ 4 การเลือกทําตามเงื่อนไข 4.1 คําสั่งเลือกแบบทางเดียว (if) การเลือกแบบทางเดียวเพื่อจะตรวจสอบวาชุดคําสั่งที่ตามมาจะทําหรือไม ในภาษาซีจะใชคําสั่ง if ใน การทํางานของคําสั่งคอมพิวเตอรจะตรวจสอบเงื่อนไขกอน ถาเงื่อนไขเปนจริงจะทําคําสั่งหรือสเตตเมนตที่ ตามหลังหรือเปนสเตตเมนตรวมที่อยูในเครื่องหมาย { } แตถาเงื่อนไขเปนเท็จคอมพิวเตอรจะทําคําสั่งหรือส เตตเมนตตอไป รูปแบบของคําสั่งเปนดังนี้ รูปแบบ : if (condition) {action statement} โดยการตรวจสอบเงื่อนไข จะเปนการกระทําแบบบูลีน ผลลัพธที่ไดจะเปนจริงหรือเท็จเทานั้น ถาหาก มีการใชตัวดําเนินการจะใชตัวดําเนินการบูลีน สําหรับการทํางานของคําสั่ง if สามารถเขียนเปนผังงานไดดังนี้

4.2 คําสั่งเลือกทําอยางใดอยางหนึ่ง (if-else) จากคําสั่ง if ที่ผานมาจะใชในการเขียนโปรแกรมที่ใชทดสอบวาจะเลือกทําหรือไม ถาเงื่อนไขเปนจริง จะทําคําสั่งหรือสเตตเมนตหลัง if ในกรณีที่คอมพิวเตอรตองเลือกทําอยางใดอยางหนึ่ง โดยตรวจสอบเงื่อนไขที่ กําหนดจะใชคําสั่ง if-else โดยถาเงื่อนไขเปนจริงจะทําคําสั่งหลัง if แตถาเงื่อนไขเปนเท็จจะทําคําสั่งหลัง else โดยนิพจนที่ตามหลัง if จะเปนขอมูลทางตรรก รูปแบบคําสั่งเปนดังนี้


รูปแบบ : if (condition) {statement 1} else {statement 2} การทํางานของคําสั่งนี้สามารถเขียนเปนผังงานไดดังตอไปนี้

4.3 การเลือกทําแบบ switch การเขียนโปรแกรมที่ตองมีการเลือกทําหลายทางเลือกเราสามารถนําประโยคคําสั่ง if-else มาซอนกัน ได แตถาเงื่อนไขที่ตองตัดสินใจขึ้นอยูกับตัวแปรตัวเดียวเราสามารถใชคําสั่ง switch..case แทนได ตัวอยางเชน ถาเขียนโปรแกรมเปนสัญลักษณเมนูดังตอไปนี้


และใหผูใชโปรแกรมเลือกวิธีการคํานวณเขาไปโดยปอนคาอินพุตเขาไป เราสามารถเขียนโปรแกรม โดยนําคาอินพุตที่รับเขาไปเก็บไวในตัวแปรตัวหนึ่ง และใชคําสั่ง switch เลือกวามีคาเทากับคาใด (1ม2ม3ม4) จากนั้นใหไปทํางานตามที่เลือก ประโยคคําสั่ง switch..case มีรูปแบบดังนี้ รูปแบบ : switch (variable) { case constant_1 : statement; break; case constant_2 : statement; break; case constant_3 : statement; break; ............................... ................. case constant_n : statement; break; default : statement } คําสั่ง switch นี้จะนําคาใน variable มาตรวจสอบวาเทากับคาคงที่คาใดหลัง case จากนั้นโปรแกรม จะไปทําสเตตเมนตหลังคาคงที่ตัวนั้น และออกจาก switch เมื่อถึงคําสั่ง break แตถาไมเทาคากับคาคงที่คาใด เลย โปรแกรมจะไปทําสเตตเมนตหลัง default สําหรับคาที่ใชตรวจสอบจะเปนตัวแปร นิพจน หรือฟงกชันก็ ได สําหรับในแตละ case สามารถมีคําสั่งไดมากกวาหนึ่งคําสั่งหรืออาจไมมีก็ได โดยถาไมมีคําสั่งโปรแกรมจะ ไปทํางานใน case ถัดไป และคาคงที่หลัง case จะตองเปน int หรือ char เทานั้น สําหรับตัวแปรเลือกทําที่อยูตามหลัง switch จะตองเปนตัวแปรประเภทลําดับ ซึ่งจะทําใหคอมพิวเตอร สามารถเดาคาได และคาคงที่ตองเปนตัวโปรแกรมประเภทเดียวกับตัวแปรที่ตามหลัง switch การทํางานของ คําสั่ง switch..case อาจจะเขียนเปนผังงานไดดังนี้



Com 4