banner jpg
CĂN BẢN
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Vòng lặp while trong C#

Bài trước mình đã giới thiệu sơ lượt về vòng lặp trong C# và chúng ta cũng đã tìm hiểu về vòng lặp for trong C#. Vậy có một vấn đề đặt ra đối với vòng lặp for đó là chúng ta không biết trước được số lần lặp của đoạn lệnh. Ví dụ nhập vào một số nguyên dương lớn hơn 10, nếu số đó không thỏa thì nhập lại. Rõ ràng chúng ta hoàn toàn không thể biết người dùng sẽ nhập bao nhiêu lần cả. Vì thế nên vòng lặp while sẽ giúp chúng ta giải quyết vấn đề này.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Vậy vòng lặp while là gì ? Nó có cấu trúc như thế nào ? Sử dụng nó ra làm sao ? Chúng ta hãy cùng tìm hiểu nhé !

1. Cấu trúc vòng lặp while

Như đã nói ở phần mở đầu thì đối với vòng lặp while chúng ta không xác định trước được số lần lặp của lệnh hoặc khối lệnh trong thân vòng lặp. Khi sử dụng vòng lặp while thì điều kiện lặp sẽ được kiểm tra trước khi chúng ta thực thi các lệnh trong thân vòng lặp.

Cú pháp sử dụng vòng lặp while như sau:

Bài viết này được đăng tại [free tuts .net]

 

Cấu trúc
while (biểu thức điều kiện)
<Câu lệnh thực hiện>

 

Trong đó:

  • Biểu thức điều kiện là điều kiện để các lệnh được thực hiện, biểu thức này bắt buộc phải trả về giá trị true hoặc false
  • Nếu trong while có nhiều câu lệnh được thực hiện thì phải để nó trong khối lệnh { }.

Cách thức hoạt động:

Đầu tiên mời các bạn xem sơ đồ sau rồi mình sẽ giải thích.

vonglapwhile PNG

Trước tiên, vòng lặp while sẽ thực hiện xác định giá trị của biểu thức điều kiện. Nếu biểu thức điều kiện trả về giá trị true thì các lệnh, khối lệnh trong thân vòng lặp sẽ được thực hiện. Sau đó nó lại quay về kiểm tra điều kiện lặp có đúng hay không. Nếu điều kiện lặp trả về giá trị false thì các lệnh sẽ không được thực hiện và bỏ qua vòng lặp để đi đến lệnh tiếp theo trong chương trình.

Có một số lưu ý nhỏ khi bạn sử dụng vòng lặp while đó là:

  • Ta thấy trước khi thực hiện lệnh trong thân của vòng lặp thì nó sẽ kiểm tra biểu thức điều kiện trước tiên. Vậy để vòng lặp hoạt động thì biểu thức ban đầu của chúng ta sẽ trả về giá trị true.
  • Sau mỗi lần lặp nó đều quay về và kiểm tra biểu thức điều kiện vậy để thoát khỏi tình trạng lặp vô hạn gây ra hiện tượng treo máy thì chúng ta cần có lệnh làm thay đổi giá trị của biểu thức để đảm bảo rằng sau một số lần lặp nhất định thì ta sẽ nhận được giá trị false từ biểu thức điều kiện và kết thúc vòng lặp. Nếu trong thân vòng lặp không có lệnh làm thay đổi giá trị biểu thức thì ta cần có từ khóa break để thoát khỏi vòng lặp. (Mình sẽ nói sau về từ khóa này nhé :D).

2. Ví dụ

Ta sẽ quay trở lại vấn đề đã đặt ra ở phần mở đầu nhé. Đó là nhập vào một số nguyên dương lớn hơn 10, nếu sai thì thông báo và nhập lại, nếu đúng thì xuất số ấy ra màn hình.

 

Ví dụ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace freetuts.net
{
	class freetuts
	{
		static void Main(string[] args)
		{
			Console.WriteLine("\nnhap vao so tu nhien lon hon 10 ");
			int x = Convert.ToInt16(Console.ReadLine());
			while(x<10)
			{
				Console.WriteLine("\nxin loi {0} < 10 ban oi!!! nhap lai giup minh nhe ahihi", x );
				x = Convert.ToInt16(Console.ReadLine());
			}
			Console.WriteLine("\nso ban vua nhap la: " + x);
			Console.WriteLine("\nfreetuts chuc ban hoc tot !!!");
			Console.ReadKey();
		}
	}
}

 

Khi biên dịch và nhập một số thử nghiệm ta có kết quả như sau:

