Làm thế nào để khai báo vòng lặp while trong C++?

Trong lập trình máy tính, một vòng lặp được sử dụng để đạt được nhiệm vụ thực hiện một khối lệnh nhiều lần. Bạn có thể hiểu điều này với một ví dụ rất đơn giản. Giả sử bạn muốn in câu lệnh “Welcome to C++ world. " một trăm lần. Một cách để làm điều này là viết câu lệnh in 100 lần, điều này không thực tế. Một cách khác là sử dụng các vòng lặp. Bạn có thể chỉ cần đặt câu lệnh in vào một vòng lặp, vòng lặp này sẽ chạy và in thông báo dưới dạng đầu ra hàng trăm lần. Các vòng lặp làm cho chương trình dễ đọc hơn và nâng cao hiệu quả của chương trình bằng cách đơn giản hóa các tác vụ phức tạp

C++ hỗ trợ ba loại vòng lặp

  • cho vòng lặp
  • trong khi lặp lại
  • vòng lặp do-while

Trong bài viết này, bạn sẽ tìm hiểu vòng lặp while trong C++ là gì, so sánh chúng với các vòng lặp khác trong C++, và thảo luận về ưu điểm của chúng cùng với một số ví dụ

Vòng lặp While trong C++ là gì?

Vòng lặp while trong C++ là một trong ba vòng lặp được cung cấp bởi C++. Đây là một vòng lặp được kiểm soát mục nhập phù hợp nhất cho những trường hợp bạn không chắc chắn về số lần lặp chính xác. Vòng lặp while hoạt động trên điều kiện boolean điều chỉnh việc lặp lại vòng lặp. Nó kết thúc vòng lặp khi nó vi phạm điều kiện. Vì nó là một vòng lặp kiểm soát mục nhập, vòng lặp này sẽ kiểm tra xem câu lệnh có thỏa mãn hay không ở mục nhập của vòng lặp

Tại sao bạn cần một vòng lặp While?

Một vòng lặp được sử dụng khi có nhu cầu thực hiện một nhiệm vụ cụ thể số lần “n”. Vòng lặp while có thể được sử dụng trong trường hợp số lần lặp không xác định hoặc số lần lặp không cố định. Vòng lặp while trong C++ là vòng lặp kiểm tra trước hoặc kiểm soát mục nhập, có nghĩa là nó kiểm tra điều kiện boolean trước khi thực thi các câu lệnh bên trong thân vòng lặp. Bạn sẽ hiểu điều này tốt hơn với một số ví dụ thực tế

  1. Giả sử bạn muốn duyệt qua một bộ sưu tập sách. Nhưng số lượng sách mình không biết trước. Tuy nhiên, bạn muốn chạy vòng lặp cho đến khi bạn lặp lại tất cả các cuốn sách. Trong tình huống như vậy, bạn có thể sử dụng vòng lặp while để kiểm soát tốt hơn việc cập nhật điều kiện lặp của vòng lặp.   
  2. Một ví dụ khác là một ứng dụng phát nhạc. Ứng dụng phát một bài hát cho đến khi người dùng nhấn “tạm dừng” hoặc “dừng”. Câu lệnh thực hiện ở đây là phát bài hát. Ở đây, điều kiện kiểm tra là “người dùng không bấm pause/stop HOẶC không bấm hết playlist”.  

Thêm một ngôi sao khác vào đánh giá hiệu suất của bạn

Học MIỄN PHÍ từ các chuyên gia trong ngành Bắt đầu học

Làm thế nào để khai báo vòng lặp while trong C++?

Cú pháp của Vòng lặp While trong C++

Cú pháp của vòng lặp while trong C++ là

while (điều kiện kiểm tra)

{

//thân vòng lặp

cập nhật biểu thức;

}

Các bộ phận của vòng lặp while

  • điều kiện kiểm tra. Đây là một điều kiện boolean báo cho vòng lặp while biết khi nào thì dừng. Nếu điều kiện này trả về true, vòng lặp tiếp tục thực hiện. Vòng lặp kết thúc khi điều kiện này trả về false

