Trong ngôn ngữ C++ cũng như các ngôn ngữ lập trình khác như JAVA, C#, Ruby, PHP, Javascript thì chương trình sẽ được biên dịch và thực thi các câu lệnh theo thứ tự từ trên xuống dưới. Vậy trong một số trường hợp chúng ta muốn đoạn code của mình chỉ được thực thi khi thỏa mãn một số điều kiện nào đó thì phải làm như thế nào? Trong C++ có hỗ trợ cho chúng ta thực hiện điều trên bằng cấu trúc điều khiển như if else
, switch case
.
Trong bài học hôm nay chúng ta chỉ tìm hiều cấu trúc điều khiển if else
trong C++, còn cấu trúc điều khiển switch case
chúng ta sẽ tìm hiểu trong bài kế tiếp.
Vậy cấu trúc điều khiển if else
trong C++ là gì? Có mấy loại cấu trúc điều khiển if else
thì chúng ta sẽ cùng tìm hiểu nhé.
1. Nội dung chính của lệnh if
Câu lệnh if else
trong C++ dùng để điều khiển đoạn code được thực thi khi thõa mãn được điều kiện. Trong C++ có các loại cấu trúc điều khiển if else
như sau:
- if statement (Câu lệnh if)
- if else statement (Câu lệnh if else)
- nested if statement (Câu lệnh if lồng nhau)
- if else if ladder
Bây giờ chúng ta sẽ lần lượt tìm hiểu từng loại nhé.
2. Tìm hiểu lệnh If
Câu lệnh if
là cấu trúc điều khiển đơn giản nhất, nó quyết định đoạn code được thi hay không. Nếu điều kiện đúng thì đoạn code bên trong lệnh if được thực thi, ngược lại thì đoạn code đó sẽ không được thực thi.
Trước hết chúng ta hãy xem cú pháp của nó đã nhé.
1
2
3
4
|
if (condition) { // Doan code se duoc thuc thi neu condition la dung (statement) } |
Lưu ý: Nếu chúng ta không cung cấp dấu “{” sau câu lệnh if thì mặc định nó chỉ thực thi một dòng lệnh duy nhất theo sau if.
Nếu condition có giá trị TRUE
thì đoạn code statement sẽ thực thi, ngược lại nếu condition có giá trị FALSE
nó sẽ bỏ qua. Hãy xem lưu đồ hoạt động của lệnh if dưới đây.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<iostream> using namespace std; int main() { int i = 5; if (i > 5) { cout << i << " lon hon 5" << "\n" ; } if (i = 5) { cout << i << " bang 5" << "\n" ; } if (i < 5) { cout << i << " nho hon 5" << "\n" ; } cout << "Cau lenh o ngoai if" ; } |
Và kết quả sau khi thực thi đoạn code trên:
Như các bạn thấy, vì biến i
có giá trị là 5 nên lệnh if
thứ hai sẽ được thực hiện, nên màn hình sẽ in ra kết quả là “5 bằng 5“. Tiếp theo nó sẽ chạy các đoạn code bên ngoài lệnh if, tức là nó sẽ in ra dòng “Cau lenh o ngoai if“.
3. Tìm hiểu lệnh if else
Câu lệnh if else
sẽ thực thi đoạn code sau if
nếu điều kiện đúng, ngược lại sẽ thực thi đoạn code sau else
. Nếu xét theo lời văn chúng ta sử dụng trong cuộc sống hằng ngày thì chúng ta có ví dụ sau: Nếu bạn An đi học thì không bị phạt, ngược lại bạn An sẽ bị phạt.
Tương tự, bạn cần phải xem cú pháp và lưu đồ hoạt động của nó trước khi làm ví dụ.
1
2
3
4
5
6
7
8
|
if (condition) { // Doan code se duoc thuc thi neu condition dung } else { // Doan code se duoc thi thi neu condition sai } |
Lưu đồ hoạt động.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include<iostream> using namespace std; int main() { int i = 5; if (i > 5) { cout << i << " lon hon 5" << "\n" ; } else { cout << i << " nho hon hoac bang 5" << "\n" ; } cout << "Cau lenh o ngoai if" ; return 0; } |
Và kết quả sau khi thực thi đoạn code trên:
Trong ví dụ này thì rõ ràng biến i = 5
nên điều kiện (i > 5) = FALSE
, chính vì vậy nội dung bên trong lệnh else sẽ được thực hiện, sau đó chạy tiếp các dòng lệnh bên ngoài nên kết quả chúng ta thu được như hình trên.
4. Tìm hiểu lệnh if else lồng nhau
Câu lệnh if
ở bên trong một câu lệnh if
khác, chúng ta gọi đó là câu lệnh if else lồng nhau. Lệnh if else lồng nhau được sư dụng khá nhiều trong thực tế, nó giúp chúng ta rẻ nhánh những chương trình phức tạp.
1
2
3
4
5
6
7
8
|
if (condition1) { // Doan code se duoc thuc thi khi condition1 dung if (condition2) { // Doan code se duoc thuc thi khi condition2 dung } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include<iostream> using namespace std; int main() { int i = 15; if (i > 5) { cout << i << " lon hon 5" << "\n" ; if (i > 15) { cout << i << " lon hon 15" << "\n" ; } else { cout << i << " nho hon hoac bang 15" << "\n" ; } } else { cout << i << " nho hon hoac bang 5" << "\n" ; } cout << "Cau lenh o ngoai if" ; return 0; } |
Các bạn cứ chạy từ trên xuống và từ trái qua phải. Vì biến i = 15
nên nội dung bên trọng lệnh if đầu tiên sẽ được chạy. Lúc này bên trong lại có thêm lệnh if else khác nên quy trình hoạt động cứ áp dụng nguyên tắc mà chúng ta đã học ở trên, và kết quả sẽ thu về là “15 nhỏ hơn hoặc bằng 15“.
5. Tìm hiểu lệnh if else if ladder
Câu lệnh if else if
cho phép so sánh với nhiều điều kiện, chương trình sẽ chạy từ trên xuống dưới, nếu gặp điều kiện nào đúng thì sẽ thực thi đoạn code bên trong điều kiện đó. Ví vậy đối với cấu trúc điều khiển if else if
chúng ta có thể thực thi nhiều đoạn code khác nhau.
1
2
3
4
5
6
7
8
|
if (condition) statement; else if (condition) statement; . . else statement; |
Lưu đồ hoạt động.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include<iostream> using namespace std; int main() { int i = 15; if (i == 5) { cout << i << " bang 5" << "\n" ; } else if (i == 10) { cout << i << " bang 10" << "\n" ; } else if (i == 15) { cout << i << " bang 15" << "\n" ; } else if (i == 20) { cout << i << " bang 20" << "\n" ; } else if (i == 25) { cout << i << " bang 25" << "\n" ; } else { cout << i << " gia tri khac" << "\n" ; } cout << "Cau lenh o ngoai if" ; return 0; } |
Cách dùng này có thể thay thế cho lệnh if else lồng nhau trong một số trường hợp, chính vì vậy trong thực tế cách này được sử dụng nhiều nhất.
Mình sẽ không giải thích kết quả nữa, bạn hãy tự chạy và tự tìm hiểu nhé.
6. Kết luận
Như vậy chúng ta đã tìm hiểu xong 4 loại cấu trúc điều khiển if
trong C++ đó là câu lệnh if
, câu lệnh if-else
, câu lệnh if
lồng nhau, câu lệnh if-else-if
Trong bài này chúng ta chỉ cần nhớ một số điểm cần lưu ý đó là câu lệnh if
chỉ có một điều kiện, nếu điều kiện đúng thì thực thi đoạn code, ngược lại đoạn code sẽ không được thực thi.
Câu lệnh if-else
nếu điều kiện đúng sẽ thực thi đoạn code bên trong if
, ngược lại sẽ thực thi đoạn code bên trong else
, câu lệnh if-else-if
cho phép so sánh nhiều điều kiện, đi từ trên xuống dưới, nếu điều kiện nào đúng thì thực thi đoạn code bên trong điều kiện đó.
Tùy theo yêu cầu bài toán của mình mà áp dụng cấu trúc điều khiển if
cho phù hợp.
Nguồn: https://freetuts.net