Chào các bạn đây là bài số 6, trong bài viết này mình sẽ chia sẻ cho các bạn về câu lệnh rẽ nhánh If-else trong C.
Ở bài số 5, chúng ta tìm hiểu Operator trong lập trình C cơ bản. Nếu các bạn chưa xem bài 5 thì xem lại tại đây nhé.
Như ở bài trước chúng ta cũng đã tìm hiểu về Operator comparison ( so sánh các toán tử ) của bài Operator trong lập trình C cơ bản như là :
- Less than: a < b
- Less than or equal to: a <= b
- Greater than: a > b
- Greater than or equal to: a >= b
- Equal to a == b
- Not Equal to: a != b
Chúng ta sử dụng những toán tử trên cho bài học này nhé

C sẽ cũng cấp cho chúng ta những câu lệnh điều kiện ( conditional statements ) như sau :
- Sử dụng if để thực thi một khối code khi điều kiện là đúng (true).
- Sử dụng else để thực thi một khối code khi điều kiện là sai (false).
If Statement (Câu lệnh If).
Sử dụng if là để thực thi một khối code nếu câu điều kiện (condition) là đúng (true).
Cú pháp (Syntax) trong lập trình c cơ bản.
if (condition) {
//Khối code sẽ được thực thi khi condition là true
}
Câu lệnh If nó làm việc như thế nào ?
Ta lấy phần cú pháp để giải thích cho phần này nhé.
Câu lệnh if này nó sẽ kiểm tra condition những cái bên trong dấu ().
- Nếu như condition là đúng (true) thì câu lệnh bên trong sẽ được thực thi.
- Nếu như condition là sai (false) thì câu lệnh bên trong sẽ không được thực thi.

Ví dụ câu lệnh if

// Program to display a number if it is negative
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// true if number is less than 0
if (number < 0) {
printf("You entered %d.\n", number);
}
printf("The if statement is easy.");
return 0;
}
Kết quả 1

Khi người dùng nhập vào -5, thì condition number < 0 là true, do đó giá trị hiển thị ra màn hình có dòng You entered -5.
Kết quả 2

Khi người dùng nhập vào 5, thì condition number < 0 là false, do đó giá trị hiển thị ra màn hình không có dòng You entered 5.
If-else Statement (Câu lệnh If-else trong c).
Sử dụng else là để thực thi một khối code nếu câu điều kiện (condition) là sai (false).
Cú pháp (Syntax) trong lập trình c cơ bản.
if (condition) {
//Khối code sẽ được thực thi khi condition là true
} else {
//Khối code sẽ được thực thi khi condition là false
}
Câu lệnh If-else nó làm việc như thế nào ?
Ta cũng lấy phần cú pháp để giải thích cho phần này nhé.
Nếu condition là true
- Câu lệnh bên trong của khối if sẽ được thực thi.
- Câu lệnh bên trong của khối else sẽ không được thực thi, nghĩa là nó sẽ bỏ qua phần code bên trong khối else.
Nếu condition là false
- Câu lệnh bên trong của khối if sẽ không được thực thi, nghĩa là nó sẽ bỏ qua phần code bên trong khối if.
- Câu lệnh bên trong của khối else sẽ được thực thi.

Ví dụ câu lệnh if-else

// Check whether an integer is odd or even
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// True if the remainder is 0
if (number%2 == 0) {
printf("%d is an even integer.",number);
}
else {
printf("%d is an odd integer.",number);
}
return 0;
}
Kết quả

Khi người dùng nhập vào 5, thì condition hay biểu thức (expression) number%2 == 0 là false. Do đó, những khối code bên trong else sẽ được thực thi.
If else-if ladder Statement (câu lệnh if-else-if)
Câu lệnh if-else-if này nó được dùng cho nhiều trường hợp thực hiện các condition khác nhau.
Cú pháp (Syntax)
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
Câu lệnh If-else-if nó làm việc như thế nào ?
Nếu condition1 của if là true và condition2 của else-if là true
- Câu lệnh bên trong của khối if sẽ được thực thi.
- Câu lệnh bên trong của khối else-if sẽ được thực thi.
- Câu lệnh bên trong của khối else sẽ không được thực thi, nghĩa là nó sẽ bỏ qua phần code bên trong khối else.
Nếu condition1 của if là true và condition2 của else-if là false
- Câu lệnh bên trong của khối if sẽ được thực thi.
- Câu lệnh bên trong của khối else-if và khối else sẽ không được thực thi.
Nếu condition1 của if là false và condition2 của else-if là true
- Câu lệnh bên trong của khối if sẽ không được thực thi.
- Câu lệnh bên trong của khối else-if sẽ được thực thi.
- Câu lệnh bên trong của khối else sẽ không được thực thi.
Nếu condition1 của if là false và condition2 của else-if là false
- Câu lệnh bên trong của khối if và khối else-if sẽ không được thực thi.
- Câu lệnh bên trong của khối else sẽ được thực thi.
Ví dụ câu lệnh if-else-if

// Program to relate two integers using =, > or < symbol
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
//checks if the two integers are equal.
if(number1 == number2) {
printf("Result: %d = %d",number1,number2);
}
//checks if number1 is greater than number2.
else if (number1 > number2) {
printf("Result: %d > %d", number1, number2);
}
//checks if both test expressions are false
else {
printf("Result: %d < %d",number1, number2);
}
return 0;
}
Kết quả

Nested if…else (if-else lồng nhau)
Ngoài ra bạn cũng có thể sử dụng if-else lồng nhau.
If-else lồng nhau nghĩa là bạn sử dụng câu lệnh if-else bên trong một câu lệnh if-else khác.
Ví dụ if-else lồng nhau
Chúng ta sử dụng lại ví dụ câu lệnh if-else-if để áp dụng cho câu lệnh if-else lồng nhau nhé.

#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
if (number1 >= number2) {
if (number1 == number2) {
printf("Result: %d = %d",number1,number2);
}
else {
printf("Result: %d > %d", number1, number2);
}
}
else {
printf("Result: %d < %d",number1, number2);
}
return 0;
}
Kết quả

Tổng kết
Qua bài viết này chúng ta cũng đã tìm hiểu về câu lệnh rẽ nhánh If-else trong C. Phần này khá là quan trọng, Khi bạn lập trình thì chắc chắn bạn phải sử dụng câu lệnh rẽ nhánh If-else này là rất thường.
Mình cũng đã tham khảo nhiều nguồn trên internet, và cố gắng chia sẻ cho các bạn mới những cái đơn giản và dễ hiểu nhất có thể.
Các bạn có cái nào chưa hiểu hay muốn đóng góp cho bài viết thì vui lòng comment bên dưới nhé.
Chúc các bạn thực hành thành công.
Xem video và làm theo ví dụ để hiểu hơn tại đây nhé:
Nguồn tham khảo :