Chi tiết bài học C++ if…else

C++ if…else

Trong bài này, bạn sẽ được học về cách viết câu lệnh ra quyết định hành động trong chương trình C + + sử dụng những dạng câu lệnh if … else khác nhau .

Câu lệnh if trong C + +

if (điều_kiện_kiểm_tra) 
{
    //các câu lệnh
}

Câu lệnh if nhìn nhận điều kiện kèm theo kiểm tra bên trong dấu ngoặc tròn. Nếu biểu thức kiểm tra là đúng, câu lệnh bên trong thân của if sẽ được thực thi. Nếu biểu thức kiểm tra là sai, câu lệnh bên trong thân của if sẽ được bỏ lỡ .

Câu lệnh if hoạt động giải trí thế nào ?

Ta cùng xét ví dụ dưới đây:


Ở hình bên trái, điều kiện của câu lệnh if (test < 10) là đúng nên chương trình sẽ nhảy vào thực thi các câu lệnh trong thân if. Ngược lại ở hình bên phải, điều kiện của câu lệnh if sai nên chương trình bỏ qua thân câu lệnh if và thực thi ở sau khối đó.

Flowchart của câu lệnh if

Hình 1. Sơ đồ hoạt động câu lệnh if

Ví dụ 1 : Câu lệnh if trong C + +

Chương trình dưới đây in ra số nguyên dương nhập vào bởi người dùng. Nếu người dùng nhập vào số âm, nó sẽ được bỏ lỡ thân của if ; nếu người dùng nhập vào số dương, chương trình sẽ nhảy vào thân if .

#include 
using namespace std;

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

	// Kiểm tra xem liệu số nhập vào có phải là số dương hay không
	if (number > 0) 
	{
		cout << "You entered a positive integer: " << number << endl;
	}

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

Đầu ra 1

Enter an integer : 5
You entered a positive number : 5

This statement is always executed .

Đầu ra 2

Enter a number : – 5

This statement is always executed .

 

Câu lệnh if … else trong C + +

Câu lệnh if else sẽ thực thi mã nguồn trong thân câu lệnh if nếu điều kiện kèm theo kiếm tra là đúng và bỏ lỡ mã nguồn trong thân câu lệnh else .
Nếu điều kiện kèm theo kiểm tra là sai, nó sẽ thực thi mã nguồn bên trong thân câu lệnh else và bỏ lỡ mã nguồn trong thân câu lệnh if .

Câu lệnh if … else hoạt động giải trí thế nào ?

Flowchart của if … else

Ví dụ 2 : Câu lệnh if … else trong C + +

// Chương trình này kiểm tra một số nguyên là âm hay dương
// Chương trình này coi 0 là một số dương

#include 
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;
}

Đầu ra

Enter an integer : – 4
You entered a negative integer : – 4 .

This line is always printed .

 

Câu lệnh if … else lồng nhau ( nested if … else ) trong C + +

Câu lệnh if … else thực thi hai đoạn mã nguồn khác nhau tùy theo biểu thức kiểm tra là đúng hay sai. Đôi khi, một biểu thức kiểm tra hoàn toàn có thể có nhiều hơn hai năng lực .
Câu lệnh if … else lồng nhau được cho phép bạn kiểm tra nhiều điều kiện kèm theo và thực thi những đoạn mã nguồn khác nhau với nhiều hơn hai điều kiện kèm theo .
Cú pháp câu lệnh if … else lồng nhau

if (biểu_thức_kiểm_tra1) 
{
   // Câu lệnh cần thực hiện nếu biểu_thức_kiểm_tra1 là đúng
}
else if(biểu_thức_kiểm_tra2) 
{
   // Câu lệnh cần thực hiện nếu biểu_thức_kiểm_tra1 là sai và biểu_thức_kiểm_tra2 là đúng
}
else if (biểu_thức_kiểm_tra3) 
{
   // Câu lệnh cần thực hiện nếu biểu_thức_kiểm_tra1 và biểu_thức_kiểm_tra2 là sai và biểu_thức_kiểm_tra3 là đúng
}
.
.
else 
{
   // Câu lệnh cần thực hiện nếu tất cả các biểu thức kiểm tra đều sai
}

Ví dụ 3 : Câu lệnh if … else lồng nhau

// Chương trình kiểm tra xem một số nguyên là dương, âm hay bằng 0

#include 
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;
}

Đầu ra

Enter an integer : 0
You entered 0 .

This line is always printed .

 

Toán tử điều kiện/Toán tử tam nguyên ?:

Một toán tử tam nguyên (Conditional/Ternary Operator ?:) sẽ sử dụng 3 toán hạng, toán tử này có thể dùng để thay thế cho câu lệnh if…else.

Xem đoạn mã sau :

if (a < b) {
   a = b;
}
else {
   a = -b;
}

Bạn hoàn toàn có thể thay đoạn mã nguồn trên bằng :

a = (a < b) ? b : -b;

Toán tử tam nguyên sẽ dễ đọc hiểu hơn là một câu lệnh if … else so với những điều kiện kèm theo ngắn .