while JPG

Quá trình nó chạy như sau:

  • Xuất ra màn hình yêu cầu nhập.
  • Khi bạn nhập vào x = 1 thì ta thấy x < 10 nên lệnh trong vòng lặp thực hiện và yêu cầu bạn nhập lại.
  • Tương tự bạn nhập x = 2 ta thấy đều thỏa x < 10 nên lệnh trong vòng lặp lại tiếp tục được thực thi.
  • Tương tự bạn nhập x = 3 ta thấy đều thỏa x < 10 nên lệnh trong vòng lặp lại tiếp tục được thực thi.
  • Tương tự bạn nhập x = 4 ta thấy đều thỏa x < 10 nên lệnh trong vòng lặp lại tiếp tục được thực thi.
  • Tương tự bạn nhập x = 5 ta thấy đều thỏa x < 10 nên lệnh trong vòng lặp lại tiếp tục được thực thi.
  • Cuối cùng bạn nhập vào x = 20 thì ta thấy không thỏa điều kiện lặp vì x > 10 sau sẽ thoát khỏi vòng lặp và xuất giá trị x ra màn hình.

3. Lời kết

Vậy mình đã cùng các bạn tìm hiểu thêm về một cấu trúc lặp, các bản đã hiểu hơn về vòng lặp while trong C# chưa nhỉ ? Cứ để lại comment phía dưới nếu bạn có bất kỳ thắc mắc gì nhé ! Sau đây mình xin đưa ra một số bài tập để các bạn hiểu rõ thêm về vòng lặp while trong C# các bạn cố gắng luyện tập nhé. https://freetuts.net chúc các bạn học tốt !!!

Cùng chuyên mục:

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Trong bài viết này Freetuts chia sẽ cho các bạn một ứng dụng khá thú…

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Chúng ta sẽ tìm hiểu về Factory Design Pattern trong C# là gì? Cách triển…

Hướng dẫn giải phương trình bậc hai trong C#

Hướng dẫn giải phương trình bậc hai trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Cách nối hai mảng trong C# bằng hai cách khác nhau

Cách nối hai mảng trong C# bằng hai cách khác nhau

Hướng dẫn chuyển đổi giờ phút giây trong C#

Hướng dẫn chuyển đổi giờ phút giây trong C#

Cách tìm số lớn nhất trong mảng C# cực dễ

Cách tìm số lớn nhất trong mảng C# cực dễ

Trong bài viết này mình sẽ hướng dẫn các bạn cách ..

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Mình sẽ thực hiện một chương trình kiểm tra giá x có tồn ...

Cách tìm số nhỏ nhất và lớn nhất trong C#

Cách tìm số nhỏ nhất và lớn nhất trong C#

Mình sẽ thực hiện hai chương trình để tìm số nhỏ nhất và số lớn…

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tính căn bậc hai trong C# cực dễ

Cách tính căn bậc hai trong C# cực dễ

Trong bài viết này mình sẽ hướng dẫn các bạn cách tính căn bậc hai…

Cách làm tròn số trong C# bằng hàm Math.Round

Cách làm tròn số trong C# bằng hàm Math.Round

Mình sẽ thực hiện làm tròn số theo nhiều cách khác nhau để các bạn…

Cách tìm ước số của một số nguyên trong C#

Cách tìm ước số của một số nguyên trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tìm ...

Cách tìm bội chung nhỏ nhất trong C#

Cách tìm bội chung nhỏ nhất trong C#

Cách kiểm tra số chính phương trong C#

Cách kiểm tra số chính phương trong C#

Trước đi vào viết chương trình, các bạn cùng ...

Cách kiểm tra số hoàn hảo trong C#

Cách kiểm tra số hoàn hảo trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách kiểm ...

Cách đảo ngược các phần tử trong mảng C#

Cách đảo ngược các phần tử trong mảng C#

Mình sẽ thực hiện một chương trình nhận các giá trị của các phần ...

Cách tính trung bình cộng các phần tử trong mảng C#

Cách tính trung bình cộng các phần tử trong mảng C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tính ...

Cách chuyển chữ thường thành chữ in hoa và ngược lại trong C#

Cách chuyển chữ thường thành chữ in hoa và ngược lại trong C#

Mình sẽ thực hiện hai chương trình để chuyển ..

Cách viết hoa ký tự đầu tiên trong C#

Cách viết hoa ký tự đầu tiên trong C#

Mình sẽ thực hiện các chương trình để viết hoa ký từ đầu với các…

Top