06/04/2021, 14:47

Cấu trúc lệnh if else trong C++ (có bài tập thực hành) - Học C++ căn bản và nâng cao

Trong bài này chúng ta sẽ học cách sử dụng lệnh if else trong C++, đây là một lệnh điều khiển rẻ nhánh chương trình rất thông dụng trong lập trình 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, đó là chương trình sẽ được biên dịch và thực thi các ...

Trong bài này chúng ta sẽ học cách sử dụng lệnh if else trong C++, đây là một lệnh điều khiển rẻ nhánh chương trình rất thông dụng trong lập trình 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, đó là 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 else, switch 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. Câu lệnh if else trong C++

Câu lệnh if else trong C++ đượ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 (Câu lệnh else if)

Trước khi tìm hiểu sâu hơn thì mình muốn nói một chút về mệnh đề.

Thực tế thì lệnh if else rất giống với mệnh đề, nó gồm hai thành phần, thứ nhất là điều kiện của mệnh đề và thứ hai là nội dung thực hiện của mệnh đề.

Ví dụ mình có mệnh đề sau: "Nếu tôi thi được 10 điểm thì được bố mẹ cho đi Đà Lạt chơi".

  • Điều kiện là phải thi 10 điểm
  • Nội dung thực hiện là đi Đà Lạt chơi

Trong lập trình cũng vậy, chúng ta có thể viết một ứng dụng như vậy bằng cách sử dụng lệnh if else.

2. Cấu trúc lệnh if trong C++

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 đúng
}

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.

if 1 PNG

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

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

if 2 PNG

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. Cấu trúc lệnh if else trong C++

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ấu trúc if else C++
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.

h PNG

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

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

e PNG

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. Lệnh if else lồng nhau trong C++

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" << "
"; 
           if (i > 15) {
               cout << i << " lon hon 15" << "
"; 
           } else {
               cout << i << " nho hon hoac bang 15" << "
";
           }
        } else { 
           cout << i << " nho hon hoac bang 5" << "
"; 
        } 
        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.

t1 PNG

Ví dụ
#include<iostream> 
using namespace std; 
  
int main() 
    { 
        int i = 15; 
   
        if (i == 5) 
        { 
           cout << i << " bang 5" << "
";
        } else if (i == 10)  { 
           cout << i << " bang 10" << "
"; 
        } else if (i == 15) {
            cout << i << " bang 15" << "
"; 
        } else if (i == 20) {
            cout << i << " bang 20" << "
"; 
        } else if (i == 25) {
            cout << i << " bang 25" << "
"; 
        } else {
            cout << i << " gia tri khac" << "
"; 
        }
        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. Câu lệnh if rút gon C++

Trong C++ có một cách để viết rút gọn lệnh if đó là sử dụng toán tử ba ngôi. Đây là toán tử khá đơn giản, chỉ sử dụng trong trường hợp bạn muốn lấy một giá trị nào đó dựa vào một điều kiện đơn giản.

Cú pháp của nó như sau:

condition ? true_value : false_value;

Trong đó:

  • Condition là điều kiện kiểm tra
  • true_valua là giá trị sẽ được lấy nếu condition = true
  • false_value là giá trị sẽ được lấy nếu condition = false

Ví dụ: In ra "số 1" hoặc "khác 1" dựa vào giá trị mà người dùng nhập vào.

#include <iostream>
using namespace std;

int main()
{
  	int number;
  	string message;
  	
  	cout << "Nhap so vao: ";
  	cin >> number;
  	
  	message = (number == 1) ? "so 1" : "khac 1";
  	
  	cout << message;
  	
    return 1;
}

7. 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.

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0