Một chương trình thường không chỉ bao gồm các lệnh tuần tự nối tiếp nhau. Trong quá trình chạy nó có thể rẽ nhánh hay lặp lại một đoạn mã nào đó. Để làm điều này chúng ta sử dụng các cấu trúc điều khiển.
Cùng với việc giới thiệu các cấu trúc điều khiển chúng ta cũng sẽ phải biết
tới một khái niệm mới: khối lệnh, đó là một nhóm các lệnh được ngăn cách
bởi dấu chấm phẩy (;) nhưng được gộp trong một khối giới hạn bởi một cặp
ngoặc nhọn: { và }.
Hầu hết các cấu trúc điều khiển mà chúng ta sẽ xem xét trong chương này cho
phép sử dụng một lệnh đơn hay một khối lệnh làm tham số, tuỳ thuộc vào chúng ta
có đặt nó trong cặp ngoặc nhọn hay không.
Cấu trúc điều kiện: if và else
Cấu
trúc này được dùng khi một lệnh hay một khối lệnh chỉ được thực hiện khi một
điều kiện nào đó thoả mãn. Dạng của nó như sau:
if (condition) statement
trong
đó condition là biểu thức
sẽ được tính toán. Nếu điều kiện đó là true,
statement được
thực hiện. Nếu không statement
bị bỏ qua (không thực hiện) và chương trình tiếp tục thực hiện lệnh tiếp sau
cấu trúc điều kiện.
Ví dụ, đoạn mã sau đây sẽ viết x is
100 chỉ khi biến x
chứa giá trị 100:
if (x == 100)
cout << "x is
100";
Nếu
chúng ta muốn có hơn một lệnh được thực hiện trong trường hợp condition là true chúng ta có thể chỉ định một khối
lệnh bằng cách sử dụng một cặp ngoặc nhọn {
}:
if (x == 100)
{
cout << "x is
";
cout << x;
}
Chúng ta cũng có thể chỉ định điều gì sẽ xảy ra nếu điều kiện không được
thoả mãn bằng cách sửu dụng từ khoá else. Nó được sử dụng cùng với if như sau:
if (condition) statement1 else statement2
Ví
dụ:
if (x == 100)
cout << "x is
100";
else
cout << "x is not
100";
Cấu trúc if + else có thể được móc nối để kiểm tra nhiều giá
trị. Ví dụ sau đây sẽ kiểm tra xem giá trị chứa trong biến x là dương,
âm hay bằng không.
if (x > 0)
cout << "x is
positive";
else if (x < 0)
cout << "x is
negative";
else
cout << "x is
0";