🌱 C++ Conditional Statement - Câu lệnh điều kiện if..else

🌱 C++ Conditional Statement - Câu lệnh điều kiện if..else

Trong lập trình nói chung, và lập trình C++ nói riêng, câu lệnh điều kiện - Conditional Statement / hay Decision Statement, được sử dụng để chạy các đoạn code khi thỏa mãn các điều kiện nhất định và các đoạn code đối với từng điều kiện khác nhau.

    Ví dụ, chấm điểm (A, B, C) dựa trên điểm mà học sinh đạt được.

  • Nếu tỷ lệ trên 90 thì xếp loại A.
  • Nếu tỷ lệ trên 75 thì xếp loại B.
  • Nếu tỷ lệ trên 65 thì xếp loại C.
  • Còn lại thì xếp loại D.

    🔻 Trong C++ hỗ trợ 2 câu lệnh điều kiện là ifswitch. Trong bài viết này sẽ giới thiệu về câu lệnh điều kiện if và cách sử dụng.

    👉 C++ if statement

    Cú pháp của câu lệnh if,

if (condition) {
  // body of if statement
}

    Câu lệnh if sẽ kiểm tra điều kiện (condition) trong dấu ngoặc đơn,

  • Nếu condition trả về true, đoạn code bên trong dấu ngoặc nhọn sẽ được thực thi.
  • Ngược lại condition trả về false, đoạn code bên trong sẽ bị bỏ qua.

CPP-if-working
Hoạt động của câu lệnh if

    ➤ Ví dụ sử dụng câu lệnh if trong C++,

#include <iostream>
using namespace std;

int main()
{
  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0)
  {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";
  return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau nếu bạn nhập đầu vào là số 5, số 5 ở đây thỏa mãn điều kiện number > 0 trả về true.

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau nếu bạn nhập đầu vào là số -5, số -5 ở đây thỏa mãn điều kiện number > 0 trả về false, nên đoạn code trên sẽ không được thực hiện.

Enter a number: -5
This statement is always executed.

    👉 C++ if ..else

    Câu lệnh if có thêm một điều kiện tùy chọn là câu lệnh else, mục đích là để thực thi đoạn code khi điều kiện trong if trả về false. Cú pháp,

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

CPP if else working
Hoạt động của câu lệnh điều kiện if..else

    Chương trình sẽ bắt đầu bằng việc kiểm tra condition,

  • Nếu condition trả về true,
    • Đoạn code trong if sẽ được thực thi.
    • Đoạn code trong else sẽ bị bỏ qua.
  • Nếu condition trả về false,
    • Đoạn code trong if sẽ bị bỏ qua.
    • Đoạn code trong else sẽ được thực thi.

    ➤ Ví dụ sử dụng câu lệnh điều kiện if..else

#include <iostream>
using namespace std;

int main()
{
  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) 
  {
    cout << "You entered a positive integer: " << number << endl;
  }
  else 
  {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";
  return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau nếu nhập vào số nguyên lớn hơn 0 - số 4, câu lệnh sẽ thỏa mãn điều kiện trong if,

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau nếu nhập vào số nguyên nhỏ hơn 0 - số -4, câu lệnh sẽ thỏa mãn điều kiện trong else,

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

    👉 C++ multiple if

    Ngoài việc chỉ kiểm tra 1 điều kiện như trên, trong lập trình chúng ta cũng có những trường hợp cần kiểm tra nhiều điều kiện hơn để thực hiện một trong nhiều khối lệnh. C++ cung cấp thêm cho chúng ta câu lệnh else if. Cú pháp,

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

    Ở đây, chương trình sẽ kiểm tra condition1 trước,

  • Nếu condition1 trả về true, chương trình sẽ thực hiện code block 1, bỏ qua những đoạn code khác,
  • Nếu condition1 trả về false, chương trình sẽ tiếp tục kiểm tra condition2,
    • Nếu condition2 trả về true, code block 2 sẽ được thực thi, bỏ qua những đoạn code khác,
    • Nếu condition2 trả về false, code block 3 sẽ được thực thi, bỏ qua những đoạn code khác.

Lưu ý: Chương trình hoàn toàn có thể sử dụng nhiều từ khóa else if để kiểm tra nhiều điều kiện khác nhau trong một lệnh, nhưng chỉ được dùng nhiều nhất 1 từ khóa ifelse.
Trong một câu lệnh if - else if - else, chương trình sẽ chỉ thực hiện duy nhất đoạn code block trong 1 nhánh.

     Ví dụ sử dụng câu lệnh else if,

#include <iostream>
using namespace std;

int main()
{
  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";
  return 0;
}

    Run This Code    

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau trong 3 trường hợp đầu vào là 1 / -2 / 0 với 3 điều kiện khác nhau,

    Trường hợp đầu vào là 1,

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

    Trường hợp đầu vào là -2,

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

    Trường hợp đầu vào là 0,

Enter an integer: 0
You entered 0.
This line is always printed.

    👉 C++ nested if

    Nhiều trường hợp, chúng ta cần sử dụng một câu lệnh if bên trong một câu lệnh if khác, việc này gọi là nested if - câu lệnh if lồng nhau. Cú pháp,

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Lưu ý: 

  • Chúng ta có thể thêm elseelse if vào câu lệnh if bên trong theo từng mục đích sử dụng.
  • Câu lệnh if bên trong cũng có thể được chèn vào bên trong câu lệnh else hoặc else if bên ngoài (nếu chúng được sử dụng).
  • Chúng ta có thể sử dụng nhiều level if lồng nhau.

    ➤ Ví dụ sử dụng nested if,

#include <iostream>
using namespace std;

int main()
{
  int num;
    
  cout << "Enter an integer: ";  
  cin >> num;    

  // outer if condition
  if (num != 0)
  {     
     // inner if condition
     if (num > 0)
     {
       cout << "The number is positive." << endl;
     }
     else
     {
       cout << "The number is negative." << endl;
     }  
  }
  else
  {
     cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;
  return 0;
}

    Run This Code    

    Việc sử dụng nested if khá đơn giản về mặt logic, chương trình sẽ kiểm tra và thực hiện các câu lệnh từ trên xuống dưới, nếu câu lệnh if ở ngoài trả về true, thì câu lệnh if ở trong mới được thực thi.

    ➥ Các bạn có thể bấm "Run This Code", kết quả hiển thị trên màn hình console như sau với từng trường hợp,

Enter an integer: 35
The number is positive.
This line is always printed.
Enter an integer: -35
The number is negative.
This line is always printed.
Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

    👉 Một số lưu ý về câu lệnh if

    Câu lệnh if..else có hoạt động tương tự như toán tử 3 ngôi ?: đã được giới thiệu ở bài Operators.

    Một số trường hợp chúng ta cần câu lệnh điều kiện thực hiện nhiều nhánh khác nhau, có thể sử dụng câu lệnh điều kiện switch, sẽ được giới thiệu ở bài viết sau!

>>>= Follow ngay =<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

                                                       

Nguyễn Văn Nghĩa

Mình là một người thích học hỏi và chia sẻ các kiến thức về Nhúng IOT.

Đăng nhận xét

Mới hơn Cũ hơn