[Basic] Các câu lệnh điều khiền

Câu lệnh if/else

Cú pháp

if (condition)
{
   statement;
}

=> nếu điều kiện trong if là đúng (khác 0) câu lệnh trong if sẽ được thực hiện.

Hoặc

if (condition)
{
   statement;
}
esle
{
   statement_1;
}

=> nếu điều kiện trong if là đúng (khác 0) câu lệnh trong if sẽ được thực hiện, ngược lại sẽ thực hiện câu lệnh trong else.

Ví dụ

#include <iostream>

using namespace std;

int main()
{
   
   int number;

   cout << "Enter number : ";

   cin >> number;

   if (number % 2 == 0)
   
   {
      
      cout << number << " là số chẵn" << endl;
   
   }
   
   else
   
   {
      
      cout << number << " là số lẻ" << endl;
   
   }
   
   return 0;
 
}

Chú ý:

Tránh nhầm lần toán tử so sánh ‘==’ và toán tử gán ‘=’ trong điều kiện của if

Toán tử ‘=’

if (x = 10)
{
   //TODO
}

Tương đương với

x = 10;

if (x)
{
   //TODO
}

Như chúng ta đã biết trong biểu thức điều kiện trả về false khi có giá trị 0, và true khi khác 0.

Ta xem 2 ví dụ bên dưới

#include <iostream>

using namespace std;

int main()

{
   
   int number = 10;

   //Giá trị trong biểu thức bằng 0 nên điều kiện là false
   if (number = 0)
   
   {
      
      cout << "True" << endl;
   
   }
   
   else
   
   {
      
      cout << "False" << endl;
   
   }
   
   return 0;
 
}

Kết quả: 

False
#include <iostream>

using namespace std;

int main()

{
   
   int number = 10;
 
   //Giá trị trong biểu thức khác 0 nên điều kiện là true
   if (number = -1)
   
   {
      
      cout << "True" << endl;
   
   }
   
   else
   
   {
      
      cout << "False" << endl;
   
   }
   
   return 0;

}

Kết quả:

True

Câu lệnh switch

Cú pháp

switch (expressions)
 {
 case value_1:
    statement_1
    [break];

case value_2:
    statement_2
    [break];
 ...
 case value_n:
    statement_n
    [break];

 default:
    statement_df
    [break];
 }

Ví dụ:

#include <iostream>

enum Colors

{
   
   BLACK,
   
   WHITE,
   
   RED,

};

int main()

{
   
   Colors color = BLACK;
 
   switch (color)
   
   {
   
   case BLACK:

      std::cout << "Black";
 
      break;
 
   case WHITE:
 
      std::cout << "White";
     
      break;
 
   case RED:
 
      std::cout << "Red";
 
      break;
 
   default:
 
      std::cout << "No color";
 
      break;
   
   }
 
   return 0;

}

Chú ý:

  • Giá trị của biểu thức trong switch phải là kiểu nguyên hoặc enum

Ví dụ

float val = 10.0f;

switch (val) //ERROR vì val là số thực
{
   //TODO
}
  • Giá trị của case phải là hằng số
  • Định nghĩa biến trong lệnh case.

C1 :  Khai báo biến nhưng không khởi tạo giá trị

Ví dụ

switch (color)

{
   
   case BLACK:
 
      int val;
 
      val = 10;
 
      break;
 
   case WHITE:
 
      //biến val cũng có thế sử dụng ở đây
      val = 20;
 
      break;
 
   default:
 
      std::cout << "No color";
 
      break;
 
}

C2 : Định nghĩa biến bên trong block

switch (color)

{
   
   case BLACK:
   
   {
      
      int val = 10;
 
      break;
   
   }
 
   case WHITE:
 
      //biến val KHÔNG thế sử dụng ở đây
 
      break;
 
   default:
 
      std::cout << "No color";
 
      break;
 
}
  • Nên luôn luôn sử dụng nhãn default trong switch

Lệnh nhảy GOTO

Lệnh goto là 1 lệnh điều khiển làm cho CPU nhảy tới dòng lệnh đã được gán nhãn:

Ví dụ:  Viết chương trình nhập vào số dương

#include <iostream>

using namespace std;

int main()

{
   int number;
 
loop:
 
   cout << "Enter number";
 
   cin >> number;
 
   if (number < 0)
   
   {
      
      goto loop;
   
   }
   
   return 0;

}

Chú ý:

  • Không nên sử dụng lệnh goto.

Was this article helpful?

Leave A Comment?