Skip to content

Latest commit

 

History

History
83 lines (69 loc) · 2.61 KB

File metadata and controls

83 lines (69 loc) · 2.61 KB

การทำงานแแบบวนซ้ำ (Loop)

  • เหมือนกันทั้ง C และ C++

while

while (condition)
{
    // statements
}
  • เมื่อโปรแกรมมาถึงบรรทัด while โปรแกรมจะทำการเช็คเงื่อนไข
  • ถ้าเงื่อนไขเป็นจริง โค้ดในปีกกาจะทำงาน แล้วจึงเช็คเงื่อนไขอีกเรื่อยๆ
  • หากเงื่อนไขเป็นเท็จ โค้ดจะข้ามไปหลังปีกกาทันที

ตัวอย่าง

// ปรินท์แม่สูตรคูณแม่ 2
int i = 1;
while (i <= 12)
{
    printf("2 * %d = %d\n", i, 2 * i);
    i++; // เหมือนกับ i = i + 1;
}

do-while

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

for (init; condition; end)
{
    // statements
}
  • เมื่อโปรแกรมมาถึงบรรทัด for โปรแกรมจะทำงานส่วน init ก่อนหนึ่งครั้ง แล้วจึงเช็คเงื่อนไข
  • ถ้าเงื่อนไขเป็นจริง โค้ดส่วน statements จะรัน ตามด้วย end แล้วจึงเช็คเงื่อนไขอีกครั้ง
  • ถ้าเงื่อนไขเป็นเท็จ จะข้ามไปหลังปีกกาทันที
  • เราสามารถแปลง for loop ให้เป็น while loop ได้แบบนี้
// init
while (condition)
{
    // statements
    // end
}

ตัวอย่าง

// ปรินท์แม่สูตรคูณแม่ 2
for (int i = 1; i <= 12; i++)
    printf("2 * %d = %d\n", i, 2 * i);