2.1.1 Câu lệnh có điều kiện (1)

Chúng ta sẽ bắt đầu với một cụm từ đơn giản như sau: “Nếu thời tiết tốt chúng ta sẽ đi dạo”. Trong ngôn ngữ C++, chúng ta sẽ thể hiện nó như sau:

if (thoi_tiet_tot) DiDao();

Câu nói trên không đề cập gì đến việc sẽ xảy ra nếu thời tiết xấu. Chúng ta chỉ biết rằng chúng ta sẽ không đi ra ngoài, nhưng không biết cụ thể sẽ làm gì. Chúng ta cũng có thể đưa ra kế hoạch cho trường hợp thời thiết xấu nữa. Trong trường hợp này chúng ta có thể nói: “Nếu thời tiết tốt chúng ta sẽ đi dạo, nếu không thì chúng ta sẽ đi đến rạp hát”. Câu này sẽ làm cho kế hoach của chúng ta chống lại được sự bất thường của của thời tiết – chúng ta biết rằng chúng ta sẽ làm gì nếu các điều kiện chúng ta đưa ra được thỏa mãn và chúng ta cũng biết chúng ta sẽ làm gì nếu những gì xảy ra không theo ý muốn. Nói cách khác, chúng ta có kế hoạch “B”.

Ngôn ngữ C++ cho phép chúng ta đưa ra những kế hoạch thay thế này. Chúng ta làm điều đó bằng một hình thức thứ hai, hơi phức tạp hơn của câu lệnh có điều kiện – nó như sau→

if (true_or_false_condition)

perform_if_condition_true;

else

perform_if_condition_false;

Chúng ta có một từ mới là: else – nó là một keyword (reserved word). Câu lệnh bắt đầu với “else” đưa ra việc sẽ được thực hiện nếu điều điện đưa ra trong if không đạt được. Như vậy, câu lênh if-else sẽ được thực hiện như sau:

  • Nếu điều kiện là “true” (giá trị khác 0) thì thực hiện perform_if_condition_true và câu lệnh có điều kiện kết thúc.
  • Nếu điều kiện là “false” (giá trị = 0) thì thực hiện perform_if_condition_false và câu lệnh có điều kiện kết thúc.

Bằng cách sử dụng dạng này của câu lênh có điều kiện, chúng ta có thể mô tả kế hoạch của chúng ta như sau →

if(thoi_tiet_tot)

DiDao();

else

DiDenRapHat();

AnTrua();

Đối với các trường hợp đơn giản thì if và else có thể chỉ chứa 1 câu lệnh. Đối với các trường hợp phức tạp hơn thì bạn có thể có nhiều hơn một câu lệnh trong các nhánh if-else, khi đó cần phải sử dụng các dấu {} để tạo block xử lý. Ví dụ →

if(thoi_tiet_tot) {

DiDao();

VuiVe();

} else {

DiDenRapHat();

ThuongThucAmNhac();

} AnTrua();