VÒNG LẶP VÀ CÁC LỆNH VÒNG LẶP TRONG C (PHẦN 1)

Future Eyes • 30 tháng 6, 2021

Trong vài tình huống, bạn cần thực hiện một đoạn code vài lần với những câu lệnh được thực hiện một cách trình tự. Thay vì tốn thời gian và công sức để làm thủ, ngôn ngữ lập trình C đã cung cấp cho chúng ta nhiều cấu trúc điều khiển cho phép bạn thực hiện nó một cách đơn giản và nhanh chóng. Vòng lặp (loop) là một trong số đó. Vậy, vòng lặp là gì? Có bao nhiêu lệnh vòng lặp trong C? Khám phá ngay bạn nhé!

Vòng lặp là gì?

Vòng lặp và các lệnh vòng lặp trong C

1. Vòng lặp (Loop) trong ngôn ngữ C

Cấu trúc vòng lặp trong C thực hiện các chuỗi câu lệnh nhiều lần cho đến khi điều kiện trở thành false (sai). Vòng lặp trong C phải bao gồm hai phần:

  • Thân vòng lặp.
  • Câu lệnh điều khiển. 

Trong đó, câu lệnh điều khiển là sự kết hợp của một số điều kiện giúp thân vòng lặp thực thi cho đến khi điều kiện chỉ định trở thành sai.

Tóm lại, mục đích của vòng lặp C chính là lặp đi lặp lại cùng một đoạn code nhiều lần.

2. Các loại vòng lặp trong C

Tùy thuộc vào vị trí của câu lệnh điều khiển, cấu trúc vòng lặp trong C có thể được phân thành 2 loại:

  • Các vòng lặp được kiểm soát đầu vào (Entry controlled loop): là các vòng lặp mà điều kiện cần kiểm soát đặt ở đầu vòng lặp. Vòng lặp while và for thuộc dạng này. 
  • Các vòng lặp được kiểm soát đầu ra (Exit controlled loop): Là những vòng lặp đặt điều kiện cần kiểm soát ở cuối. Vòng lặp do-while thuộc dạng này.
Lưu đồ thuật toán

Có một lưu ý chính là điều kiện điều khiển phải được xác định và chỉ định rõ. Nếu không, vòng lặp sẽ thực hiện vô số lần. Các vòng lặp không ngừng thực hiện và xử lý vô số lần cấu trúc câu lệnh được gọi là vòng lặp không biết trước lần lặp (vòng lặp vô hạn).

Dưới đây là một số đặc điểm của vòng lặp vô hạn:

- Không có chỉ định về điều kiện chấm dứt.

- Các điều kiện chỉ định không đáp ứng.

3 lệnh vòng lặp trong C

Ngôn ngữ lập trình C cung cấp cho chúng ta 3 loại lệnh vòng lặp:

  1. Vòng lặp while: trong ngôn ngữ lập trình C thực hiện lặp đi lặp lại một lệnh mục tiêu khi điều kiện đã cho vẫn còn đúng.
  2. Vòng lặp do-while: tương tự với vòng lặp while. Tuy nhiên, vòng lặp này sẽ thực hiện vòng lặp ít nhất một lần.
  3. Vòng lặp for: sau mỗi lần thực hiện, hệ thống sẽ thực hiện đối chiếu, kiểm tra với giá trị cố định. Vòng lặp for sẽ dừng lại khi kết quả trả về = false.

1. Vòng lặp while trong C

While là vòng lặp đơn giản nhất trong các lệnh vòng lặp C. Cú pháp vòng lặp while trong C như sau:

while (condition) {

       statements;

}

While thuộc về vòng lặp kiểm soát đầu vào. Trong vòng lặp này, một điều kiện được đánh giá trước khi xử lý thân vòng lặp. Một điều kiện đúng khi và chỉ khi thân vòng lặp được thực thi. Tiếp đó, điều khiển sẽ quay trở lại lúc đầu và kiểm tra đối chiếu với điều kiện xem nó có đúng không. Quá trình này sẽ được lặp đi lặp lại cho đến khi cho kết quả false. Khi đó, câu lệnh điều khiển sẽ thoát khỏi vòng lặp.

Sau khi thoát khỏi vòng lặp, điều khiển sẽ chuyển đến các cấu trúc tiếp theo. Có một lưu ý nhỏ là thân vòng lặp có thể chứa nhiều hơn một câu lệnh. Trong trường hợp nó chỉ chứa duy nhất một cấu trúc/ câu lệnh, bạn có thể không cần sử dụng dấu “{}”.

