Bài 13

Trong bài viết này chúng ta sẽ học lệnh If else trong C, đây là lệnh rẻ nhánh dùng để chia luồng chạy thành nhiều nhánh khác nhau, được sử dụng rất nhiều trong lập trình C.

Bạn đang xem: Bài 13

Một ví dụ thực tế thế này. Giả sử bạn đang viết chương trình kiểm tra tính chẵn lẻ, thì sẽ sử dụng lệnh if else để kiểm tra phần chia lấy dư cho 2 có khác 0 hay không. Nếu bằng 0 thì số chẵn, ngược lại là số lẻ.


Cách hoạt động như sau:

Nếu biểu thức test expression = true thì đoạn code bên trong cặp ngoặc nhọn {} sẽ được chạy.Ngược lại, nếu biểu thức test expression = false thì chương trình bỏ qua đoạn code bên trong đó.

Hãy xem hình dưới đây:

Ở ví dụ đầu tiên đoạn code bên trong if sẽ chạy vì điều kiện test , còn ví dụ thứ hai không chạy vì test > 10 = false.


Ví dụ: Viết chương trình in ra thông báo nếu người dùng nhập vào số âm.

Với bài này ta phải sử dụng lệnh scanf để nhận dữ liệu từ bàn phím.


#include int main() { int number; printf("Nhap vao mot so nguyen: "); scanf("%d", &number); // Kiem tra so co nho hon 0 hay khong if (number
Bạn hãy thử thay số 2 bằng một số dương thì sẽ không thấy thông báo gì cả.

2. Lệnh if else trong C

Lệnh if chỉ kiểm tra điều kiện và rẻ vào một nhánh duy nhất, vì vậy không thực sự linh động trong lập trình.


Ví dụ: Bạn cần kiểm tra một số là số âm hay số dương, và thông báo lên màn hình console như sau:

"%d là số dương" nếu bạn nhập vào số dương"%d là số âm" nếu bạn nhập vào số âm

Trong ví dụ phần 1 mình có làm một trường hợp rồi, bây giờ cần sử dụng lệnh else để xử lý cho trường hợp còn lại. Tuy nhiên trước tiên hãy xem cú pháp của lệnh if else đã nhé.


if (test expression) { // Đoạn code sẽ chạy nếu test expression = true}else { // Đoạn code sẽ chạy nếu test expression = false}
Xem ví dụ ở hình dưới đây.

Xem thêm: Jual Eto Tokyo Ghoul Là Ai

Ví dụ 1 Phần if sẽ chạy vì biểu thức test .Ví dụ 2: Phần else sẽ chạy vì test > 10 = false.

Ví dụ: Viết chương trình kiểm tra số chẵn lẽ và thông báo lên màn hình console.


#include int main() { int number; printf("Nhập vào số nguyên: "); scanf("%d", &number); // Chia lấy dư if (number%2 == 0) { printf("%d là số chẵn.",number); } else { printf("%d là số lẻ.",number); } return 0;}
Bạn có thể dùng nhiều lệnh if nhưng với lệnh else thì chỉ được 1 lần mà thôi. Cú pháp của nó như sau:


if (test expression1) { // statement(s)}else if(test expression2) { // statement(s)}else if (test expression3) { // statement(s)}..else { // statement(s)}
Trình biên dịch sẽ chạy từ trên xuống, chỉ cần một lệnh if nào thỏa điều kiện thì nó sẽ bỏ qua những lệnh phía dưới. Nếu không có if nào thỏa mãn thì đoạn code ở lệnh else sẽ chạy, và đó cũng là đoạn code cuối cùng trong một tập hợp khối lệnh if else.

Ví dụ: Dùng lệnh if else để kiểm tra nhiều khoảng.


#include int main() { int number1, number2; printf("Nhập vào 2 số nguyên: "); scanf("%d %d", &number1, &number2); //Kiểm tra nếu hai số bằng nhau if(number1 == number2) { printf("Kết quả: %d = %d",number1,number2); } //Kiểm tra nếu số 1 lớn hơn số 2. else if (number1 > number2) { printf("Kết quả: %d > %d", number1, number2); } //Trường hợp còn lại là số 1 bé hơn số 2 nên ta không cần check else { printf("Két quả: %d

3. Lệnh if else lồng nhau trong C

If else lồng nhau tức là bên trong lệnh if else lại có thêm một hoặc nhiều lệnh if else khác.

Thường ta chỉ nên lồng từ 4 cấp đổ lại, vì nếu lồng quá nhiều cấp thì rát khó quản lý chương trình.

Ví dụ sau đây sử dụng hai lệnh if else lồng nhau.


#include int main() { int number1, number2; printf("Nhập vào hai số nguyên: "); scanf("%d %d", &number1, &number2); if (number1 >= number2) { if (number1 == number2) { printf("Kết quả: %d = %d",number1,number2); } else { printf("Kết quả: %d > %d", number1, number2); } } else { printf("Kết quả: %d
Trên là kiến thức cơ bản của lệnh if else trong C, đây là lệnh được sử dụng khá thường xuyên trong lập trình nói chung và trong ngôn ngữ C nói riêng. Thực tế thì vẫn còn một lệnh rẻ nhánh khác nữa đó là lệnh switch case, tuy nhiên ta sẽ tìm hiểu nó ở một bài khác nhé.

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.


2020 - nayaritas.net. All Right Reserved Theme GoodNews, nền tảng Codeigniter, VPS mua tại Tinohost
*


Nếu bạn phát hiện lỗi sai link, nội dung sai, hay một lỗi bất kì nào đó trên trang này thì hãy cho mình biết nhé. Cám ơn bạn!