0Pricing
C++ Academy · บทเรียน

รูปแบบลูป: for, while, do-while

วนซ้ำด้วยลูปคลาสสิกทั้งสามรูปแบบ และเลือกใช้ให้เหมาะกับสถานการณ์

รูปแบบลูป: for, while, do-while เป็นบทเรียน C++ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C++ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

ลูป for

ลูปแบบใช้ดัชนีที่เป็นรูปแบบคลาสสิก ใช้เมื่อทราบจำนวนรอบที่ต้องการแน่นอน

for (int i = 0; i < 10; ++i) {
    std::cout << i << " ";
}

โครงสร้างของลูป for

ประกอบด้วยสามส่วนคั่นด้วยเครื่องหมายอัฒภาค:

  • การเริ่มต้น — ทำงานหนึ่งครั้งก่อนเริ่มลูป
  • เงื่อนไข — ตรวจสอบก่อนการทำงานแต่ละรอบ
  • การอัปเดต — ทำงานหลังการทำงานแต่ละรอบ

ส่วนใด ๆ สามารถเว้นว่างได้

การนับถอยหลัง

ลดค่าลงเพื่อวนซ้ำในลำดับย้อนกลับ โปรดตรวจสอบขอบเขตอย่างรอบคอบ

for (int i = 9; i >= 0; --i) {
    std::cout << i << " ";
}

ลูป while

วนซ้ำตราบใดที่เงื่อนไขเป็นจริง ใช้เมื่อจำนวนรอบขึ้นอยู่กับสถานะขณะทำงาน

int n = 100;
while (n > 1) {
    std::cout << n << " ";
    n /= 2;
}

ลูป do-while

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

int n;
do {
    std::cout << "Enter 1-9: ";
    std::cin >> n;
} while (n < 1 || n > 9);

ลูปไม่สิ้นสุด

บางครั้งคุณอาจต้องการลูปที่ทำงานจนกว่าจะพบ break รูปแบบที่ใช้กันตามธรรมเนียมคือ:

for (;;) { /* ... */ }      // C-style
while (true) { /* ... */ }   // arguably clearer

break: ออกจากลูปก่อนกำหนด

break จะหยุดลูปชั้นในสุดหรือ switch ทันที

for (int i = 0; i < n; ++i) {
    if (a[i] == target) {
        index = i;
        break;
    }
}

continue: ข้ามไปยังรอบถัดไป

continue จะข้ามไปยังรอบถัดไปโดยไม่ทำงานส่วนที่เหลือของบล็อกคำสั่ง

for (int i = 1; i <= 100; ++i) {
    if (i % 2 == 0) continue;
    std::cout << i << " ";  // print odd numbers
}

ลูปที่ซ้อนกัน

ลูปสามารถซ้อนกันได้ แต่ break ของลูปชั้นในจะออกจากลูปชั้นในเท่านั้น หากต้องการความชัดเจน ให้ใช้ตัวแปรสถานะหรือแยกโค้ดออกเป็นฟังก์ชัน

การเลือกลูปที่เหมาะสม

แนวทางอย่างรวดเร็ว:

  • ทราบจำนวนรอบ → for
  • ทำงานจนกว่าเงื่อนไขจะเปลี่ยน → while
  • ต้องทำงานอย่างน้อยหนึ่งครั้ง → do-while
  • วนซ้ำในคอนเทนเนอร์ → for แบบอิงช่วง (บทเรียนถัดไป)

ข้อผิดพลาดแบบคลาดหนึ่งรอบ

ข้อผิดพลาดของลูปที่พบบ่อยที่สุดคือทำงานมากเกินไปหรือน้อยเกินไปหนึ่งรอบ เมื่อใช้ดัชนีกับอาร์เรย์ ควรใช้ < ร่วมกับ size() และตรวจสอบขอบเขตด้วยการเขียนทบทวนบนกระดาษหรือการทดสอบ

ตรวจสอบอย่างรวดเร็ว

ลูปใดรับประกันว่าจะทำงานอย่างน้อยหนึ่งครั้ง

สรุปทบทวน

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

คำถามที่พบบ่อย

บทเรียน “รูปแบบลูป: for, while, do-while” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “รูปแบบลูป: for, while, do-while” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C++ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C++ Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “รูปแบบลูป: for, while, do-while”

วนซ้ำด้วยลูปคลาสสิกทั้งสามรูปแบบ และเลือกใช้ให้เหมาะกับสถานการณ์ คุณปฏิบัติ C++ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C++ Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C++ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “รูปแบบลูป: for, while, do-while” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C++ Academy นี้ได้ไหม

ได้ บทเรียน C++ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การแยกแขนง: if-else, นิพจน์สามส่วน, switch-case
  2. รูปแบบลูป: for, while, do-while
  3. ลูป for แบบอิงช่วงกับคอนเทนเนอร์
  4. การคืนค่าก่อนกำหนด break continue และ goto
← กลับไปที่ C++ Academy