1. Các cấu trúc điều khiểnC# cung cấp hai cấu trúc điều khiển thực hiện việc lựa chọn điều kiện thực thi chương trình đó là cấu trúc if và switch...case
 |
Cấu trúc lệnh trong C#
|
Cấu trúc ifCấu trúc if trong C# được mô tả như sau:
if (biểu thức điều kiện)
{
}
[else
{
}]
Ví dụ:
if (20 % 4 > 0)
{
Console.WriteLine("Số 20 không chia hết cho 4");
}
else
{
Console.WriteLine("Số 20 chia hết cho số 4");
}
Cấu trúc switch … caseCấu trúc switch … case có cấu trúc như sau:
switch (Biến điều kiện)
{
case giá trị 1:
break;
case giá trị 2:
break;
case giá trị 3:
break;
default:
break;
}
Ví dụ:
int x = 20 % 4;
switch (x)
{
case 1:
Console.WriteLine("20 chia cho 4 được số dư là 1");
break;
case 0:
Console.WriteLine("20 chia hết cho 4");
break;
default:
Console.WriteLine("Không thuộc tất cả các trường hợp trên");
break;
}
2. Cấu trúc vòng lặp trong lập trình C#C# cung cấp các cấu trúc vòng lặp chương trình
§ While
§ Do… while
§ For
§ Foreach
Sau đây là cách thức sử dụngVòng lặp WhileCấu trúc vòng lặp while
while (biểu thức điều kiện)
{
}
Thực thi câu lệnh hoặc một loạt những câu lệnh đến khi điều kiện không được thỏa mãn.Ví dụ:
using System;
class WhileTest
{
public static void Main()
{
int n = 1;
while (n < 10)
{
Console.WriteLine("Current value of n is {0}", n);
n++;
}
}
}
Vòng lặp doCấu trúc vòng lặp do while
do
{
}
while (biểu thức điều kiện)
Thực thi câu lệnh ít nhất một lần đến khi điều kiện không được thỏa mãn.Ví dụ:
using System;
public class TestDoWhile
{
public static void Main ()
{
int x;
int y = 0;
do
{
x = y++;
Console.WriteLine(x);
}
while(y < 10)
}
}
Vòng lặp forCấu trúc vòng lặp for
for ([ phần khởi tạo] ; [biểu thức điều kiện]; [bước lặp])
{
}
Ví dụ:
using System;
public class ForLoopTest
{
public static void Main()
{
for (int i = 1; i <= 5; i++)
Console.WriteLine(i);
}
}
Vòng lặp foreachCâu lệnh lặp foreach khá mới với những người đã học ngôn ngữ C, từ khóa này được sử dụng trong ngôn ngữ Visual Basic. Câu lệnh foreach cho phép chúng ta lặp qua tất cả các mục trong một mảng hay trong một tập hợp. Cú pháp sử dụng lệnh lặp foreach như sau:
foreach (var item in collection )
{
}
Dữ liệu kiểu tập hợp chưa được đề cập tới trong các bài học trước nên bạn chỉ cần quan tâm đến vòng lặp foreach sử dụng với mảng. Bạn hãy xem ví dụ sau để hiểu cách sử dụng của vòng lặp foreach truy cập đến từng phần từ của mảng.
using System;
public class UsingForeach
{
public static int Main()
{
int[] intArray = {1,2,3,4,5,6,7,8,9,10};
foreach( int item in intArray)
{
Console.Write("{0} ", item);
}
Console.ReadLine();
return 0;
}
}
Kết quả:
0 1 2 3 4 5 6 7 8 9 10
3. Các lệnh break, goto và continueCâu lệnh nhảy goto:Lệnh nhảy goto là một lệnh nhảy đơn giản, cho phép chương trình nhảy vô điều kiện tới một vị trí trong chương trình thông qua tên nhãn. Goto giúp chương trình của bạn được linh hoạt hơn nhưng trong nhiều trường hợp nó sẽ làm mất đi cấu trúc thuật toán và gây rối chương trình.Cách sử dụng lệnh goto:Tạo một nhãngoto đến nhãnNhãn là một định danh theo sau bởi dấu hai chấm (:). Thường thường một lệnh goto gắn với một điều kiện nào đó.Ví dụ:
using System;
public class UsingGoto
{
public static void Main()
{
int i = 0;
lap:
Console.WriteLine("i:{0}",i);
i++;
if ( i < 10)
goto lap;
Console.ReadLine();
}
}
Tương đương với vòng lặp for sau:
for (int i = 0; i < 10; i++)
Console.WriteLine("i:{0}", i);
Câu lệnh nhảy break và continueKhi đang thực hiện các lệnh trong vòng lặp, có yêu cầu như sau: không thực hiện các lệnh còn lại nữa mà thoát khỏi vòng lặp, hay không thực hiện các công việc còn lại của vòng lặp hiện tại mà nhảy qua vòng lặp tiếp theo. Để đáp ứng yêu cầu trên C# cung cấp hai lệnh nhảy là break và continue để thoát khỏi vòng lặp.Break khi được sử dụng sẽ đưa chương trình thoát khỏi vòng lặp và tiếp tục thực hiện các lệnh tiếp ngay sau vòng lặp.Continue ngừng thực hiện các công việc còn lại của vòng lặp hiện thời và quay về đầu vòng lặp để thực hiện bước lặp tiếp theo.Ví dụ:
public class UsingBreak_Continue
{
public static void Main()
{
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0) continue;
Console.WriteLine("i:{0}", i);
if (i==7) break;
}
Console.ReadLine();
}
}
Nếu không có lệnh break và continue vòng lặp sẽ lần lượt in ra các số từ 0 đến 9 nhưng khi gặp I chẵn (i%2==0) thì nó sẽ continue – tức là không thực hiện các lệnh tiếp theo mà quay trở lại đầu vòng lặp với giá trị của I được tăng lên 1. Lệnh break được thực hiện khi (i==7) nó sẽ thoát khỏi vòng lặp ngay lập tức và cũng kết thúc chương trình và kết quả là chương trình trên chỉ in ra các số lẻ từ 1 đến 7