Boolean trong C

Boolean hay còn gọi là bool trong C là một phần tử mà nhất định bạn phải biết khi dùng ngôn ngữ lập trình này. Dưới đây là mọi điều bạn cần biết về Boolean trong C.

Boolean trong C

Boolean trong C là gì?

Thông thường, trong lập trình, bạn sẽ cần một kiểu dữ liệu chỉ có thể có một trong hai giá trị, chẳng hạn như:

  • Yes/No - Có/Không
  • On/Off - Bật/Tắt
  • True/False - Đúng/Sai

Đối với lĩnh vực này, C có một kiểu dữ liệu bool hay còn được gọi là booleans. Booleans đại diện cho các giá trị true hoặc false.

Các biến Boolean trong C

Trong C, kiểu bool không phải một kiểu dữ liệu có sẵn, như int hoặc char. Nó được giới thiệu trong C99, và bạn phải nhập file header sau để sử dụng nó:

#include <stdbool.h>

Một biến boolean được khai báo bằng từ khóa bool và chỉ có thể nhận các giá trị true hoặc false:

bool isProgrammingFun = true;
bool isFishTasty = false;

Trước khi cố gắng in các biến boolean, bạn cần biết rằng các giá trị boolean được trả về dưới dạng số nguyên:

  • 1 (hoặc bất kỳ số khác nhưng không phải 0) đại diện cho true
  • 0 đại diện cho false

Vì thế, bạn phải dùng xác định định dạng %d để in một giá trị boolean. Ví dụ:

#include <stdio.h>
#include <stdbool.h>  // Nhập file header boolean

int main() {
  bool isProgrammingFun = true;
  bool isFishTasty = false;
  printf("%d\n", isProgrammingFun);  // Kết quả 1 (true)
  printf("%d", isFishTasty);         // Kết quả 0 (false)
  
  return 0;
}

Tuy nhiên, trả về một giá trị boolean bằng cách so sánh giá trị và các biến thường phổ biến hơn.

So sánh giá trị và các biến

So sánh giá trị hữu ích trong lập trình bởi nó giúp chúng ta tìm thấy câu trả lời và đưa ra quyết định chính xác.

Ví dụ, bạn có thể dùng toán tử so sánh như lớn hơn (>) để tìm ra sự khác biệt giữa hai giá trị:

#include <stdio.h>

int main() {
  printf("%d", 10 > 9);  // Kết quả 1 (true) vì 10 lớn hơn 9
  
  return 0;
}

Từ ví dụ trên, bạn có thể thấy giá trị trả về là một giá trị boolean.

Bạn cũng có thể so sánh hai biến. Ví dụ:

#include <stdio.h>

int main() {
  int x = 10;
  int y = 9;
  
  printf("%d", x > y); // Kết quả 1 (true) vì 10 lớn hơn 9
  return 0;
}

Ở ví dụ bên dưới, chúng ta dùng equal to (==) - toán tử ngang bằng để so sánh các giá trị khác nhau:

#include <stdio.h>

int main() {
  printf("%d\n", 10 == 10);    // Kết quả 1 (true), vì 10 bằng 10
  printf("%d\n", 10 == 15);    // Kết quả 0 (false), vì 10 nhỏ hơn 15
  printf("%d\n", 5.5 == 55);   // Kết quả 0 (false) vì 5.5 không bằng 55
  printf("%d\n", 3.8 == 3.8);  // Kết quả 1 (true) vì 3.8 bằng 3.8
  
  return 0;
}

C không giới hạn so sánh chỉ các số mà bạn cũng có thể so sánh các biến boolean, thậm chí cả các cấu trúc đặc biệt như mảng hay array trong C.

Ví dụ:

#include <stdio.h>
#include <stdbool.h>  // Nhập file header boolean

int main() {
  bool isHamburgerTasty = true;
  bool isPizzaTasty = true;
  printf("%d", isHamburgerTasty == isPizzaTasty);
  
  return 0;
}

Nhớ bao gồm file header <stdbool.h> khi làm với các biến bool.

Ví dụ thực tế

Hãy xem xét một ví dụ thực tế nơi chúng ta cần biết một người có đủ tuổi bầu cử hay không.

Ví dụ bên dưới dùng toán tử so sánh >= để xem liệu tuổi (25) có lớn hơn hay bằng giới hạn tuổi bầu cử được đặt ở 18:

#include <stdio.h>

int main() {
  int myAge = 25;
  int votingAge = 18;
  
  printf("%d", myAge >= votingAge); // Kết quả 1 (true), nghĩa là từ 25 tuổi trở lên được quyền tham gia bình chọn!
  return 0;
}

Thật tuyệt phải không? Thậm chí, bạn có thể gói “code” ở trên trong một lệnh if…else để chúng ta có thể thực hiện các tác vụ khác nhau tùy thuộc vào kết quả:

#include <stdio.h>

int main() {
  int myAge = 25;
  int votingAge = 18;

  if (myAge >= votingAge) {
    printf("Đủ tuổi bình chọn!");
  } else {
    printf("Không đủ tuổi bỏ phiếu.");
  }
  
  return 0;
}

Trên đây là những điều bạn cần biết về boolean trong C. Hi vọng bài viết hữu ích với các bạn.

Thứ Ba, 27/12/2022 14:33
3,73 👨 2.628
0 Bình luận
Sắp xếp theo
    ❖ Lập trình C