ví dụ

tôi <= 5

cái đầu. = KHÔNG

mảng[i] <= 2

  • cập nhật biểu thức. Đây là một biểu thức được cung cấp để cập nhật biến vòng lặp. Sau khi thực hiện tất cả các câu lệnh bên trong thân vòng lặp, nó sẽ cập nhật biến điều khiển ở cuối

ví dụ

tôi ++

tôi--

tôi /= 10

tôi *= 2

Vòng lặp While trong C++ hoạt động như thế nào?

Quá trình thực hiện của vòng lặp while được giải thích như sau

BƯỚC 1. Vòng lặp while được điều khiển trong chương trình

BƯỚC 2. Điều khiển đầu tiên đi đến điều kiện thử nghiệm

BƯỚC 3. Nó kiểm tra điều kiện kiểm tra

  1. Nếu điều kiện trả về true, thân vòng lặp while sẽ được thực thi
  2. Nếu điều kiện trả về false, vòng lặp while kết thúc

BƯỚC 4. Nó thực thi các câu lệnh của vòng lặp while

BƯỚC 5. Sau khi thực hiện, biến điều khiển được cập nhật

BƯỚC 6. Luồng điều khiển chuyển sang BƯỚC 2

BƯỚC 7. Việc thực hiện vòng lặp while kết thúc

Lưu đồ sau đây cho thấy việc thực hiện vòng lặp while trong C++

Làm thế nào để khai báo vòng lặp while trong C++?

Vòng lặp do-while trong C++ là gì?

do-while là loại vòng lặp thứ ba được cung cấp bởi C++. Nó tương tự như vòng lặp while ở nhiều khía cạnh. Cũng giống như vòng lặp while, câu lệnh khởi tạo diễn ra bên ngoài vòng lặp do-while. Và việc kết thúc vòng lặp diễn ra dựa trên câu lệnh điều kiện. Nhưng sự khác biệt chính giữa cả hai vòng lặp này là vòng lặp while là vòng lặp kiểm soát lối vào trong khi vòng lặp do-while là vòng lặp kiểm soát lối ra

Các vòng lặp kiểm soát mục nhập là những vòng lặp trong đó câu lệnh điều kiện được kiểm tra tại điểm nhập cảnh, i. e. , trước khi thực hiện câu lệnh lặp. Trong khi đó, trong các vòng lặp có kiểm soát lối ra, câu lệnh điều kiện được kiểm tra sau khi câu lệnh vòng lặp được thực thi. Do đó, các vòng lặp điều khiển thoát (vòng lặp do-while) thực thi ít nhất một lần, bất kể câu lệnh kiểm tra là gì

cú pháp

làm

{

//thân vòng lặp

Tăng giảm;

}

while (câu lệnh điều kiện);

Các phần của vòng lặp do-while trong C++

  • điều kiện kiểm tra. Đây là một điều kiện boolean báo cho vòng lặp while biết khi nào thì dừng. Điều kiện này được kiểm tra ở cuối vòng lặp. Điều này dẫn đến việc thực thi mã ít nhất một lần. Nếu điều kiện bị vi phạm thì vòng lặp kết thúc
  • cập nhật biểu thức. Đây là biểu thức cập nhật được cung cấp để cập nhật biến vòng lặp. Biểu thức này kiểm soát cách vòng lặp sẽ lặp lại. Biến vòng lặp được cập nhật sau khi thực hiện tất cả các câu lệnh bên trong thân vòng lặp

Dưới đây là một mã đơn giản giải thích việc thực hiện vòng lặp do-while

#include

sử dụng không gian tên std;

int chính ()

