Trong phần trước chúng ta đã biết dạng đơn giản nhất của câu lệnh if, cho phép ta lựa chọn
để thực hiện hay không một câu lệnh hoặc một chuỗi các lệnh. C cũng cho phép ta
lựa chọn trong hai khối lệnh để thực hiện bằng cách dùng cấu trúc if – else.
Cú pháp như sau:
if (biểu
thức)
câu_lệnh – 1;
else
câu_lệnh – 2;
Nếu biểu
thức điều kiện trên là đúng (khác 0), câu lệnh 1 được thực hiện. Nếu nó sai
(khác 0) câu lệnh 2 được thực hiện. Câu lệnh sau if và else
có thể là lệnh đơn hoặc lệnh phức. Các câu lệnh đó nên được lùi vào trong dòng
mặc dù không bắt buộc. Cách viết đó giúp ta nhìn thấy ngay những lệnh nào sẽ được
thực hiện tùy theo kết quả của biểu thức điều kiện.
Bây giờ
chúng ta viết một chương trình kiểm tra một số là số chẵn hay số lẻ. Nếu đem
chia số đó cho 2 được dư là 0 chương trình sẽ hiển thị dòng chữ “The number is Even”, ngược lại sẽ hiển thị
dòng chữ “The number is Odd”.
Ví dụ:
#include
<stdio.h>
void
main(){
int num, res;
printf(“Enter a number: ”);
scanf(“%d”, &num);
res = num % 2;
if (res == 0)
printf(“The number is Even”);
else
printf(“The number is Odd”);
}
Xem một
ví dụ khác, đổi một ký tự hoa thành ký tự thường. Nếu ký tự không phải là một
ký tự hoa, nó sẽ được in ra mà không cần thay đổi. Chương trình sử dụng cấu
trúc if-else để kiểm tra xem một ký tự có phải là ký tự hoa không, rồi
thực hiện các thao tác tương ứng.
Ví dụ:
/* Doi
mot ky tu hoa thanh ky tu thuong */
#include
<stdio.h>
void
main() {
char c;
printf(“Please enter a character: ”);
scanf(“%c”, &c);
if (c >= ‘A’ && c <= ‘Z’)
printf(“Lowercase character =
%c”, c + ‘a’ – ‘A’);
else
printf(“Character Entered is
= %c”, c);
}
Biểu thức
c >= ‘A’ && c <= ‘Z’
kiểm tra ký tự nhập vào có là ký tự hoa không. Nếu biểu thức trả về true, ký tự đó sẽ được đổi thành ký tự
thường bằng cách sử dụng biểu thức c + ‘a’ – ‘A’, và được in ra màn hình
qua hàm printf(). Nếu giá trị của biểu thức là false, câu lệnh
sau else được chạy và chương trình hiển thị kí tự đó ra màn hình mà
không cần thực hiện bất cứ sự thay đổi nào.
Đăng nhận xét