- เหมือนกันทั้ง C และ C++
while (condition)
{
// statements
}- เมื่อโปรแกรมมาถึงบรรทัด
whileโปรแกรมจะทำการเช็คเงื่อนไข - ถ้าเงื่อนไขเป็นจริง โค้ดในปีกกาจะทำงาน แล้วจึงเช็คเงื่อนไขอีกเรื่อยๆ
- หากเงื่อนไขเป็นเท็จ โค้ดจะข้ามไปหลังปีกกาทันที
ตัวอย่าง
// ปรินท์แม่สูตรคูณแม่ 2
int i = 1;
while (i <= 12)
{
printf("2 * %d = %d\n", i, 2 * i);
i++; // เหมือนกับ i = i + 1;
}do
{
// statements
}
while (condition);- คล้ายกับ
whileแต่จะทำงานก่อน แล้วค่อยเช็คเงื่อนไข - หากเงื่อนไขเป็นจริงก็จะทำซ้ำอีก แต่หากเป็นเท็จ ก็จะเลิกทำ
- วิธีนี้ โค้ดใน loop จะทำงานอย่างน้อย 1 ครั้ง
ตัวอย่าง
// loop ไปเรื่อยๆจนกว่าผู้ใช้จะใส่เลขระหว่าง 1 ถึง 10
int num;
do
{
printf("Pick number from 1 to 10: ");
scanf("%d", &num);
}
while (num < 1 || num > 10);for (init; condition; end)
{
// statements
}- เมื่อโปรแกรมมาถึงบรรทัด
forโปรแกรมจะทำงานส่วน init ก่อนหนึ่งครั้ง แล้วจึงเช็คเงื่อนไข - ถ้าเงื่อนไขเป็นจริง โค้ดส่วน statements จะรัน ตามด้วย end แล้วจึงเช็คเงื่อนไขอีกครั้ง
- ถ้าเงื่อนไขเป็นเท็จ จะข้ามไปหลังปีกกาทันที
- เราสามารถแปลง
forloop ให้เป็นwhileloop ได้แบบนี้
// init
while (condition)
{
// statements
// end
}ตัวอย่าง
// ปรินท์แม่สูตรคูณแม่ 2
for (int i = 1; i <= 12; i++)
printf("2 * %d = %d\n", i, 2 * i);