การควบคุมทิศทางแบบวนรอบ หรือที่เรียกว่าการทำงานแบบวนลูป (Loop) นั้นคือการที่เราเขียนโปรแกรมให้วนรอบทำงานซ้ำคำสั่งเดิม โดยมีการกำหนดเงื่อนไขเพื่อให้โปรแกรมวนรอบทำงาน คำสั่งในภาษา C ที่ใช้สำหรับควบคุมการวนรอบคือ while, do-while และ for ซึ่งมีรายละเอียดดังนี้
คำสั่ง while
การทำซ้ำด้วยคำสั่ง while เป็นคำสั่งทำซ้ำแบบหนึ่งในภาษา C ที่นิยมใช้ในกรณีที่ใช้ตรวจสอบเงื่อนไขว่าเป็นจริงก็จะทำซ้ำ แต่ถ้าเงื่อนไขเป็นเท็จก็จะหลุดออกจาการทำซ้ำ ซึ่งเงื่อนไขที่ตรวจสอบนี้อาจจะใช้ในกรณีที่รู้จำนวนรอบแน่นอน เช่น ตั้งแต่ X=1 ถึง X=10 หรือไม่รู้จำนวนรอบแน่นอน เช่น ทำซ้ำในขณะที่ตัวแปร X = ‘y’ ลักษณะเด่นอย่างหนึ่งของคำสั่ง while คือ จะตรวจสอบเงื่อนไขก่อนว่าเป็นจริงหรือเท็จ ซึ่งในการตรวจสอบครั้งแรก ถ้าเงื่อนไขตรวจสอบเป็นเท็จ ก็จะไม่เข้าไปกระทำในวนรอบของการทำซ้ำเลยก็ได้ แต่ในทำนองเดียวกัน ถ้าตัวตรวจสอบเงื่อนไขเป็นจริงตลอด ก็จะทำซ้ำไปไม่สิ้นสุดก็ได้ ซึ่งผู้เขียนโปรแกรมจะต้องระมัดระวัง จะต้องเขียนโปรแกรมให้มีโอกาสออกจากการวนรอบทำซ้ำให้ได้
รูปแบบการเขียน
While( เงื่อนไข )
{
คำสั่ง 1 ;
คำสั่ง 2 ;
คำสั่งเพิ่มค่าหรือลดค่า ;
}
ตัวอย่าง
#include <stdio.h>
#include <conio.h>
int main()
{
int x=1;
while(x<=5)
{
printf(“%d \n”,x);
x++;
}
getch();
}
คำสั่ง do – while
คำสั่ง do -while เป็นอีกรูปแบบหนึ่งของคำสั่งที่ใช้ควบคุมโปรแกรม โดยให้โปรแกรมจะตรวจสอบเงื่อนไข หลังจากมีการเข้าไปทำในวงรอบ ของการทำซ้ำแล้วอย่างน้อย 1 รอบ ถ้าเงื่อนไขเป็นจริงก็จะโปรแกรมซ้ำอีกต่อไป จนกระทั่งเงื่อนไขที่เปรียบเทียบนั้นเป็นเท็จ จึงหยุดการทำซ้ำ โดยมีรูปแบบดังนี้
รูปแบบคำสั่ง for
Do
{ คำสั่งที่ 1 ;
คำสั่งที่ 2 ;
คำสั่งเพิ่มค่าหรือลดค่า ;
}
while( เงื่อนไข );
ตัวอย่าง
#include <stdio.h>
#include <conio.h>
int main()
{
int x=1;
do
{
printf(“%d \n”,x);
x++;
}
while(x<5);
getch();
}
คำสั่ง for
นิยมใช้กับการทำซ้ำที่รู้จำนวนรอบของการทำซ้ำว่าต้องการทำซ้ำกี่รอบ คือตั้งแต่ค่าอะไร ถึง ค่าอะไร โดยมีรูปแบบคำสั่งดังนี้
รูปแบบคำสั่ง for
For( ค่าตั้งต้น ; เงื่อนไข ; การเพิ่มค่าหรือลดค่า )
{
คำสั่งที่ 1 ;
}
ตัวอย่าง
#include <stdio.h>
#include <conio.h>
main()
{
int i;
for(i= 1;i< 10;i++)
printf(” %d”,i);
getch();
}
แบบฝึกหัด
ให้นักเรียนใช้คำสั่ง for เพื่อให้โปรแกรมแสดงผลดังภาพ
