Kinh nghiệm giải bài tập về vòng lặp for, while, do while

HI mọi người,e đang gặp khó khăn về việc giải bt liên quan 3 vòng lặp trên và e thấy hơi khó hiểu .Mọi ng cho e biết kinh nghiệm của anh chị khi giải bt về 3 vòng lặp trên ạ. e học IT ạ

  • for dùng cho trường hợp biết trước số lần lặp.
  • while dùng cho trường hợp không biết trước số lần lặp, kiểm tra điều kiện trước rồi chạy.
  • do-while cũng giống như while nhưng chạy rồi mới kiểm kiểm tra điều kiện, do-while sẽ chạy ít nhất 1 lần.
6 Likes

while ( condition ) { Code to execute while the condition is true }`
Cái này nó sẽ kiểm tra điều kiện TRƯỚC KHI chạy vòng lặp lần đầu tiên.
Nếu không thoả điều kiện thì nghỉ, khoẻ.

do{ làm cái gì đó } while( condition )
Cái này, nó sẽ kiểm tra kiều kiện có đúng không SAU KHI chạy vòng lặp lần đầu tiên.
Nếu thoả điều kiện thì chạy tiếp; nếu không thoả điều kiên thì nghỉ
Nghĩ là ngay cả khi không thoả điều kiên, thì vòng lặp vẫn chạy được ít nhất 1 lần.

for ( variable initialization; condition; variable update ) { làm cái gì đó }
Ví dụ:

#include <stdio.h>
 
int main () {

   int a;
	
   /* for loop execution */
   for( a = 10; a < 20; a = a + 1 ){
      printf("value of a: %d\n", a);
   }
 
   return 0;
}

Kết quả của ví dụ trên là loop in ra từ số 10 --> 19
khi a = 19, thì thoả điều kiện a < 20, nên a sẽ tiếp tục + 1
Lúc này thì a = 20, thì lại không thoả điều kiện, nên thoát ra.

Nghĩa là, giá trị của a được gán TRƯỚC KHI kiểm tra điều kiện xem có thoả hay không
Nhưng nó khác cái do-while là ở for, khi không thoả điều kiện, nó chị kịp gán giá trị cho a xong bi đá văng ra cmnr

5 Likes

Khi học về vòng lặp hãy nhớ thêm về lệnh break; và continue;
break: thoát ngay khỏi vòng lặp không quan tâm những dòng phía sau muốn làm gì.
continue: bỏ qua những dòng lệnh phía sau & tiếp tục 1 chu trình mới của vòng lặp chứ không thoát khỏi vòng lặp.

3 Likes

for có cấu trúc hơn while, dùng để duyệt qua một danh sách (bao gồm mảng nhé) hay một khoảng, đoạn. Cách này tách riêng phần duyệt và phần thao tác với mỗi phần tử, dễ nhìn hơn.
do... while khác while ở chỗ vòng lặp chạy một lần rồi mới xét điều kiện lặp, một vài trường hợp luồng của do... while phù hợp hơn.

4 Likes

Đối với giải bài tập
• dùng while khi không biết trước số lần lặp : đề bài dạng in ra màn hình hello world đến khi nào người dùng nhấn X thì dừng, cộng các số nhập từ bàn phím người dùng nhập vào đến khi nào ấn esc thì dừng,…
• dùng for khi : đề bảo in 1000 dòng hello world , cộng 100 số đầu tiên người dùng nhập từ bàn phím,…

1 Like

a ơi e nghe nói giải các bt về 3 vòng lặp đó cần phải tư duy phải k ạ?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?