Vòng Lặp For Trong C#. | How Kteam
Đăng ký Đăng nhập - PG Pages
- Khóa học
- Lập trình
- Lập trình C# .Net
- Lập trình C++
- Lập trình Android
- Điều trường học không dạy
- Thủ thuật lập trình
- Lập trình Java
- Unity3D
- Phân tích thiết kế
- Lập trình Python
- Lập trình PHP
- Lập trình Robot
- JavaScript - (Website)
- Lập trình Front-End
- Lập trình Mobile
- Microsoft Office 2016
- Microsoft Word 2016
- Microsoft Excel 2016
- Microsoft PowerPoint 2016
- IT & Phần mềm
- Thủ thuật máy tính
- Hướng dẫn cài đặt
- Bảo mật máy tính
- Phần cứng & Bảo mật
- Đồ họa hình ảnh
- Adobe Photoshop LightRoom
- Kinh tế
- Quản trị kinh doanh
- Kế toán
- Nhân sự
- SEO
- Marketing
- Ngoại ngữ
- Tiếng anh
- Kỹ năng mềm
- Kỹ năng mềm
- Tin tức
- Tin tức công nghệ
- Lập trình
- Khóa học
- Hỏi đáp
- Bài viết
- Tag
- Kter
- Về Kteam
- Phản hồi
Khóa học lập trình C# căn bản
4.8 (8 đánh giá) Tạo bởi Trần Thành Vi Thanh Cập nhật lần cuối 12:45 20-07-2020 158.907 lượt xem 48 bình luận Tác giả/Dịch giả:Danh sách bài học
Vòng lặp For trong C#.
Khóa học lập trình C# căn bản Tạo bởi Trần Thành Vi Thanh 158.907 48 Học nhanhVòng lặp For trong C#.
Nội dung bài viết Học nhanh
Bài trước Bài sauDẫn nhập
Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về CẤU TRÚC VÒNG LẶP GOTO. Ở bài này chúng ta sẽ tiếp tục tìm hiểu chi tiết cách sử dụng vòng lặp for trong C#.
Nội dung
Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:
- CẤU TRÚC CƠ BẢN MỘT CHƯƠNG TRÌNH C# console application
- BIẾN và KIỂU DỮ LIỆU trong C#
- TOÁN TỬ TRONG C#
- CÂU ĐIỀU KIỆN TRONG C#
- CẤU TRÚC CƠ BẢN CỦA MỘT VÒNG LẶP
Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:
- Cấu trúc của một vòng lặp for trong C#
- Các ví dụ sử dụng for trong C#
Cấu trúc của một vòng lặp for trong C#
Cú pháp:
for ([Khởi tạo]; [Điều kiện lặp]; [Bước lặp lại])
{
// Khối lệnh được lặp lại. Có thể bỏ trống
}
Trong đó:
- Các phần [Khởi tạo]; [Điều kiện lặp]; [Bước lặp lại] hoàn toàn có thể để trống như ví dụ sau.
- Mỗi đoạn [Khởi tạo]; hay [Điều kiện lặp]; hay [Bước lặp lại] là một câu lệnh riêng.
Tiến trình:
- Ban đầu trình biên dịch sẽ di vào phần khởi tạo chạy đoạn lệnh khởi tạo.
- Tiếp theo kiểm tra điều kiện lặp. Rồi thực hiện khối code bên trong vòng lặp for. Khi đến ký hiệu } thì sẽ quay lên bước lặp lại.
- Sau đó lại kiểm tra điều kiện lặp rồi tiếp tục thực hiện đoạn code trong khối lệnh. Đến khi điều kiện lặp không còn thõa mãn thì sẽ kết thúc vòng lặp for.
- Trường hợp khác:
for (; ;) // lưu ý dấu ;
{
// Khối lệnh được lặp lại. Có thể bỏ trống
}
Trong đó:
- Vòng lặp for này trở thành vòng lặp vô tận.
- Lưu ý dấu ; vẫn phải có.
Chúng ta sẽ cùng tìm hiểu ý nghĩa và cách sử dụng các phần [Khởi tạo]; [Điều kiện lặp]; [Bước lặp lại] nhé.
Khởi tạo
Khi bắt đầu vào đoạn code của vòng lặp for, đoạn lệnh này sẽ được chạy đầu tiên. Và chỉ được gọi duy nhất một lần trong vòng đời của vòng lặp for.
Ví dụ:
- Ví dụ 1:
- Kết quả màn hình xuất ra một loạt giá trị 0 vì i = 0 được khởi tạo tại phần khởi tạo của vòng lặp for và vòng lặp for này không có Điều kiện lặp nên chương trình sẽ chạy vô tận.
- Ở trường hợp này i được gọi là biến đếm (thuật ngữ lập trình dùng cho một biến có tác dụng tăng giá trị lên mỗi lần lặp lại).

