BASIC
CONTROL STATEMENTS
DATA TYPE
FUNCTIONS
FILE I/O
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lệnh If .. Else trong C

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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ẻ.

1. Lệnh If trong C

Cú pháp lệnh If else trong ngôn ngữ C như sau:

if (test expression) 
{
   // Đoạn code sẽ chạy khi test expression = TRUE
}

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

Bài viết này được đăng tại [free tuts .net]

  • 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:

working c if statement jpg

Ở ví dụ đầu tiên đoạn code bên trong if sẽ chạy vì điều kiện test < 10 = true, 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 <stdio.h>
int main() {
    int number;

    printf("Nhap vao mot so nguyen: ");
    scanf("%d", &number);

    // Kiem tra so co nho hon 0 hay khong
    if (number < 0) {
        printf("So %d la so am\n", number);
    }

    return 0;
}

Kết quả: Giả sử mình nhập số -2 nhé

Nhap vao mot so nguyen: -2
So -2 la so am.

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.

how if else works c programming jpg

  • Ví dụ 1 Phần if sẽ chạy vì biểu thức test < 10 = true.
  • 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 <stdio.h>
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 hãy thử nhập vào số 7 và chạy chưong trình thì thu được kết quả như sau:

Nhập vào số nguyên: 7
7 là số lẻ.

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 <stdio.h>
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 < %d",number1, number2);
    }

    return 0;
}

Nếu mình nhập giá trị 12 thì sẽ có kết quả như sau:

Nhập vào 2 số nguyên: 12
23
Kết quả: 12 < 23

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 <stdio.h>
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 < %d",number1, number2);
    }

    return 0;
}

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é.

Cùng chuyên mục:

Cách điều khiển Keypad trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển button trong Arduino

Cách điều khiển button trong Arduino

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Viết chương trình Arduino đầu tiên

Viết chương trình Arduino đầu tiên

Các kiến thức cần biết trước khi học lập trình với Arduino

Các kiến thức cần biết trước khi học lập trình với Arduino

Hướng dẫn cài đặt và sử dụng Arduino IDE

Hướng dẫn cài đặt và sử dụng Arduino IDE

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstring C / C++

Top