คำสั่งวนลูป | |
ความหมายของลูป(loop) 1.Pretest Loop ลูปประเภทนี้จะทำการตรวจสอบเงื่อนไขก่อนว่าเป็นจริง หรือเป็นเท็จถ้าเป็นจริงก็ให้เข้าไปทำคำสั่งหรือชุดคำส่งต่อไป
และเมื่อทำคำสั่งหรือชุดคำสั่งเสร็จแล้วก็จะกลับมาทำการตรวจสอบเงื่อนไขอีกครั้ง และจะทำเช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จ ก็จบการทำงานของลูป 2.post-Test loop ลูปประเภทนี้จะทำคำสั่งหรือชุดคำสั่งก่อน เมื่อเสร็จแล้วถึงจะมาตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะกลับไปทำคำสั่ง หรือ ชุดคำสั่งเดิมอีกครั้ง และจะทำจนกว่าเงื่อนไขจะเป็นเท็จเช่นเดียวกัน | |
คำสั่งวนลูปในภาษา C | |
While loopคำสั่ง While จะใช้เงื่อนไขเป็นตัวควบคุมลูป ซึ่งลูป while นี้จะเป็นลูปแบบ pretest loop ซึ่งจะทำการตรวจสอบเงื่อนไขก่อนที่จะเข้าไปทำคำสั่งในลูป ผังการทำงานและชุดคำสั่งเบื้องต้นของ while ได้แสดงในรูป | |
| |
คำสั่ง For นั้นจะเป็นลูปแบบ pretest loop ที่ใช้นิพจน์ 3 นิพจน์ นิพจน์แรกเป็นการกำหนดค่า นิพจน์ที่ 2 เป็นเงื่อนไขในการตรวจสอบตัวควบคุมลูป และส่วนที่ 3 เป็นการปรับปรุงค่าของตัวควบคุมลูป จะพบว่าในตัวของคำสั่ง for สามารถมีคำสั่งได้เพียงหนึ่งคำสั่งเท่านั้นจะต้องใช้ชุดคำสั่งแบบ compound statement และจะพบอีกว่าคำสั่ง for นั่นมีการทำงานเหมือน while แต่คำสั่ง for นั้นจะรวมการกระทำทั้งสามอย่างไว้ในบรรทัดเดียวกันเลย การเปรียบเทียบการเขียนโปรแกรมโดยใช้คำสั่ง for และคำสั่ง while โดยโจทย์มีอยู่ว่าให้รับตัวเลขทางคีย์บอร์ด 20 ตัว แล้วนำตัวเลขทั้งหมาดมารวมกัน ซึ่งจากโปรแกรมข้างต้นด้านล่างจะเห็นได้ว่า คำสั่ง for จะช่วยให้ผู้ใช้เขียนโปรแกรมได้สั้นลง | |
โปรแกรมแสดงตัวเลขที่เรียงตัวเลขจากศูนย์ถึงตัวเลขที่รับเข้ามา | |
>> ถ้าต้องการให้พิมพ์เฉพาะเลขคี่ก็สามารถทำได้ โดยการเปลี่ยนที่คำสั่ง for เป็นดังนี้ | |
ให้นักเรียนแก้ไขโค๊ตให้แสดงเฉพาะเลขคู่ ตามรูปด้านล่าง | |
การใช้คำสั่ง for ซ้อนกัน ซึ่งการใช้คำสั่ง for ซ้อนกันจะช่วยให้ในการเขียนโปรแกรมบางอย่างได้ง่ายขึ้น | |
ตัวอย่างโปรแกรมสูตรคูณ ผลลัพธ์ | |
Do…while loop คำสั่ง do…while เป็นลูปแบบ Post-Test Loop ดังที่ได้กล่าวไปแล้วในข้างต้น ว่าลูปแบบนี้จะมีคำสั่งก่อนทีจะไปทำการตรวจสอบตัวควบคุมลูป ซึ่งผังการทำงานและชุดคำสั่งเบื้องต้นได้แสดงในรูปที่ 7-10 ซึ่งในตัวของคำสั่ง do….while นั้นจะมีคำสั่งได้เพียงคำสั่งเดียว ซึ่งถ้าต้องการเขียนเป็นชุดคำสั่งจะต้องเขียนชุดคำสั่งแบบ Compound Statement จากรูปจะเห็นได้วาคำสั่ง do…while นั้นจะมีการทำคำสั่งในลูปอย่างน้อยหนึ่งครั้ง ถึงแม้จะตรวจสอบตัวควบคุมลูปแล้วเป็นเท็จก็ตาม
| |
โปรแกรมบวกตัวเลข โดยใช้คำสั่ง do…while | |
คำสั่งอื่นๆที่ใช้ในลูป ในการวนลูปนั้น บางครั้งการทำงานของลูปอาจจะทำให้ตัวควบคุมนยั้น มี่มีค่าที่นำตรวจสอบเพื่อจบการทำงานได้ หรือเมื่อพบกรณีใดกรณีหนึ่งขึ้นมา ผู้ใช้ไม่ต้องการให้ทำคำสั่งต่อไปแลกะต้องการให้ข้ามคำสั่งนั้นไปเลย เพราะฉะนั้นภาษา C จึงมีคำสั่งที่ช่วยการทำงานในลักษณะนี้ขึ้น | |
Break | |
สามารถนำมาใช้ในคำสั่งวนลูปได้เหมือนกัน เพื่อให้กระโดดออกจากลูปในกรณีต่างได้ | |
Continue | |
คำสั่งนี้จะไม่ได้กระโดดออกจากลูปเลย แต่จะกระโดดคำสั่งอื่นๆในลูปไปทำการตรวจสอบตามนิพจน์เลย | |
แสดงการใช้งานคำสั่ง Continue | |