{

// biểu thức khởi tạo

int tôi = 1;

// in ra 5 bội số của 2

làm {

cout << 2*i << endl;

//cập nhật biểu thức

tôi ++;

}

// điều kiện kiểm tra

trong khi (i <= 5);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

Trong chương trình được mô tả ở trên, một vòng lặp do-while được sử dụng để in 5 bội số của 2. Vì nó là vòng lặp do-while nên nó sẽ được thực thi ít nhất một lần bất kể điều kiện kiểm tra trả về là gì. Vì vậy, trong mọi trường hợp, 2 sẽ luôn được in trong ví dụ này.  

Vòng lặp while lồng nhau trong C++

Như tên gợi ý, Vòng lặp lồng nhau là vòng lặp bên trong vòng lặp và do đó còn được gọi là vòng lặp bên trong vòng lặp. Trong một vòng lặp có thể có một hoặc nhiều vòng lặp tùy theo yêu cầu của chương trình. Vòng lặp while lồng nhau trong C++ hoạt động tương tự như vòng lặp lồng nhau. Vòng lặp while bên ngoài được tăng lên sau khi kết thúc vòng lặp while bên trong

cú pháp

trong khi (điều kiện) {

trong khi (điều kiện) {

// câu lệnh lặp bên trong

}

// câu lệnh lặp ngoài

}

Nói chung, vòng lặp bên trong chạy cho mỗi lần lặp của vòng lặp bên ngoài, cho đến điểm kết thúc. Ví dụ: trong ví dụ được đưa ra bên dưới, “j” sẽ chạy tối đa 5 cho mỗi “i” và do đó có độ phức tạp về thời gian O(n²)

int tôi = 0;

trong khi(i<=5)

{

int j = 0;

trong khi(j<=5)

{

// câu lệnh vòng lặp bên trong có độ phức tạp O(1)

j++;

}

tôi ++;

}

Dưới đây là ví dụ về sắp xếp chèn hiển thị việc triển khai các vòng lặp while lồng nhau trong C++

#include

sử dụng không gian tên std;

// Hàm sắp xếp mảng bằng sắp xếp chèn

void insertionSort(int arr[], int n)

{

int tôi = 1;

int currElement, j;

//sử dụng vòng lặp while lồng nhau

trong khi (i < n)

{

currElement = arr[i];

j = i - 1;

// dịch chuyển các phần tử mảng lớn hơn currElement

// đến một chỉ mục phía trước

trong khi (j >= 0 && arr[j] > currElement)

{

mảng[j + 1] = mảng[j];

j = j - 1;

}

mảng[j + 1] = currElement;

tôi ++;

}

}

// in ra mảng kích thước n

khoảng trống in(int arr[], int n)

{

cho (int i = 0; i < n; i++)

cout << mảng[i] << " ";

cout<

}

// Mã trình điều khiển

int chính ()

{

int arr[] = { 5, 4, 3, 2, 1 };

int n = sizeof(mảng) / sizeof(mảng[0]);

cout<<"Xếp các phần tử của mảng trước khi sắp xếp. “;

in(mảng, n);

insertionSort(mảng, n);

cout<<"Xếp các phần tử của mảng sau khi sắp xếp. “;

in(mảng, n);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

Trong chương trình trên có hai vòng lặp while. Bạn đã lồng vòng lặp bên trong vào bên trong vòng lặp bên ngoài. Vòng lặp while bên ngoài (i-loop) chạy n lần. Và với mỗi chữ “i”, vòng lặp bên trong (vòng lặp j) chạy tới n lần trong trường hợp xấu nhất

Vòng lặp vô hạn trong C++

Vòng lặp vô hạn trong C++ là vòng lặp trong đó điều kiện kiểm tra luôn trả về true. Nếu điều kiện kiểm tra boolean trong vòng lặp while luôn trả về true, thì vòng lặp while sẽ thực thi vô số lần trong trường hợp như vậy. Vòng lặp vô hạn này tiếp tục chạy cho đến khi tràn bộ nhớ

Các ví dụ sau đây cho thấy các tình huống khi điều kiện kiểm tra sẽ luôn trả về giá trị đúng

trong khi (đúng)

{

// thân vòng lặp while

}

trong khi(tôi > 0)

{

//cập nhật biểu thức

tôi = 1;

}

Ví dụ sau minh họa vòng lặp while vô hạn trong C++

#include

sử dụng không gian tên std;

int chính ()

{

//khởi tạo biến vòng lặp

int tôi = 4;

trong khi(i <= 5) {

cout << "Tôi là vòng lặp while vô tận" << "\n";

// cập nhật biến vòng lặp

tôi--;

}

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

Trong chương trình trên, biến vòng lặp “i” được khởi tạo là 4. Điều kiện kiểm tra kiểm tra xem giá trị của “i” có nhỏ hơn 5 hay không. Điều kiện này sẽ luôn trả về true vì “i” đang giảm dần trong vòng lặp while. Vì vậy, sau mỗi lần lặp, giá trị của biến “i” sẽ trở thành 4, 3, 2, 1, 0, -1, -2, v.v. Điều này sẽ làm cho vòng lặp while chạy vô hạn hoặc vô tận

ví dụ

Các chương trình sau minh họa vòng lặp while trong C++

Ví dụ 1. Chương trình đảo ngược các chữ số của một số đã cho

#include

sử dụng không gian tên std;

//hàm đảo ngược các chữ số

int đảo ngược (int n)

{

vòng quay int = 0;

trong khi (n > 0) {

vòng quay = vòng quay * 10 + n % 10;

//cập nhật biểu thức

n = n/10;

}

quay trở lại;

}

//Chương trình điều khiển

int chính ()

{

int n = 12345;

cout << "Số đảo ngược của số là " << reverse(n);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?
 

Trong chương trình trên, bạn tìm số ngược của số nguyên đã cho. Vòng lặp while được sử dụng ở đây để lặp lại nhiệm vụ tìm chữ số cuối cùng của một số và cập nhật nó cho đến khi số đó trở thành 0

ví dụ 2. Chương trình kiểm tra xem số đã cho có phải là Palindrome hay không

#include

sử dụng không gian tên std;

//hàm kiểm tra số có phải là số nhạt màu không

void palindrome(int n) {

int vòng quay = 0;

int nhiệt độ = n;

trong khi(n > 0) {

vòng quay = vòng quay * 10 + n % 10;

//cập nhật biểu thức

n = n/10;

}

nếu (tạm thời == vòng quay)

{

cout<

}

khác

{

cout<

}

}

//Chương trình điều khiển

int main() {

đối xứng(121);

đối xứng(123);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?
 

Trong chương trình mô tả ở trên, bạn kiểm tra xem một số có phải là palindrome hay không. Để kiểm tra điều này, một vòng lặp while được sử dụng. Vòng lặp while lặp lại trong khi số lớn hơn 0 và khi số trở thành 0, vòng lặp kết thúc

ví dụ 3. Chương trình in n số Fibonacci đầu tiên

#include

sử dụng không gian tên std;

//hàm in n số Fibonacci đầu tiên

khoảng trống fibonacci(int n)

{

int đầu tiên = 0, thứ hai = 1;

nếu (n < 1)

trở lại;

cout << dau tien << " ";

int tôi = 1;

trong khi (i < n)

{

cout << giây << " ";

int thứ ba = thứ nhất + thứ hai;

thứ nhất = thứ hai;

thứ hai = thứ ba;

//cập nhật biểu thức

tôi ++;

}

}

// Mã trình điều khiển

int chính ()

{

int n = 6;

cout<<"Các số "<

fibonacci(n);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

Chương trình được đề cập ở trên in ra n số hạng của dãy Fibonacci. Nhiệm vụ tính toán một số hạng bằng cách cộng hai số hạng trước đó và in nó được thực hiện bằng vòng lặp while. Trước khi thực hiện vòng lặp,  điều kiện kiểm tra (i < n)  được kiểm tra. Nếu n nhỏ hơn “i”, vòng lặp sẽ không thực hiện. Vì điều kiện này được kiểm tra ở cấp độ đầu vào nên nó trở nên hữu ích khi n bằng 0 hoặc nhỏ hơn 0, vì sẽ không có thuật ngữ nào được in ra trong trường hợp đó

Ví dụ 4. Lập Trình Đếm Tổng Số Chữ Số Của Một Số

#include

sử dụng không gian tên std;

//hàm đếm số chữ số

int chữ số(int num)

{

số int = 0;

trong khi (số. = 0)

{

số = số/10;

//cập nhật biểu thức

++đếm;

}

đếm trở lại;

}

// Mã trình điều khiển

int chính ()

{

số int = 12345678;

cout << "Tổng số chữ số là. " << chữ số (num);

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

Trong chương trình trên, bạn tìm tổng các chữ số của một số đã cho. Điều này có thể được thực hiện bằng cách lấy chữ số cuối cùng của số và tăng bộ đếm. Vòng lặp while được sử dụng ở đây để thực hiện tác vụ này cho đến khi số n trở thành 0

Khóa học Full Stack Web Developer

Để trở thành chuyên gia về MEAN Stack Xem khóa học

Làm thế nào để khai báo vòng lặp while trong C++?

Sự khác biệt giữa vòng lặp for và vòng lặp while

Vòng lặp for và vòng lặp while là những vòng lặp phổ biến nhất trong nhiều ngôn ngữ lập trình. Bây giờ, bạn sẽ hiểu hai cái này khác nhau như thế nào

cho vòng lặp

Vòng lặp for được coi là loại vòng lặp cơ bản nhất được cung cấp bởi C++. Trong khi xử lý vòng lặp for, bạn đã biết số lần thực hiện rồi. Vòng lặp này bao gồm khởi tạo, điều kiện kiểm tra và tăng/giảm trong một dòng, do đó nó cung cấp một cách ngắn gọn để áp dụng vòng lặp

cú pháp

for (khởi tạo; điều kiện kiểm tra; tăng/giảm)

{

// câu lệnh lặp

}

Mô tả bên dưới là một mã đơn giản giải thích việc thực hiện vòng lặp for

#include

sử dụng không gian tên std;

int chính ()

{

// in ra 5 bội số của 2

for(int i = 1; i<=5; i++)

{

cout<<2*i<

}

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?

trong khi lặp lại

Vòng lặp while được sử dụng khi bạn không biết trước số lần lặp. Hoạt động của vòng lặp này phụ thuộc vào điều kiện boolean. Khi điều kiện boolean này bị vi phạm, vòng lặp sẽ kết thúc

cú pháp

điều kiện khởi tạo

trong khi (điều kiện boolean)

{

//các câu lệnh lặp

Tăng giảm

}

Dưới đây là một mã đơn giản giải thích việc thực hiện vòng lặp while

#include

sử dụng không gian tên std;

int chính ()

{

// in ra 5 bội số của 2

int tôi = 1;

trong khi(i<=5)

{

cout<<2*i<

//cập nhật biểu thức

tôi ++;

}

trả về 0;

}

Làm thế nào để khai báo vòng lặp while trong C++?
 

Sự khác biệt chính giữa vòng lặp for và vòng lặp while như sau

CHO VÒNG ĐẶT

TRONG KHI LẶP LẠI

Vòng lặp for được sử dụng khi biết trước số lần lặp

Vòng lặp while được sử dụng khi không biết số lần lặp

Các biến có thể được khởi tạo bên trong hoặc bên ngoài vòng lặp

Khởi tạo biến phải diễn ra nghiêm ngặt bên ngoài vòng lặp

Việc tăng/giảm chỉ có thể được thực hiện sau khi thực hiện câu lệnh vòng lặp

Tăng/Giảm có thể được thực hiện trước cũng như sau khi thực hiện câu lệnh vòng lặp

Nếu câu lệnh điều kiện không được đặt trong vòng lặp for, nó sẽ dẫn đến vòng lặp vô hạn

Nếu câu lệnh điều kiện không được đưa vào vòng lặp while sẽ dẫn đến lỗi biên dịch

Câu lệnh điều kiện là một biểu thức tương đối

Câu lệnh điều kiện có thể là một biểu thức tương đối cũng như một giá trị khác không

Có thể có một số biến đếm cho vòng lặp for được khai báo trong phần khai báo vòng lặp

Vòng lặp while không có bất kỳ biến điều khiển vòng lặp tích hợp nào

Nâng cao sự nghiệp của bạn với tư cách là nhà phát triển MEAN stack với Nhà phát triển Web Full Stack - Chương trình Thạc sĩ MEAN Stack. đăng ký ngay bây giờ

Phần kết luận

Trong bài viết này, bạn đã học được một khái niệm quan trọng được sử dụng rộng rãi trong hầu hết các ngôn ngữ lập trình được gọi là vòng lặp while. Bắt đầu với phần giới thiệu về vòng lặp, bạn đã học được nội dung bên trong và bên ngoài của vòng lặp while cùng với cú pháp, các phần, nhu cầu và hoạt động của vòng lặp while. Tiếp tục, bạn đã thấy vòng lặp while khác với vòng lặp do-while và for như thế nào với các ví dụ về từng vòng lặp. Tiếp theo, bạn đã học được một vài chương trình cơ bản có thể được thực hiện bằng cách sử dụng vòng lặp while.  

Bạn nên xem hướng dẫn đầy đủ của chúng tôi về Lập trình C++ cho người mới bắt đầu. Điều này sẽ giúp bạn nắm vững các khái niệm cơ bản của C ++

Không chỉ dừng lại ở đây. Nếu bạn muốn cho mình cơ hội cạnh tranh với các nhà phát triển hàng đầu và kiếm cho mình một công việc phát triển phần mềm chuyên nghiệp, hãy xem khóa học Phát triển Web Full Stack hoàn chỉnh của chúng tôi do các giảng viên hàng đầu giảng dạy tại Simplilearn. Bạn sẽ có thể hiểu một số khái niệm cốt lõi thường được sử dụng trong thực tiễn phát triển phần mềm. Đó là DevOps, Agility, Java, CSS, HTML, AWS, v.v.

Nếu bạn muốn truy cập miễn phí và không giới hạn vào các khóa học kỹ thuật trực tuyến hàng đầu, chúng tôi khuyên bạn nên thử một số khóa học từ danh sách các khóa học trực tuyến miễn phí

Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào cho chúng tôi, vui lòng đề cập đến chúng trong hộp bình luận và các chuyên gia của chúng tôi sẽ trả lời chúng cho bạn sớm nhất có thể

học tập vui vẻ

Giới thiệu về tác giả

Làm thế nào để khai báo vòng lặp while trong C++?
đơn giản

Simplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Câu lệnh lặp while trong C là gì?

Vòng lặp while trong C được dùng để đánh giá một điều kiện kiểm tra và lặp qua thân vòng lặp cho đến khi điều kiện trả về True . Vòng lặp kết thúc khi điều kiện trả về Sai. Vòng lặp này còn được gọi là vòng lặp kiểm tra trước vì nó thường được sử dụng khi người dùng không biết trước số lần lặp.

Chúng ta có thể khai báo một biến trong vòng lặp while trong C không?

Có. bạn có thể khai báo một biến bên trong bất kỳ vòng lặp nào (bao gồm cả vòng lặp do while.

Vòng lặp while được viết như thế nào?

Đầu tiên, vòng lặp sẽ thực thi phần thân, sau đó kiểm tra điều kiện, và khi điều kiện đúng thì thực hiện lặp đi lặp lại. Ví dụ. hãy i = 0; . This form of syntax should only be used when you want the body of the loop to execute at least once regardless of the condition being truthy.

Cú pháp được sử dụng cho vòng lặp while là gì?

Cú pháp của nó là. do { // thân vòng lặp; . Here, The body of the loop is executed at first.