Cấu trúc điều khiển if else trong C++

Trong ngôn ngữ C++ cũng như các ngôn ngữ lập trình khác như JAVA, C#, Ruby, PHP, Javascript thì chương trình sẽ được biên dịch và thực thi các câu lệnh theo thứ tự từ trên xuống dưới. Vậy trong một số trường hợp chúng ta muốn đoạn code của mình chỉ được thực thi khi thõa mãn một số điều kiện nào đó thì phải làm như thế nào? Trong C++ có hỗ trợ cho chúng ta thực hiện điều trên bằng cấu trúc điều khiển như  if elseswitch case.

Trong bài học hôm nay chúng ta chỉ tìm hiều cấu trúc điều khiển if else trong C++, còn cấu trúc điều khiển switch case chúng ta sẽ tìm hiểu trong bài kế tiếp.

Vậy cấu trúc điều khiển if else trong C++ là gì?  Có mấy loại cấu trúc điều khiển if else  thì chúng ta sẽ cùng tìm hiểu nhé.

1. Nội dung chính của lệnh if

Câu lệnh if else trong C++ dùng để điều khiển đoạn code được thực thi khi thõa mãn được điều kiện. Trong C++ có các loại cấu trúc điều khiển if else như sau:

  • if statement (Câu lệnh if)
  • if else statement (Câu lệnh if else)
  • nested if statement (Câu lệnh if lồng nhau)
  • if else if ladder 

Bây giờ chúng ta sẽ lần lượt tìm hiểu từng loại nhé.

2. Tìm hiểu lệnh If

Câu lệnh if là cấu trúc điều khiển đơn giản nhất, nó quyết định đoạn code được thi hay không. Nếu điều kiện đúng thì đoạn code bên trong lệnh if được thực thi, ngược lại thì đoạn code đó sẽ không được thực thi.

Trước hết chúng ta hãy xem cú pháp của nó đã nhé.

Cú pháp
if(condition) 
{
   // Doan code se duoc thuc thi neu condition la dung (statement)
}

Lưu ý: Nếu chúng ta không cung cấp dấu "{" sau câu lệnh if thì mặc định nó chỉ thực thi một dòng lệnh duy nhất theo sau if.

Nếu condition có giá trị TRUE thì đoạn code statement sẽ thực thi, ngược lại nếu condition có giá trị FALSE nó sẽ bỏ qua. Hãy xem lưu đồ hoạt động của lệnh if dưới đây.

Ví dụ
#include<iostream> 
using namespace std; 
  
int main() 
    { 
        int i = 5; 
   
        if (i > 5) 
        { 
           cout << i << " lon hon 5" << "\n"; 
        }     
        if (i = 5) 
        { 
           cout << i << " bang 5" << "\n"; 
        } 
        if (i < 5) 
        { 
           cout << i << " nho hon 5" << "\n"; 
        } 
        cout << "Cau lenh o ngoai if"; 
   } 

Và kết quả sau khi thực thi đoạn code trên:

Như các bạn thấy, vì biến i có giá trị là 5 nên lệnh if thứ hai sẽ được thực hiện, nên màn hình sẽ in ra kết quả là "5 bằng 5". Tiếp theo nó sẽ chạy các đoạn code bên ngoài lệnh if, tức là nó sẽ in ra dòng "Cau lenh o ngoai if".

3. Tìm hiểu lệnh if else

Câu lệnh if else sẽ thực thi đoạn code sau if nếu điều kiện đúng, ngược lại sẽ thực thi đoạn code sau else. Nếu xét theo lời văn chúng ta sử dụng trong cuộc sống hằng ngày thì chúng ta có ví dụ sau: Nếu bạn An đi học thì không bị phạt, ngược lại bạn An sẽ bị phạt.

Tương tự, bạn cần phải xem cú pháp và lưu  đồ hoạt động của nó trước khi làm ví dụ.

Cú pháp
if (condition)
{
    // Doan code se duoc thuc thi neu condition dung
}
else
{
   // Doan code se duoc thi thi neu condition sai
}

Lưu đồ hoạt động.

Ví dụ
#include<iostream> 
using namespace std; 
  
int main() 
    { 
        int i = 5; 
   
        if (i > 5) 
        { 
           cout << i << " lon hon 5" << "\n"; 
        } else { 
           cout << i << " nho hon hoac bang 5" << "\n"; 
        } 
        cout << "Cau lenh o ngoai if"; 
        return 0;
   } 

Và kết quả sau khi thực thi đoạn code trên:

