Computer >> Máy Tính >  >> Lập trình >> C ++

do… vòng lặp while so với vòng lặp while trong C / C ++

Ở đây chúng ta sẽ thấy sự khác biệt cơ bản của vòng lặp do-while và vòng lặp while trong C hoặc C ++.

A trong khi vòng lặp trong lập trình C lặp đi lặp lại thực hiện một câu lệnh đích miễn là một điều kiện đã cho là đúng. Cú pháp như dưới đây.

while(condition) {
   statement(s);
}

Ở đây, (các) câu lệnh có thể là một câu lệnh đơn lẻ hoặc một khối câu lệnh. Điều kiện có thể là bất kỳ biểu thức nào và true là bất kỳ giá trị nào khác. Vòng lặp lặp lại trong khi điều kiện là đúng.

Khi điều kiện trở thành sai, điều khiển chương trình sẽ chuyển đến dòng ngay sau vòng lặp.

Ví dụ

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

Đầu ra

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

Bây giờ chúng ta hãy xem vòng lặp do-while.

Không giống như các vòng lặp for và while, kiểm tra điều kiện của vòng lặp ở đầu vòng lặp, vòng lặp do ... while kiểm tra điều kiện của nó ở cuối vòng lặp.

Vòng lặp do ... while tương tự như vòng lặp while, ngoại trừ vòng lặp do ... while được đảm bảo thực thi ít nhất một lần.

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

Lưu ý rằng biểu thức điều kiện xuất hiện ở cuối vòng lặp, vì vậy (các) câu lệnh trong vòng lặp sẽ thực thi một lần trước khi điều kiện được kiểm tra.

Nếu điều kiện là đúng, luồng điều khiển sẽ nhảy ngược lên để thực hiện và (các) câu lệnh trong vòng lặp thực thi lại. Quá trình này lặp lại cho đến khi điều kiện đã cho trở thành sai.

Ví dụ

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

Đầu ra

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

Vì vậy, sự khác biệt được tóm tắt trong bảng sau -

Vòng lặp trong khi Vòng lặp Do-While
Đây là vòng lặp điều khiển mục nhập. Nó kiểm tra điều kiện trước khi tham gia vào vòng lặp Đây là vòng điều khiển thoát. Kiểm tra tình trạng khi ra khỏi vòng lặp
Vòng lặp while có thể chạy không hoặc nhiều lần Do-While có thể chạy nhiều lần nhưng ít nhất một lần.
Biến điều kiện kiểm tra phải được khởi tạo trước khi vào vòng lặp Biến cho điều kiện vòng lặp cũng có thể được khởi tạo trong vòng lặp.
while(condition){
   //statement
}
do{
   //statement
}while(condition);