Issuu on Google+

คำำสัง่ วนซ้ำำ (Loop) เบื้องต้น

รหัสวิชา ง 31101 รายวิชา การเขียนโปรแกรมเบือ้ งต้น

โดย ครู เอกชัย ฉิมพลอย


คำำสั่ งควบคุมทิศทำงแบบวนรอบกำรทำำงำน (LOOP)  การควบคุมทิศทางแบบวนรอบ หรื อที่เรี ยกกันว่าการทำางานแบบวนลูป

ำ าสัง่ เดิม โดยมี (loop) ก็คือ การที่เราเขียนโปรแกรมให้วนรอบทำางานซ้าคำ การกำาหนดเงื่อนไขเพื่อให้โปรแกรมวนรอบการทำางาน คำาสัง่ ในภาษา C ที่ใช้สาำ หรับควบคุมทิศทางแบบวนรอบ ได้แก่ while , do-while และ for


คำาสัง่ วนรอบการทำางาน (LOOP)


คำาสัง่ WHILE

 คำำสั่ ง while ใช้ สำำหรับเขียนโปรแกรมเพือ ่ ให้ วนลูปกำรทำำงำนเช่ นเดียวกับคำำสั่ ง for

แต่ ต่ำงกันตรงทีล่ ูป while เรำจะไม่ รู้ จำำ นวนรอบทีจ่ ะวนทำำงำนได้ โดยลูปจะทำำงำน ไปเรื่อยๆ ตรำบใดทีเ่ งือ่ นไขเป็ นจริงอยู่ จะหยุดก็ต่อเมือ่ เงือ่ นไขทีต่ ้งั ไว้ เป็ นเท็จ while(condition) { statement_1; statement_2; ......... statement_n; }


คำาสัง่ WHILE Condition

ทำำงำนตำมเงือ่ นไขของ while

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


ตัวอย่างการเขียนคำาสัง่ ลูปแบบ WHILE int count = 0; while (count <= 10) { printf(“Hello %d\n”,count); count++; }

กำำหนดค่ ำเริ่มต้ นให้ ตวั แปร count เป็ น 0 กำำหนดค่ ำเริ่มต้ นให้ ตัวแปร count เป็ น 0ใช้ ลูป while โดยกำำหนด เงือ่ นไขให้ วนทำำงำน ตรำบใดที่ค่ำของ count ยังคงน้ อยกว่ ำหรือ เท่ ำกับ 10 ในแต่ ละรอบของลูป เริ่มจำกกำรแสดงข้ อควำม Hello ออกทำงหน้ ำจอต่ อด้ วยกำรแสดงค่ำของตัวอักษร count เพิม่ ค่ ำของตัวแปร count

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


คำาสัง่ วนรอบการทำางาน (LOOP)

ตัวอย่ ำงโปรแกรมคำำสั่ ง while condition #include<stdio.h> void main { int count=0; printf(“Show number zero to ten \n”); while (count<=10) { printf(“%d ”,count); count++; } }


คำาสัง่ วนรอบการทำางาน (LOOP)

ผลลัพธ์ โปรแกรมคำำสั่ ง while condition Show number zero to ten 0 1 2 3 4 5 6 7 8 9 10


คำาสัง่ วนรอบการทำางาน (LOOP)


ตัวอย่างคำาสัง่ DO..WHILE 

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

ทำำงำนตำมเงื่อนไขของ do

จริง

Condition เท็จ


ตัวอย่างคำาสัง่ DO..WHILE num = 1; do { printf(“%d”,num); num++ } while (num <=0);

กำำหนดค่ ำเริ่มต้ นตัวแปร num เป็ น 1 ใช้ คำำ สั่ งลูป do..while ภำยในลูปให้ เริ่มทำำงำน โดยแสดงข้ อควำม num พร้ อม กับแสดงค่ ำของตัวแปร num ออกทำงหน้ ำจอ เพิม่ ค่ ำตัวแปร loop จำก 1 กลำยเป็ น 2 กำำหนดเงือ่ นไขของคำำสั่ง while โดยให้ วนกำรทำำงำน ถ้ ำค่ ำของตัวแปร num น้ อยกว่ำหรือเท่ ำกับ 0

ผลกำรทำำงำน โปรแกรมจะแสดงตัวเลข 0 ออกมำทำงหน้ ำจอเพียงตัวเดียว ซึ่งจะแสดงให้ เห็น ว่ำถึงแม้ เงือ่ นไขของ while จะไม่ เป็ นจริง แต่ กย็ งั มีกำรทำำงำนตำมคำำสั่ งของ do 1 ครั้ง


คำาสัง่ วนรอบการทำางาน (LOOP)

ตัวอย่ ำงโปรแกรมคำำสั่ ง do…while


คำาสัง่ วนรอบการทำางาน (LOOP)

ผลลัพธ์ โปรแกรมคำำสั่ ง do…while


คำสั่งวนซ้ำ (loop) เบื้องต้น