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 Show
C++ hỗ trợ ba loại vòng lặp
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ế
Thêm một ngôi sao khác vào đánh giá hiệu suất của bạnHọc MIỄN PHÍ từ các chuyên gia trong ngành Bắt đầu họcCú 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
ví dụ tôi <= 5 cái đầu. = KHÔNG mảng[i] <= 2
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
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++ 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++
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; } 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; } 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; } 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; } 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; } 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 #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; } 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 đó #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; } 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ọcSự khác biệt giữa vòng lặp for và vòng lặp whileVò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ặpVò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; } trong khi lặp lạiVò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; } 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 ĐẶTTRONG KHI LẶP LẠIVò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ậnTrong 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ảđơn giảnSimplilearn 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. |