icantech
Lập trình C
2896
07/11/2023

Vòng lặp While trong lập trình C từ A đến Z

Vòng lặp While là một trong những cấu trúc được sử dụng phổ biến nhất trong các ngôn ngữ lập trình, bao gồm cả ngôn ngữ C. Trong bài viết này, ICANTECH sẽ hướng dẫn các bạn đầy đủ và chi tiết về vòng lặp While trong C, từ lí thuyết đến các bài tập thực hành.

1. Giới thiệu chung về ngôn ngữ C 

C là một trong những ngôn ngữ lập trình ra đời sớm nhất trên thế giới, nó được Dennis Ritchie phát triển từ những năm đầu 1970. Kể từ đó trở đi, C được sử dụng rộng rãi và phổ biến trên tất cả các hệ hệ điều hành máy tính. C được coi là ngôn ngữ mẹ trong thế giới lập trình, bởi nó là cơ sở hoặc nền tảng của rất nhiều ngôn ngữ khác như: C++, Java hay Python.Các ứng dụng chính của ngôn ngữ lập trình C như: (1) Lập trình nhúng; (2) Xây dựng các phần mềm hệ thống; (3) Phát triển ứng dụng chạy trên máy tính; (4) Lập trình mạng; (5) Ứng dụng trong khoa học xử lý dữ liệu. 

lap-trinh-c

2. Vòng lặp While trong C

2.1. Khái niệm và cú pháp

Vòng lặp While là một trong ba cấu trúc vòng lặp trong ngôn ngữ lập trình C cho phép người dùng lặp đi lặp lại cùng một đoạn code nhiều lần khi thỏa mãn điều kiện xác định nào đó. Các tập lệnh trong vòng lặp While có thể được thực thi không giới hạn miễn là vẫn thỏa mãn điều kiện. Ba cấu trúc lệnh lặp trong C là:

  • For loop
  • While loop
  • Do While loop

Trong ba cấu trúc trên thì While và For là vòng lặp kiểm soát đầu vào vì chúng sẽ kiểm tra điều kiện trước, chỉ khi điều kiện được thỏa mãn thì vòng lặp mới thực thi. Còn Do While kiểm tra điều kiện sau, có nghĩa là các tập lệnh trong vòng lặp chắc chắn sẽ được thực thi ít nhất là 1 lần. 

Cú pháp vòng lặp While trong C như sau:

     while (điều kiện) {

    // Khối mã cần lặp

    }                              

2.2 Flow Charts

flow-chart

Vòng lặp While hoạt động theo cấu trúc chặt chẽ từ trên xuống dưới như sau:

  • Khởi tạo vòng lặp While
  • Kiểm tra điều kiện: Đây là một trong những bước quan trọng nhất vì nó quyết định các tập lệnh trong vòng lặp While có được thực thi hay không. Nếu kiểm tra điều kiện kết quả là Sai, thì vòng lặp sẽ kết thúc. Nếu kiểm tra điều kiện là Đúng thì vòng lặp sẽ thực thi toàn bộ câu lệnh ở trong phần thân.
  • Thân vòng lặp: Đây là tập hợp các câu lệnh sẽ được thực thi khi điều kiện được kiểm tra là đúng. Nó được đặt bên trong dấu ngoặc nhọn {}. Sau khi thực thi xong các câu lệnh chương trình điều khiển sẽ quay trở lại bước kiểm tra điều kiện cho lần chạy tiếp theo.

3. Bài tập vòng lặp While trong C

Với mục tiêu giúp các bạn hiểu rõ hơn về cách vận hành của vòng lặp While trong C, ICANTECH  sẽ giới thiệu một số ví dụ vận dụng đơn giản sau đây:

3.1. Ví dụ 1

Sử dụng vòng lặp While để in một dòng ký tự bất kỳ ra màn hình 5 lần (lặp lại khi i nhỏ hơn 5). Chúng ta có thể viết một đoạn code như sau:

      #include <stdio.h>

      int main()

      {int i = 0;

      while (i < 5) {printf("ICANTECH.vn\n");

      i++;}}

Và kết quả thu được là:

vong-lap-while

Ban đầu, chúng ta khởi tạo i=0, với điều kiện để vòng While thực thi là i<5 và sau mỗi lần in 1 dòng ký tự, giá trị của i lại được cộng thêm 1. Như vậy, sau 5 lần thực thi thì giá trị của i =6, lúc này điều kiện vòng While sẽ không thỏa mãn và vòng While sẽ lập tức kết thúc. 

3.2. Ví dụ 2

Khi sử dụng vòng lặp While, có thể sẽ xảy ra trường hợp vòng lặp chạy không bao giờ dừng lại được, do chúng ta đưa vào điều kiện kiểm tra không tốt dẫn đến điều kiện luôn luôn đúng. Chúng ta sẽ cùng phân tích qua ví dụ sau:

          #include <stdio.h>

          int main()

          {int i1 = 1;

          int i2 = 1;

          while (i1 < 2) {i2 = i2 + 1;

          printf("ICANTECH.VN");}}

Kết quả:

vong-lap-while

Sở dĩ chúng ta thu được kết quả như vậy vì điều kiện đặt ra là i1<2, trong khi đó phần update phía sau chúng ta lại chỉ dùng biến i2=i2+1, như vậy i1 mãi mãi bằng giá trị khởi tạo của nó là 1, tức là điều kiện kiểm tra vòng lặp While luôn luôn đúng.

3.3. Ví dụ 3

Bây giờ chúng ta sẽ cùng thực hiện ví dụ có độ khó cao hơn một chút: Tính tổng của tất cả các số mà người dùng nhập vào từ bàn phím, khi tổng này vẫn nhỏ hơn 2712. Có thể code như sau:

       #include <stdio.h>

       int main() {

       double number, sum = 0;

       while(sum<2712)

       {printf("Hãy nhập một số: ");

       scanf("%lf", &number);

       sum += number;

       printf("Tổng = %.2lf\n",sum);}

       return 0;}

Và kết quả:

vong-lap-while

Ở đây, chúng ta sẽ sử dụng chính điều kiện tổng (sum) < 2712 của đầu bài yêu cầu làm điều kiện để vòng While thực thi lệnh tính tổng bên dưới. Hàm Printf được dùng để in lời đề nghị nhập 1 số bất kỳ ra màn hình. Còn hàm Scanf dùng để đọc số mà người dùng nhập vào từ bàn phím. Khi tổng tính được vẫn nhỏ hơn giá trị 2712 thì người dùng vẫn có thể nhập thêm số mới. Trong hình minh họa chúng ta thấy khi tổng bằng 6923.76 > 2712 thì chương trình đã dừng lại. 

4. Lời Kết

Qua bài viết này, ICANTECH đã giới thiệu về cú pháp, flow charts của vòng lặp While trong C thông qua một số ví dụ cụ thể. Hi vọng bạn sẽ áp dụng các kiến thức được ICANTECH chia sẻ ở trên và vận dụng để thành thạo vòng lặp While nhé. Chúc các bạn thành công!

Nếu bạn đang quan tâm đến học lập trình thì hãy tham khảo ngay các khóa học lập trình tại ICANTECH nhé

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình C

Bài tương tự