Trong vòng lặp while, nếu điều kiện sai, thân vòng lặp sẽ không thực hiện.

Ví dụ minh họa:

#include<stdio.h>

#include<conio.h>

int main()

{

    int num=1;  //initializing the variable

    while(num<=10)  //while loop with condition

    {

        printf("%d\n",num);

        num++;    //incrementing operation

    }

    return 0;

}

Kết quả trả về:

1

2

3

4

5

6

7

8

9

10

Trong ví dụ trên, dãy số từ 1 đến 10 được tạo ra bằng vòng lặp while:

  • Một biến gọi là num đã được khởi tạo với giá trị = 1. Tiếp đó, hàm print được thực hiện từ 1 đến 10 với biến được khởi tạo = 1.
  • Trong vòng lặp while, một điều kiện đã được cung cấp (num <= 10). Điều này có nghĩa là vòng lặp sẽ kết thúc khi giá trị của num = 10.
  • Trong phần thân vòng lặp chứa hàm print và toán tử tăng để gia tăng giá trị mỗi lần thực hiện một vòng lặp. Giá trị ban đầu của num = 1. Sau khi thực hiện vòng lặp đầu tiên, nó sẽ thành 2 và trong lần tiếp theo sẽ là 3…Quá trình này tiếp tục cho đến khi giá trị trở thành 10, vòng lặp kết thúc.

2. Vòng lặp do - while trong C

Do - while còn được gọi là vòng lặp được kiểm soát đầu ra. Vòng lặp này khá giống vòng lặp while ngoại trừ điều kiện được thực hiện sau phần thân vòng lặp.

Cú pháp câu lệnh của vòng lặp do-while trong C như sau:

do {


 statements


} while (expression);

Như bạn có thể thấy, thân vòng lặp while được thực khi và chỉ khi điều kiện đúng. Ở trường hợp ngược lại, nếu chúng ta muốn thực thi vòng lặp ít nhất một lần, ngay cả khi điều kiện sai, bạn có thể sử dụng vòng lặp do-while.

Trong vòng lặp do-while, thân vòng lặp luôn được thực thi ít nhất một lần. Sau đó, nó sẽ tiến đến giai đoạn kiểm tra điều kiện. Nếu điều kiện đúng, thân vòng lặp sẽ được thực thi thêm một lần nữa. Nếu sai, điều khiển sẽ thoát ra khỏi vòng lặp.

Tương tự như vòng lặp while, khi điều khiển ra khỏi vòng lặp, các câu lệnh ngay sau vòng lặp sẽ được thực thi.

Thêm một sự khác biệt giữa vòng lặp while và vòng lặp do-while chính là cú pháp câu lệnh. Với vòng lặp while, while sẽ được viết ở đầu. Trong khi với do-while, điều kiện while được đặt ở cuối và kết thúc bằng dấu (;).

Ví dụ minh họa: 

#include<stdio.h>

#include<conio.h>

int main()

{

    int num=1;  //initializing the variable

    do  //do-while loop

    {

        printf("%d\n",2*num);

        num++;    //incrementing operation

    }while(num<=10);

    return 0;

}

 Kết quả trả về:

2

4

6

8

10

12

14

16

18

20

Trong ví dụ trên, chúng ta đã sử dụng hàm print bảng cửu chương 2 bằng vòng lặp do-while như bên dưới: 

  • Đầu tiên, khởi tạo biến “num” với giá trị = 1. Tiếp đó, viết vòng lặp do-while.
  • Trong một vòng lặp, hàm print sẽ in các chuỗi giá trị bằng cách nhân giá trị của num với 2.
  • Sau mỗi lần tăng, giá trị của num sẽ tăng lên 1 và nó sẽ được in ra màn hình.
  • Ban đầu, giá trị của num là 1. Trong thân vòng lặp, hàm print sẽ được thực thi rằng cách hiện kết quả 2*num (trong đó num =1). Và nó sẽ tiếp tục cho đến khi num = 10, vòng lặp này sẽ kết thúc và câu lệnh sau vòng lặp sẽ được thực hiện.

Kết luận:

Trên đây là khái niệm vòng lặp cùng hai loại vòng lặp phổ biến, while và do - while. Cùng chờ đón thêm một loại vòng lặp cùng 2 lệnh phổ biến dùng C trong kỳ tới bạn nhé!

New Paragraph

MỌI NGƯỜI ĐANG QUAN TÂM

CÓ THỂ BẠN QUAN TÂM