- Ví dụ 2:
- Chúng ta không nhất thiết phải khai báo môt biến ngay tại vị trí khởi tạo. Ta có thể chỉ gán giá trị hoặc không làm gì cả (bỏ trống).
- Kết quả tương tự như ví dụ trên

- Ví dụ 3:
- Chỉ có thể có duy nhất một câu lệnh khởi tạo trong vòng lặp (lưu ý dấu , và dấu ; ở hai ví dụ sau)
Hay
static void Main(string[] args) { int i; // lỗi vì chỉ được phép có duy nhất một dòng lệnh khởi tạo trong vòng lặp for for (i = 0; int j = 0; ; ) { Console.WriteLine(i); } Console.ReadKey(); }Điều kiện lặp
Điều kiện lặp là một biểu thức logic với kết quả trả về bắt buộc là true hoặc false (có thể bỏ trống sẽ trả về kết quả là true).
Điều kiện lặp là dòng lệnh thứ 2 vòng for sẽ chạy vào khi chạy lần đầu tiên (Khởi tạo chạy trước). Từ lần lặp thứ 2 của vòng for, Điều kiện lặp cũng là dòng lệnh thứ 2 được chạy (sau bước lặp lại). (Cứ nhớ là luôn đứng thứ 2)
Khi câu điều kiện lặp không còn thỏa mãn (kết quả là false) thì vòng lặp for sẽ kết thúc.
static void Main(string[] args) { int i; // vòng lặp for này vẫn lặp vô tận vì không bao giờ thỏa mãn điều kiên dừng // i luôn == 0 // Điều kiện lặp luôn là true for (i = 0; i < 10;) { Console.WriteLine(i); } Console.ReadKey(); }- Ta có thể thấy Điều kiện lặp của vòng lặp này luôn là true, nên vòng lặp sẽ lặp vô tận.

- Để giải quyết vấn đề này và cho vòng lặp kết thúc khi thỏa mãn điều kiện lặp. Chúng ta thêm một đoạn code i++; ngay dưới đoạn codeConsole.WriteLine(i);
- Kết quả màn hình xuất ra các giá trị số nguyên từ 0 đến 9 (10 lần). Chứng tỏ vòng lặp đã kết thúc sau 10 lần lặp (không còn lặp vô tận).

Lưu ý:
- Giá trị in ra từ 0 đến 9 chứ không phải đến 10. Vì Điều kiện lặp là i < 10 (10 == 10 nên câu điều kiện là false và kết thúc vòng lặp. Vẫn thỏa mãn lặp 10 lần).
- Sau mỗi lần lặp giá trị i lại tăng lên 1 đơn vị. Sau 11 lần thì giá trị i == 10, không còn thỏa mãn Điều kiện lặp nữa nên vòng lặp kết thúc.
- Các bạn có thể xem bảng thử dưới đây:
| Lần | i | i < 10 |
| 1 | 0 | TRUE |
| 2 | 1 | TRUE |
| 3 | 2 | TRUE |
| 4 | 3 | TRUE |
| 5 | 4 | TRUE |
| 6 | 5 | TRUE |
| 7 | 6 | TRUE |
| 8 | 7 | TRUE |
| 9 | 8 | TRUE |
| 10 | 9 | TRUE |
| 11 | 10 | FALSE |
- Bạn hoàn toàn có thể để giá trị true hoặc false vào phần điều kiện lặp (bỏ trống mặc định là true). Hoặc một biểu thức logic phức tạp nhưng kết quả cuối cùng trả về là true hoặc false.
Hay
static void Main(string[] args) { int i; for (i = 0; false;) { Console.WriteLine(i); i++; } Console.ReadKey(); }Hoặc
static void Main(string[] args) { int i; for (i = 0; true;) { Console.WriteLine(i); i++; } Console.ReadKey(); }Bước lặp lại
Như ví dụ trên ta thấy. Mỗi lần muốn tăng giá trị của i ta phải dùng môt đoạn lệnh i++ ; ở cuối khối lệnh. Vậy trường hợp bất cứ khi nào lặp lại ta cũng cần thực thi đoạn lệnh i++ ; thì sao? Để tiện hơn cho việc code. Chúng ta có một phần tiếp theo để tìm hiểu. Đó là bước lặp lại.
Xét đoạn code sau:
static void Main(string[] args) { int i; for (i = 0; i < 10;) { Console.WriteLine(i); i++; } Console.ReadKey(); }- Ta có thể viết gọn lại bằng cách đưa i++; vào phần bước lặp lại của khối for.
- Kết quả tương tự như bình thường

- Chúng ta có thể thực hiện nhiều đoạn lệnh trong bước lặp.
- Ta thấy đoạn i++ và j += 3 được cách nhau bởi dấu phẩy (,)
- Với mỗi đoạn lệnh trong bước lặp. Chúng đươc phân cách nhau bởi dấu phẩy (,)
static void Main(string[] args) { int i; int j = 0; for (i = 0; i < 10; i++, j += 3, Console.WriteLine("Tăng")) { Console.WriteLine(i); } Console.ReadKey(); }
- Lưu ý:Đoạn code trong bước lặp còn có thể thêm cả Console.WriteLine("Tăng") vào (khuyến cáo không nên). Nhưng không thể thực hiện đoạn code có chứa từ khóa (như if, for …).
- Kết quả xuất dòng chữ "Tăng" mỗi khi lặp lại.

- Không thể thêm câu điều kiện
Các ví dụ sử dụng for trong C#
Chúng ta cùng thử một ví dụ đầy đủ về các phần của vòng lặp for nhé!
static void Main(string[] args) { int n = 100; int j = 0; for (int i = 0; i * j < n; i++, j += 3, Console.WriteLine("HowKTeam.com For Loop {0}", i)) { Console.WriteLine("======================================="); Console.WriteLine("i: {0} | j: {1} | i * j: {2}", i, j, i * j); } Console.ReadKey(); }- Kết quả

- Chúng ta cũng có thể vẽ một hình chữ nhật rỗng NxM với vòng lặp for:
- Kết quả sẽ thấy một hình chữ nhật rỗng chiều ngang 10 chiều dài 20 được vẽ lên màn hình.

- Ta có thể thay đổi giá trị của M, N, drawChar và insideChar để có những hình chữ nhật màu mè cùng kích thước khác nhau.

- Bạn hãy thử thay đổi màu sắc hoặc vẽ hình chữ nhật ở bất cứ đâu trên màn hình console nhé. Thử vẽ hình chữ nhật đặc hay hình tam giác, hình tròn cũng là một thử thách thú vị đấy. Chúc các bạn thành công!

- Code gợi ý cho trường hợp trên:

Kết luận
Qua bài này chúng ta đã nắm được cách sử dụng vòng lặp for. Một cấu trúc rất mạnh mẽ và tần xuất sử dụng cực kỳ nhiều trong lập trình. Những đặc điểm của vòng lặp for. Cùng những điều cần lưu ý.
Bài sau chúng ta sẽ đi sâu hơn vào cách sử dụng của CẤU TRÚC VÒNG LẶP WHILE TRONG C#.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Vòng lặp For trong C#. dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
CỘNG ĐỒNG HỎI ĐÁP HOWKTEAM.COM
GROUP THẢO LUẬN FACEBOOK Nội dung bài viết
Tác giả/Dịch giả
Mỗi buổi sáng thức dậy, bạn có 2 lựa chọn, tiếp tục ngủ để mơ những giấc mơ hoặc thức dậy và theo đuổi chúng!
Khóa học
Khóa học lập trình C# căn bản
Bạn mới bắt đầu học lập trình? Bạn đang muốn học thêm ngôn ngữ lập trình mới? C# là lựa chọn hoàn hảo để đáp ứng các nhu cầu trên.
Ngôn ngữ C# là một ngôn ngữ mới, cấu trúc rõ ràng, dễ hiểu và dễ học. C# thừa hưởng những ưu việt từ ngôn ngữ Java, C, C++ cũng như khắc phục được những hạn chế của các ngôn ngữ này. C# là ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, được xây dựng dựa trên C++ và Java.
Khoá học lần này sẽ mang đến toàn bộ những kiến thức cơ bản về C#. Chào mừng các bạn đã đến với khoá học LẬP TRÌNH C# CƠ BẢN của Kteam.
Đánh giá
Công thức phức tạp mà ko giảng kĩ nhờ
Báo cáoHơi vội sai điều kiên i == M; j==N vì i nó thuộc N và j thuộc M nên đúng đk là i==0 || i==N || j==0 || j ==M thì sẽ chạy đúng HCN. Bạn này viết sai chạy sai nên vội đánh giá phải quay lại công thức phức tạp kia.
Báo cáoBình luận
Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhậpstatic void Main(string[] args) { int hang = 10; int cot = 20;
char benngoai = '*'; char bentrong = ' '; for (int i = 0; i < hang; i++) { for (int j = 0; j < cot; j++) { if (i % (hang - 1) == 0 || (j%(cot-1)==0)) { Console.ForegroundColor = ConsoleColor.Yellow; // Màu chữ là vàng Console.Write(benngoai); // lúc này là ký tự * } else { Console.Write(bentrong); // lúc này là ký tự rỗng ' ' } } Console.WriteLine(); } Console.ReadKey(); }
0 0 Trả lời Báo cáousing System;
namespace ConsoleApp17 { class Program { static void Main(string[] args) { int N = 10; int M = 20;
char drawChar = '*'; char insideChar = 'y';
// Vẽ từ trên xuống for (int i = 0; i < N; i++) { // Vẽ từ trái sang for (int j = 0; j < M; j++) { /* * Nếu đang ở tọa độ là cạnh trên hoặc dưới i % (N - 1) == 0 * hoặc đang ở cạnh trái hoặc phải (j % (M - 1) == 0) * mà không nằm ở cạnh trên hoặc dưới (i % (N - 1) != 0) * ((i % (N - 1) != 0) && (j % (M - 1) == 0)) * thì vẽ ra ký tự của hình chữ nhật * ngược lại vẽ ra ký tự không thuộc hình chữ nhật */
/*if (j % (M - 1) == 0 || (i % (N - 1) == 0)) { Console.ForegroundColor = ConsoleColor.Blue; Console.Write(drawChar); // lúc này là ký tự * } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(insideChar); // lúc này là ký tự rỗng ' ' }*/ /*if(i==0||i==N-1||j==0||j==M-1) { Console.Write(drawChar); } else { Console.Write(insideChar); }*/ /*if ((i % (N - 1) == 0)||j % (M - 1) == 0&&i%(N-1)!=0) { Console.ForegroundColor = ConsoleColor.Blue; Console.Write(drawChar); // lúc này là ký tự * } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(insideChar); // lúc này là ký tự rỗng ' ' }*/ if ((i % (N - 1) == 0)&& j % (M - 1) != 0 || j % (M - 1) == 0) { Console.ForegroundColor = ConsoleColor.Blue; Console.Write(drawChar); // lúc này là ký tự * } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.Write(insideChar); // lúc này là ký tự rỗng ' ' } } //mỗi lần vẽ xong một hàng thì xuống dòng Console.WriteLine(); } Console.ReadKey(); } } }
0 0 Trả lời Báo cáochỗ kẻ bảng chỉ cần xét nó có nằm trên 1 cạnh bất kì hay không thôi chứ đâu cần phức tạp lên như cái cái ví dụ nhỉ :(
if ( i % ( N - 1 ) == 0 || j % ( M - 1 ) == 0)
1 0 Trả lời Báo cáo Xem tất cả 1 câu trả lời Xem thêm ...Danh sách bài giảng
Nội dungKhông có video.
Danh sách bài giảngĐánh giá và Nhận xét
Quan tâm Tag theo dõiYêu cầu đăng nhập
Để sử dụng tính năng này, Bạn cần đăng nhập bằng tài khoản Howkteam.
Đăng nhậpAD BLOCKER DETECTED
Để xem được nội dung và giúp Kteam duy trì hoạt động. Bạn vui lòng tắt Adblock trên website howkteam.vn nhé!
Từ khóa » C# 2 Hoch N
-
Math.Pow(Double, Double) Method (System) - Microsoft Docs
-
C# | Math.Pow() Method - GeeksforGeeks
-
Is There An Exponent Operator In C#? - Stack Overflow
-
JavaScript Math Pow() Method - W3Schools
-
Exponent In C# | Delft Stack
-
Scripting API: Mathf.Pow - Unity - Manual
-
Hochzahlen In C#
-
Wie Schreibe Ich 10^-3? - Narkive
-
Potenzbutton Mit C#? Potenzen Rechnen Mit C - Gutefrage
-
Cách Tính Giai Thừa Của Một Số Trong C#
-
Kotlin Program To Calculate The Power Of A Number - Programiz
-
SQL POWER() Function - W3resource
-
Zweierpotenz (Power Of Two) - TRAIN Your Programmer