Tổng quan
Câu lệnh if-else là câu lệnh có điều kiện . Chúng được sử dụng để thực thi mã trong một chương trình dựa trên (các) tình huống hoặc (các) điều kiện đã cho . Chúng ta sử dụng câu lệnh if-else khi cần chạy một đoạn mã nếu điều kiện đã cho là đúng và một đoạn mã khác nếu điều kiện đã cho là sai.
Phạm vi
- Bài viết này đề cập đến câu lệnh if-else trong C++.
- Các câu lệnh if , If-else , if-else-if và ifs lồng nhau được giải thích trong bài viết cùng với các ví dụ.
- Những điều cơ bản của câu lệnh điều kiện thay thế (toán tử bậc ba và câu lệnh chuyển đổi) được giải thích.
If-else trong C++ là gì?
Câu lệnh if-else là một câu lệnh có điều kiện mà đầu ra của nó phụ thuộc vào việc điều kiện đó đúng hay sai. Chúng ta sử dụng if-else trong C++ khi chúng ta muốn thực thi một mã cụ thể nếu điều kiện đã cho là đúng và một mã khác nếu điều kiện đã cho là sai.
Các câu lệnh if-else trong C++ khá giống với các điều kiện if-else trong thế giới thực. Ví dụ, nếu trời mưa bên ngoài, hãy sử dụng ô. Khác sử dụng kem chống nắng.
Các câu lệnh if-else trong C++ là một thành phần đơn giản nhưng thiết yếu của hầu hết các ngôn ngữ lập trình. Từ các mã cơ bản đến các thuật toán nâng cao, các câu lệnh if-else trong C++ được sử dụng ở mọi nơi.
Các loại câu lệnh If trong C++
Bây giờ chúng ta hãy tìm hiểu khái niệm câu lệnh điều kiện trong C++. Chúng ta có bốn loại câu lệnh if-else trong C++.
- câu lệnh if
- Câu lệnh if-else
- Thang if-else-if
- Câu lệnh if lồng nhau
Chúng ta hãy đi qua từng người trong số họ.
câu lệnh if
Câu lệnh if trong C++ là dạng đơn giản nhất của câu lệnh điều kiện. Nếu một câu lệnh if trong C++ đúng, mã bên trong khối mã của nó sẽ được thực thi. Nếu không, chương trình sẽ nhảy tới đoạn mã sau câu lệnh if .
Cú pháp câu lệnh if trong C++
// Code before the if statement
if (conditional-statement)
{
// code to execute when the conditional-statement is true
}
// Code after the if statement
Dưới đây là một ví dụ giải thích việc sử dụng câu lệnh if.
#include <iostream>
using namespace std;
int main() {
int x = 8;
if (x <= 10) {
cout << "Your number is less than or equal to 10" <<
endl;
}
cout << "This statement will always get executed" << endl;
return 0;
}
Trong ví dụ trên, chúng ta có thể thấy rằng khi x nhỏ hơn hoặc bằng 10, câu lệnh if sẽ trở thành true và mã có trong khối if sẽ được thực thi. Nhưng nếu giá trị của x lớn hơn 10, thì câu lệnh if sẽ sai, nghĩa là mã bên trong câu lệnh if sẽ bị bỏ qua.
Đầu ra:
Your number is less than or equal to 10
This statement will always get executed
If-else
Để thực thi if-else trong C++, chúng ta cần cung cấp một câu lệnh điều kiện trong khối if . Nếu câu lệnh có điều kiện là đúng, mã bên trong khối if sẽ được thực thi. Mặt khác, mã bên trong khối khác sẽ được thực thi.
Cú pháp if-else trong C++:
if (conditional-statement)
{
// code to execute when the conditional-statement is true
}
else
{
// code to execute when the conditional-statement is false
}
Trong trường hợp chúng ta có một dòng mã trong khối if hoặc else , chúng ta có thể bỏ qua dấu ngoặc nhọn ( { } ). Ví dụ:
if (x > 5) cout << x;
Đoạn mã trên có nghĩa giống như:
if (x > 5)
{
cout << x;
}
Dưới đây là một ví dụ hiển thị việc sử dụng câu lệnh if-else để hiểu chủ đề.
#include <iostream>
using namespace std;
int main() {
int salary;
salary = 450000;
if (salary > 500000) {
cout << "You have to pay income tax." << endl;
} else {
cout << "You don't need to pay income tax." << endl;
}
}
Đầu ra:
You don't need to pay income tax.
Như chúng ta có thể thấy trong ví dụ trên, khi mức lương lớn hơn 5 lakh, mã bên trong khối if sẽ được in. Nếu không, mã bên trong khối khác sẽ được in.
Một câu lệnh điều kiện không bao giờ bắt đầu bằng một mệnh đề khác . Một câu lệnh khác luôn được viết sau câu lệnh if hoặc câu lệnh if khác . Ngoài ra, không cần thiết phải có câu lệnh if theo sau câu lệnh khác .
Thang If-else-If
Bậc thang if-else-if trong C++ được sử dụng khi chúng ta phải chỉ định nhiều câu lệnh if trong C++. Cũng giống như các câu lệnh if , chúng ta cũng phải thiết lập một câu lệnh điều kiện trong các câu lệnh if khác . Và cũng giống như các câu lệnh khác , các câu lệnh khác nếu luôn được viết sau câu lệnh if . Ngoài ra, chúng ta có thể có nhiều câu lệnh other if trong một đoạn mã.
Cú pháp:
// Code before the else-if statement
if (condition1)
{
// body of if statement
}
else if (condition2)
{
// body of 1st else if statement
}
else if (condition3)
{
// body of 2nd else if statement
}
else
{
// body of else
}
// code after the else-if statement
Đây là một ví dụ hiển thị câu lệnh other if.
#include <iostream>
using namespace std;
int main() {
int marks = 73;
if (marks > 90) {
cout << "A grade." << endl;
} else if (marks > 80) {
cout << "B grade." << endl;
} else if (marks > 70) {
cout << "C grade." << endl;
} else {
cout << "D grade." << endl;
}
return 0;
}
Đầu ra:
C grade.
Giải thích hoạt động của chương trình:
Trong đoạn mã trên, giá trị của các dấu biến là 73. Khi chương trình đi vào khối if-else-if, câu lệnh điều kiện đầu tiên có trong câu lệnh if sẽ được chọn. Vì 73 nhỏ hơn 90, tuyên bố này trở thành sai và chúng tôi chuyển sang khối if đầu tiên . Vì 73 cũng nhỏ hơn 80, điều kiện này cũng trở thành sai và chúng tôi chuyển sang khối if thứ hai . Trong khối else if thứ hai , câu lệnh điều kiện đúng (73 > 70). Do đó, đoạn mã bên trong khối else if này được thực thi và chúng ta thấy đầu ra: “Hạng C”.
Hãy nhớ rằng trong khi sử dụng các câu lệnh if-else-if, mã sẽ được thực thi theo trình tự giống như khi nó được viết vào. Vì vậy, bất cứ khi nào một điều kiện đúng, trình biên dịch sẽ thực thi mã tương ứng của nó và thoát khỏi khối mã if-else. Vì vậy, hãy đảm bảo rằng các điều kiện bạn viết trong khối if hoặc other if theo đúng trình tự.
Dưới đây là một ví dụ về câu lệnh if-else-if không chính xác.
#include <iostream>
using namespace std;
int main() {
int marks = 85;
if (marks > 80) {
cout << "B grade." << endl;
} else if (marks > 90) {
// This will never execute
cout << "A grade." << endl;
} else {
cout << "C grade." << endl;
}
return 0;
}
Đầu ra:
B grade.
Trong ví dụ trên, mã bên trong khối if khác sẽ không bao giờ được thực thi. Khi người dùng nhập một số lớn hơn 80, thì nếu điều kiện đúng, mã bên trong nó sẽ thực thi và trình biên dịch sẽ thoát khỏi chương trình. Nếu người dùng nhập một số nhỏ hơn hoặc bằng 80, mã bên trong khối khác sẽ thực thi và trình biên dịch sẽ thoát khỏi chương trình. Khối other if sẽ không bao giờ có cơ hội thực hiện.
Câu lệnh If lồng nhau
Các if lồng nhau được sử dụng khi chúng ta muốn thêm một điều kiện bên trong một điều kiện khác. Nói một cách đơn giản, if lồng nhau có nghĩa là thêm một câu lệnh if vào phần thân của một câu lệnh if khác .
Cú pháp:
// Code before the nested if statement
if (condition1)
{
// body of if
// nested if statement:
if (condition2)
{
// body of nested if statement
}
else
{
// body of nested else statement
}
// code after nested if-else statements
}
else
{
// body of else
}
// code after the nested if statement
Dưới đây là một ví dụ về câu lệnh if lồng nhau để tìm số lớn nhất trong ba số đã cho.
#include <iostream>
using namespace std;
int main() {
int num1 = 32;
int num2 = 21;
int num3 = 43;
if (num1 > num2) {
if (num1 > num3) {
cout << "num1 is the biggest number" <<
endl;
} else {
cout << "num3 is the biggest number" <<
endl;
}
} else {
if (num2 > num3) {
cout << "num2 is the biggest number" <<
endl;
} else {
cout << "num3 is the biggest number" <<
endl;
}
}
return 0;
}
Đầu ra:
num3 is the biggest number
Giải thích hoạt động của chương trình:
Chúng tôi có ba biến số nguyên trong mã được viết ở trên (num1, num2 và num3). Khi chương trình đến câu lệnh if đầu tiên hoặc chính , điều kiện num1 > num2 được chọn. Vì nó đúng, nên chương trình sẽ nhập mã của khối if . Bên trong khối if chính , có một câu lệnh if khác . Đây là một câu lệnh if lồng nhau . Một lần nữa, một điều kiện khác được kiểm tra. Vì điều kiện num1 > num3 là sai, khối lồng nhau khác sẽ được thực thi và chúng ta thấy kết quả đầu ra “num3 là số lớn nhất”.
Tuyên bố có điều kiện thay thế
Mặc dù câu lệnh if-else là câu lệnh điều kiện được sử dụng phổ biến nhất trong hầu hết các ngôn ngữ lập trình, nhưng trong ngôn ngữ lập trình C++, chúng ta có các câu lệnh điều kiện khác với câu lệnh if-else. Đó là:
- Toán tử bậc ba: Toán tử bậc ba giống như một phiên bản nhỏ của câu lệnh if-else. Nó cho phép bạn viết câu lệnh if-else trong một dòng mã và chiếm ít không gian hơn so với câu lệnh if-else.
- Câu lệnh chuyển đổi: Câu lệnh chuyển đổi kiểm tra sự bằng nhau giữa các giá trị đã cho. Các giá trị được gọi là trường hợp . Trong trường hợp không có trường hợp nào là đúng, mệnh đề mặc định do người dùng xác định sẽ được thực thi.
Phần kết luận
- Câu lệnh if-else được gọi là câu lệnh điều kiện vì chúng được sử dụng để xử lý các quyết định.
- Else-if được sử dụng khi chúng ta có nhiều hơn một câu lệnh if để thực thi.
- Trình biên dịch kiểm tra các điều kiện từ trên xuống dưới trong khi thực hiện các câu lệnh if-else cho đến khi một điều kiện đúng. Nếu không có điều kiện nào đúng, thì mệnh đề khác được thực thi.
- Một câu lệnh if bên trong một câu lệnh if khác được gọi là câu lệnh if lồng nhau.