DOMA & GREEN ACADEMY KÝ KẾT HỢP TÁC MOU: MỞ RỘNG CƠ HỘI VIỆC LÀM CHO HỌC VIÊN
Bởi Green Academy 12 tháng 6, 2025
Ngày 12/6/2025, tại văn phòng Green Academy Hà Nội, buổi ký kết Hợp tác (MOU) giữa Green cùng Công ty TNHH Truyền thông & Quảng cáo DOMA đã diễn ra thành công, mở ra bước tiến quan trọng trong chiến lược kết nối đào tạo – doanh nghiệp, hướng tới mục tiêu đảm bảo đầu ra chất lượng cho học viên.
CHỐT DANH SÁCH 82 ĐỘI THI – CUỘC THI HỌC BỔNG S.E.E 2025 CHÍNH THỨC KHỞI ĐỘNG
Bởi Green Academy 30 tháng 5, 2025
Green Academy trân trọng thông báo: sau thời gian mở đăng ký, cuộc thi học bổng S.E.E – Scholarship for Excellent Effort 2025 đã chính thức chốt danh sách với 82 đội thi hợp lệ đến từ 4 nhóm ngành:
Học viên Green trải nghiệm thực tế tại showroom Arrow
Bởi Green Academy 28 tháng 5, 2025
Vào ngày 26/05 vừa qua, học viên ngành Thiết kế nội thất tại Green Academy đã có cơ hội trải nghiệm và học tập đầy bổ ích tại Showroom ARROW – thương hiệu nội thất hàng đầu đến từ Trung Quốc.
Lộ trình học tập linh hoạt - nhanh chóng lấy bằng
Bởi Green Academy 26 tháng 5, 2025
Nhằm đáp ứng nhu cầu học tập linh hoạt, tiết kiệm thời gian và mở rộng cơ hội nghề nghiệp cho học viên, Green Academy chính thức hợp tác cùng Trường Cao đẳng Việt Mỹ (APC) triển khai chương trình "Học Thiết Kế Đồ Họa linh hoạt – Lấy bằng Cao đẳng nhanh chóng" với lộ trình học 2 trong 1 hoàn toàn mới.
DOMA & GREEN ACADEMY KÝ KẾT HỢP TÁC MOU: MỞ RỘNG CƠ HỘI VIỆC LÀM CHO HỌC VIÊN
Bởi Green Academy 12 tháng 6, 2025
Ngày 12/6/2025, tại văn phòng Green Academy Hà Nội, buổi ký kết Hợp tác (MOU) giữa Green cùng Công ty TNHH Truyền thông & Quảng cáo DOMA đã diễn ra thành công, mở ra bước tiến quan trọng trong chiến lược kết nối đào tạo – doanh nghiệp, hướng tới mục tiêu đảm bảo đầu ra chất lượng cho học viên.
CHỐT DANH SÁCH 82 ĐỘI THI – CUỘC THI HỌC BỔNG S.E.E 2025 CHÍNH THỨC KHỞI ĐỘNG
Bởi Green Academy 30 tháng 5, 2025
Green Academy trân trọng thông báo: sau thời gian mở đăng ký, cuộc thi học bổng S.E.E – Scholarship for Excellent Effort 2025 đã chính thức chốt danh sách với 82 đội thi hợp lệ đến từ 4 nhóm ngành:
YÊU CẦU THÀNH PHẨM DỰ THI – HỌC BỔNG S.E.E
Bởi Green Academy 15 tháng 5, 2025
Green Academy chính thức thông báo yêu cầu THÀNH PHẨM DỰ THI cho cuộc thi "Học bổng S.E.E" – Scholarship for Excellent Effort. Đây là hướng dẫn giúp học viên dễ dàng thực hiện bài thi đúng hướng, đảm bảo sản phẩm của bạn không chỉ sáng tạo mà còn truyền tải được thông điệp tích cực đến cộng đồng.
GREEN KHỞI ĐỘNG CUỘC THI S.E.E  2025 - HỌC BỔNG TRỊ GIÁ 63 TRIỆU
Bởi Green Academy 9 tháng 5, 2025
Green Academy lần đầu tiên phát động cuộc thi học bổng S.E.E (Scholarship for Excellent Effort) – một sân chơi sáng tạo đầy cảm hứng, nơi mọi học viên có thể khám phá bản thân và khẳng định tài năng chuyên môn của mình. Đây là cơ hội đặc biệt để các bạn học viên không chỉ thể hiện kiến thức, kỹ năng mà còn lan tỏa những thông điệp tích cực đến cộng đồng.

Đăng Ký - Blog