BASIC
CONTROL STATEMENTS
DATA TYPE
FUNCTIONS
FILE I/O
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

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.

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

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.

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:

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

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

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

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm toán học (math) trong C / C++

Các hàm toán học (math) trong C / C++

Nếu bạn đang học C++ căn bản thì phải biết công dụng của những hàm…

Bài tập vòng lặp while và do while trong C++

Bài tập vòng lặp while và do while trong C++

Nếu một bài toán được giải bằng vòng lặp while thì bạn hoàn toàn có…

Bài tập vòng lặp for trong C++ có lời giải

Bài tập vòng lặp for trong C++ có lời giải

Vòng lặp for C++ rất quan trọng, nó được sử dụng rất nhiều khi xử…

Bài tập if else trong C++ (có đổi sang switch case)

Bài tập if else trong C++ (có đổi sang switch case)

Để thành thạo hai lệnh rẻ nhánh if else và switch case thì bạn phải…

Tìm hiểu cấu trúc mảng (array) trong C++

Tìm hiểu cấu trúc mảng (array) trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else,…

Các toán tử trong C++

Các toán tử trong C++

Toán tử đóng vai trò rất quan trọng trong lập trình, nó giúp chúng ta…

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

C++ là một ngôn ngữ lập trình phổ biến và mạnh mẽ có kiểu dữ…

Đọc ghi file trong C

Đọc ghi file trong C

Đa số sinh viên Việt Nam học lập trình C là để luyện tư duy…

Kiểu Union trong C

Kiểu Union trong C

Union có cách khai báo giống như struct, nhưng kích thước của nó sẽ lấy…

Hàm đệ quy trong ngôn ngữ C

Hàm đệ quy trong ngôn ngữ C

Giải thuật đệ quy nói chung và trong ngôn ngữ C nói riêng thì hàm…

Top