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

Các biến thể khác nhau của lặp vòng lặp for là gì?

Dạng chung của câu lệnh for như sau -

Câu lệnh
for (initialization; condition; operation)
statement;
  • Khởi tạo là một câu lệnh gán được sử dụng để đặt biến điều khiển vòng lặp.

  • Điều kiện là một biểu thức quan hệ xác định thời điểm thoát khỏi vòng lặp.

  • Phép toán xác định rằng biến vòng lặp thay đổi như thế nào mỗi khi vòng lặp được lặp lại.

  • Trong vòng lặp for , kiểm tra điều kiện được thực hiện ở đầu vòng lặp. Điều này có nghĩa là mã bên trong vòng lặp có thể không được thực thi khi điều kiện sai.

Để bắt đầu như trong ví dụ sau -

x = 10;
for (y=10; y != x; ++y)
printf (“ %d”, y);

Biến thể 1

Điều này bao gồm toán tử dấu phẩy. Một biến thể của vòng lặp for có thể được thực hiện bởi toán tử dấu phẩy, như trong ví dụ sau -

for(x=0, y=0; x+y < 10; ++x);

Ở đây, cả x và y đều kiểm soát vòng lặp.

Biến thể 2

Điều này bao gồm các phần còn thiếu của định nghĩa vòng lặp. Một đặc điểm thú vị của vòng lặp for là không cần phải có các phần của định nghĩa vòng lặp.

Ví dụ:

for (x=0; x!=456; )
scanf ("%d", &x);

Ở đây, khi mỗi lần lặp lại vòng lặp, x được kiểm tra để kiểm tra xem nó có bằng 456. Các điều kiện của vòng lặp trở thành sai và kết thúc vòng lặp, khi nhập 456.

Biến thể 3

Điều này bao gồm vòng lặp vô hạn. Nếu tất cả các phần trong định nghĩa vòng lặp bị thiếu, một vòng lặp vô hạn sẽ được tạo. Câu lệnh break được sử dụng để thoát ra khỏi vòng lặp, như trong ví dụ dưới đây -

for(;;){
   ch = getchar();
   if(ch == 'A')
      break;
}

Biến thể 4

Điều này bao gồm đối với Vòng lặp không có phần thân. Phần thân của vòng lặp for cũng có thể trống. Điều này cải thiện hiệu quả của một số mã.

Ví dụ:

Hãy để chúng tôi xóa các khoảng trắng ở đầu luồng được trỏ tới bởi str -

for ( ; *str==' '; str++) ;

Một ứng dụng khác của vòng lặp là Độ trễ thời gian với phần thân trống, như thể hiện trong ví dụ dưới đây -

for (t=0; t<1000; t++);