Học C++/Câu lệnh điều khiển

Các cấu trúc điều khiển yêu cầu lập trình viên xác định một hoặc nhiều điều kiện để được đánh giá và kiểm tra bởi chương trình, cùng với các lệnh được thực hiện nếu điều kiện được xác định là đúng, hoặc các lệnh khác được thực hiện nếu điều kiện xác định là sai.

Lệnh Miêu tả
Lệnh if trong C++ Một lệnh if bao gồm một biểu thức logic theo sau bởi một hoặc nhiều lệnh khác.
Lệnh if...else trong C++ Một lệnh if có thể theo sau bởi một lệnh else (tùy ý: có hoặc không), mà có thể được thực hiện khi biểu thức logic có giá trị false.
Lệnh switch trong C++ Một lệnh switch cho phép kiểm tra điều kiện của một biến trước khi thực thi các lệnh.

Lệnh if

sửa

Một lệnh if chứa một biểu thức boolean được theo sau bởi một hoặc nhiều lệnh. Nếu biểu thức boolean được ước lượng là true, thì sau đó khối code bên trong lệnh if sẽ được thực thi. Nếu biểu thức boolean được ước lượng là false, thì khi đó, lệnh ngay sau lệnh if sẽ được thực thi.

if(bieu_thuc_boolean)
{
   // cac lenh se duoc thuc thi neu bieu thuc boolean la true
}

Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // Khai bao bien cuc bo:
   int a = 10;
 
   // kiem tra dieu kien cua bieu thuc boolean
   if( a < 20 )
   {
       // Neu dieu kien la true thi in dong sau
       cout << "a la nho hon 20." << endl;
   }
   cout << "Gia tri cua a la: " << a << endl;
 
   return 0;
}

Lệnh if…else

sửa

Lệnh if có thể được theo sau bởi một lệnh else tùy ý, mà thực hiện khi biểu thức boolean là false.

if (bieu_thuc_boolean)
{
   // cac lenh se duoc thuc thi neu bieu thuc boolean la true
}
else
{
  // cac lenh se duoc thuc thi neu bieu thuc boolean la false
}

Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // Khai bao bien cuc bo:
   int a = 100;
 
   // kiem tra dieu kien cua bieu thuc boolean
   if( a < 20 )
   {
       // Neu dieu kien la true thi in dong sau
       cout << "a la nho hon 20." << endl;
   }
   else
   {
       // Neu dieu kien la false thi in dong sau
       cout << "a khong nho hon 20." << endl;
   }
   cout << "Gia tri cua a la: " << a << endl;
 
   return 0;
}

Lệnh switch...case

sửa

Một lệnh switch cho một biến được kiểm tra một cách bình đẳng trong danh sách các giá trị. Mỗi giá trị được gọi là một case (trường hợp) và biến được chuyển tới được kiểm tra cho mỗi trường hợp switch.

switch (bieu_thuc){
    case bieu_thuc_hang:
       statement(s);
       break;
    case bieu_thuc_hang:
       statement(s);
       break;
    ...
    default:
       statement(s);
}

Các quy tắc sau được áp dụng tới một lệnh switch:

  • Biểu thức bieu_thuc được sử dụng trong một lệnh switch phải có kiểu là integer hoặc liệt kê, hoặc là một trong các kiểu lớp trong đó lớp có một hàm biến đổi đơn tới một kiểu integer hoặc kiểu liệt kê.
  • Có thể có bất kỳ số lệnh case nào trong một switch. Mỗi case được theo sau bởi giá trị để được so sánh và một dấu hai chấm.
  • bieu_thuc_hang, là biểu thức hằng, cho một case phải cùng kiểu dữ liệu với biến trong switch, và nó phải là hằng số.
  • Khi biến được chuyển tới là cân bằng với một case, lệnh theo sau case đó sẽ thực thi tới khi gặp lệnh break. Khi gặp lệnh break, switch kết thúc, và dòng điều khiển nhảy tới dòng lệnh tiếp theo của lệnh switch đó.
  • Không phải mỗi case cần chứa một lệnh break. Nếu không có lệnh break nào xuất hiện, dòng điều khiển sẽ không tới đượccase tiếp theo cho tới khi bắt gặp một lệnh break.
  • Một lệnh switch có thể có một case mặc định tùy chọn, mà phải xuất hiện ở cuối cùng của switch. Case mặc định này có thể được sử dụng để thực hiện một nhiệm vụ khi không có case nào true. Trong trường hợp case mặc định này thì không cần lệnh break.

Ví dụ:

#include <iostream>
using namespace std;
 
int main ()
{
   // Khai bao bien cuc bo:
   char hocluc = 'D';

   switch(hocluc)
   {
   case 'A' :
      cout << "Gioi!" << endl; 
      break;
   case 'B' :
   case 'C' :
      cout << "Kha" << endl;
      break;
   case 'D' :
      cout << "Trung binh" << endl;
      break;
   case 'F' :
      cout << "Phai hoc lai!!" << endl;
      break;
   default :
      cout << "Gia tri khong hop le" << endl;
   }
   cout << "Hoc luc cua ban la " << hocluc << endl;
 
   return 0;
}