Trong ví dụ này thì rõ ràng biến i = 5 nên điều kiện (i > 5) = FALSE, chính vì vậy nội dung bên trong lệnh else sẽ được thực hiện, sau đó chạy tiếp các dòng lệnh bên ngoài nên kết quả chúng ta thu được như hình trên.

4. Tìm hiểu lệnh if else lồng nhau

Câu lệnh if ở bên trong một câu lệnh if khác, chúng ta gọi đó là câu lệnh if else lồng nhau. Lệnh if else lồng nhau được sư dụng khá nhiều trong thực tế, nó giúp chúng ta rẻ nhánh những chương trình phức tạp.

Cú pháp
if (condition1) 
{
   // Doan code se duoc thuc thi khi condition1 dung
   if (condition2) 
   {
      // Doan code se duoc thuc thi khi condition2 dung
   }
}
Ví dụ
#include<iostream> 
using namespace std; 
  
int main() 
    { 
        int i = 15; 
   
        if (i > 5) 
        { 
           cout << i << " lon hon 5" << "\n"; 
           if (i > 15) {
               cout << i << " lon hon 15" << "\n"; 
           } else {
               cout << i << " nho hon hoac bang 15" << "\n";
           }
        } else { 
           cout << i << " nho hon hoac bang 5" << "\n"; 
        } 
        cout << "Cau lenh o ngoai if"; 
        return 0;
   } 

Các bạn cứ chạy từ trên xuống và từ trái qua phải. Vì biến i = 15 nên nội dung bên trọng lệnh if đầu tiên sẽ được chạy. Lúc này bên trong lại có thêm lệnh if else khác nên quy trình hoạt động cứ áp dụng nguyên tắc mà chúng ta đã học ở trên, và kết quả sẽ thu về là "15 nhỏ hơn hoặc bằng 15".

5. Tìm hiểu lệnh if else if ladder 

Câu lệnh if else if cho phép so sánh với nhiều điều kiện, chương trình sẽ chạy từ trên xuống dưới, nếu gặp điều kiện nào đúng thì sẽ thực thi đoạn code bên trong điều kiện đó. Ví vậy đối với cấu trúc điều khiển if else if chúng ta có thể thực thi nhiều đoạn code khác nhau.

Cú pháp
if (condition)
    statement;
else if (condition)
    statement;
.
.
else
    statement;

Lưu đồ hoạt động.

Ví dụ
#include<iostream> 
using namespace std; 
  
int main() 
    { 
        int i = 15; 
   
        if (i == 5) 
        { 
           cout << i << " bang 5" << "\n";
        } else if (i == 10)  { 
           cout << i << " bang 10" << "\n"; 
        } else if (i == 15) {
            cout << i << " bang 15" << "\n"; 
        } else if (i == 20) {
            cout << i << " bang 20" << "\n"; 
        } else if (i == 25) {
            cout << i << " bang 25" << "\n"; 
        } else {
            cout << i << " gia tri khac" << "\n"; 
        }
        cout << "Cau lenh o ngoai if"; 
        return 0;
   } 

Cách dùng này có thể thay thế cho lệnh if else lồng nhau trong một số trường hợp, chính vì vậy trong thực tế cách này được sử dụng nhiều nhất. 

Mình sẽ không giải thích kết quả nữa, bạn hãy tự chạy và tự tìm hiểu nhé.

6. Kết luận

Như vậy chúng ta đã tìm hiểu xong 4 loại cấu trúc điều khiển if trong C++ đó là câu lệnh if, câu lệnh if-else, câu lệnh if lồng nhau, câu lệnh if-else-if

Trong bài này chúng ta chỉ cần nhớ một số điểm cần lưu ý đó là câu lệnh if chỉ có một điều kiện, nếu điều kiện đúng thì thực thi đoạn code, ngược lại đoạn code sẽ không được thực thi. 

Câu lệnh if-else nếu điều kiện đúng sẽ thực thi đoạn code bên trong if, ngược lại sẽ thực thi đoạn code bên trong else, câu lệnh if-else-if cho phép so sánh nhiều điều kiện, đi từ trên xuống dưới, nếu điều kiện nào đúng thì thực thi đoạn code bên trong điều kiện đó. 

Tùy theo yêu cầu bài toán của mình mà áp dụng cấu trúc điều khiển if cho phù hợp. Trong bài học tiếp theo chúng ta sẽ cùng tìm hiểu một cú pháp điều khiển nữa trong C++ đó là switch-case.

Khóa học nên xem

Nguồn: freetuts.net