Bài 3+. Ví dụ cấu trúc rẽ nhánh với Lệnh if else
13/10/2021, bởi Thầy TiiL trong mục: Lập trình dùng Ngôn ngữ C/C++Bài này cung cấp cho các bạn một số ví dụ về sử dụng cấu trúc rẽ nhánh bằng lệnh if else. Từ ví dụ đơn giản, đến if else kết hợp, if else lồng nhau.
Mời xem lại Bài 3- Cấu trúc rẽ nhánh – Lệnh IF để nắm lại cú pháp lệnh if else
Các chủ đề chính
Ví dụ 1: lệnh If đơn (dạng 1)
Đề bài: Viết chương trình cho phép người dùng nhập một số nguyên từ bàn phím, cho biết số vừa nhập có phải là số âm hay không?
Phân tích
- Cần khai báo một biến để lư trữ số nguyên được nhập vào –> ta đặt tên biến là x chẳng hạn
- khai báo sẽ là: int x;
- Số x là số âm khi x <0
Lập trình như sau:
#include <stdio.h>
int main() {
int x;
printf("Moi nhap so nguyen: ");
scanf("%d", &x);
if (number < 0) {
printf("So ban vua nhap %d la mot so am\n", x);
}
printf("Hello Thay TiiL - Lenh if that la de");
return 0;
}
Kết quả thực hiện như sau
Moi nhap so nguyen:
-2 So ban vua nhap -2 la mot so am
Hello Thay TiiL - Lenh if that la de
Ví dụ 2: Lệnh if…else (dạng 2)
Đề bài: Viết chương trình nhập vào một số nguyên N, cho biết đó là số chẵn hay lẻ
Phân tích:
- Cần khai báo một biến để lư trữ số nguyên được nhập vào –> ta đặt tên biến là N chẳng hạn
- khai báo sẽ là: int N;
- N là số chẵn khi N chia hết cho 2,
- chia hết cho 2 –> phần dư của phép chia bằng 0 –> N % 2 == 0 thi N là số chẵn
Lập trình như sau:
#include <stdio.h>
int main() {
int N;
printf("Moi nhap mot so nguyen: ");
scanf("%d", &N);
if (N % 2 == 0) {
printf("%d la so nguyen chan.",N);
}
else {
printf("%d la so nguyen le.",N);
}
return 0;
}
Output
Moi nhap mot so nguyen:
9 9 la so nguyen le.
Thang if…else
Trong thực thế cuộc sống, đôi khi ta phải kiểm tra nhiều điều kiện (>2) để quyết định rẽ theo nhánh nào. khi đó, ta có thể sử dụng if else kiểu thang sau để lần lượt kiểm tra các điều kiện,
Cú pháp có dạng
if (biểu thức kiểm tra 1 ) {
// Các lệnh hiện nếu biêu thức kiểm tra 1 cho kết quả đúng
}
else if(biểu thức kiểm tra 2) {
// Các lệnh thực hiện nếu biêu thức kiểm tra 2 cho kết quả đúng
}
else if (biểu thức kiểm tra 3) {
// Các lệnh thực hiện nếu biêu thức kiểm tra 3 cho kết quả đúng
}
.
.
else {
// Các lệnh thực hiện nếu biêu thức kiểm tra 1 - n deu cho ket qua sai
}
Ví dụ số 3: C if…else Ladder
Phân tích:
- Cần khai báo 2 biến, a và b: int a, b;
- Các phép toán so sánh trong C gồm có: >, >=, <, <=, != (khác), == (bằng)
#include <stdio.h>
int main() {
int a, b;
printf("Nhap 2 so nguyen: ");
scanf("%d %d", &a, &b);
if(a== b) {
printf("Ket qua: %d = %d",a,b);
}
else if (a> b) {
printf("Ket qua: %d > %d", a, b);
}
else {
printf("Ket qua: %d < %d",a, b);
}
return 0;
}
Output
Nhap 2 so nguyen: 12
23
Ket qua: 12 < 23
Ví dụ 4: if…else lồng nhau
#include <stdio.h>
int main() {
int a, b;
printf("Enter two integers: ");
scanf("%d %d", &a, &b);
if (a>= b) {
if (a== b) {
printf("Result: %d = %d",a,b);
}
else {
printf("Result: %d > %d", a, b);
}
}
else {
printf("Result: %d < %d",a, b);
}
return 0;
}
Chi tiết, xem video full tại TiiL channel
Bài viết liên quan
- Bài giảng Lập trình Hướng đối tượng với Java [Kho tài liệu học lập trình]
- Bài 1. Mở đầu Lập trình bằng ngôn ngữ C [Lập trình dùng Ngôn ngữ C/C++]
- Bài 3- Cấu trúc rẽ nhánh - Lệnh IF [Lập trình dùng Ngôn ngữ C/C++]
- Bài 2+. Các ví dụ lệnh printf và scanf xuất/nhập dữ liệu trong Lập trình C [Lập trình dùng Ngôn ngữ C/C++]