Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Do-While Loop เทียบกับ While Loop ใน C/C++

นี่คือความแตกต่างพื้นฐานของ do-while loop และ while loop ใน C หรือ C++

While loop ใน C ทำซ้ำคำสั่งเป้าหมายตราบใดที่เงื่อนไขเป็นจริง ไวยากรณ์:

while(condition) {
  statement(s);
}

statement(s) อาจเป็นคำสั่งเดียวหรือบล็อก condition เป็นนิพจน์ใดๆ true คือค่าไม่เป็นศูนย์ ลูปทำซ้ำขณะ condition จริง เมื่อ condition เท็จ ควบคุมโปรแกรมไปบรรทัดถัดไปหลังลูป

ตัวอย่าง While Loop

#include <stdio.h>
int main() {
  int a = 10;
  while (a < 20) {
    printf("value of a: %d\n", a);
    a++;
  }
  return 0;
}

ผลลัพธ์

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Do-While Loop ต่างจาก for และ while ที่ตรวจสอบเงื่อนไขที่ด้านบน do-while ตรวจสอบที่ด้านล่าง

Do-while loop คล้าย while loop แต่ do-while รับประกันว่ารันอย่างน้อย 1 ครั้ง

do {
  statement(s);
} while(condition);

เงื่อนไขอยู่ท้ายลูป ดังนั้นคำสั่งในลูปรัน 1 ครั้งก่อนทดสอบเงื่อนไข ถ้าเงื่อนไขจริง ควบคุมกระโดดกลับไป do รันอีก ทำซ้ำจนเงื่อนไขเท็จ

ตัวอย่าง Do-While Loop

#include <stdio.h>
int main() {
  int a = 10;
  do {
    printf("value of a: %d\n", a);
    a = a + 1;
  } while (a < 20);
  return 0;
}

ผลลัพธ์

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19

สรุปความแตกต่างในตาราง:

While Loop Do-While Loop
Entry controlled loop ตรวจสอบเงื่อนไขก่อนเข้า loop Exit control loop ตรวจสอบเงื่อนไขเมื่อออกจาก loop
While loop อาจรัน 0 หรือมากกว่า ครั้ง Do-While รันมากกว่า 1 ครั้ง แต่น้อยที่สุด 1 ครั้ง
ตัวแปรเงื่อนไขต้อง initialize ก่อนเข้า loop ตัวแปรเงื่อนไขอาจ initialize ใน loop ได้
while(condition){
  //statement
}
do{
  //statement
}while(condition);