Kiểu bool C/C++ | Code hướng dẫn và ứng dụng thực tiễn

Bài viết được sự cho phép của tác giả Trần Hữu Cương

Trong lập trình, việc xử lý các giá trị đúng/sai là điều thường xuyên phải thực hiện, đặc biệt trong các câu lệnh điều kiện, vòng lặp và kiểm tra logic. Kiểu dữ liệu Boolean được sử dụng để biểu diễn hai trạng thái logic cơ bản này. Cùng tìm hiểu về Bool trong C/C++ được sử dụng như thế nào, cú pháp ra sao trong bài viết của TopDev.

Bool trong C/C++ là gì?

Bool trong C/C++ là gì?

Trong C++, kiểu dữ liệu boolean được sử dụng để biểu diễn hai trạng thái logic: đúng hoặc sai. Kiểu dữ liệu này được gọi là bool, và nó có thể chứa một trong hai giá trị:

  • true: Đại diện cho giá trị đúng.
  • false: Đại diện cho giá trị sai.

Kiểu dữ liệu bool được sử dụng rộng rãi trong các câu lệnh điều kiện như if, while, for, và các phép toán logic khác. Khi một giá trị bool được sử dụng trong điều kiện, giá trị true được coi là 1 và false được coi là 0.

Ban đầu, ngôn ngữ C không hỗ trợ kiểu bool, mà nó dùng số integer để biểu thị true/false (0 tức là false, khác 0 tức là true). Bắt đầu từ phiên bản C99 standard for C language thì mới bắt đầu hỗ trợ kiểu bool.

  Các kiểu dữ liệu trong lập trình C/C++ (Data type)

Cách sử dụng kiểu bool trong C/C++

Cách 1: Sử dụng thư viện <stdbool.h>

Thư viện <stdbool.h> là một phần của C99, cung cấp định nghĩa cho kiểu bool, cũng như các hằng số truefalse. Thư viện này thường được sử dụng trong C hơn là trong C++.

Với cách này ta sử dụng kiểu bool của C (với C++ thì mặc định không cần khai báo thư viện <stdbool.h>)

Ví dụ:

#include<stdio.h>
#include <stdbool.h>

int main()
{
bool value = false;
if (value) { // tương đương với kiểm tra value == true
printf("value is true"); 
} else {
printf("value is false");
}
return 0; 
}

Kiểu bool, boolean trong lập trình C/C++ (Code ví dụ)

C++ tuyển dụng nhiều vị trí, lương cao, ứng tuyển ngay!

Cách 2: Tự định nghĩa kiểu bool với enum

Nếu bạn không muốn sử dụng kiểu bool tích hợp sẵn, bạn có thể tự định nghĩa nó bằng cách sử dụng enum (liệt kê). Điều này giúp bạn tạo ra kiểu dữ liệu bool của riêng mình với các giá trị truefalse.

enum bool { false, true }; // tương đương với typedef enum { false=0, true=1 } bool;

Ví dụ:

#include<stdio.h>
typedef enum { false, true } bool;

int main()
{
 bool value = false;
if (value) { // tuong duong v?i ki?m tra value == true
 printf("value is true");
} else {
 printf("value is false");
}
return 0;
}

Cách 3: Định nghĩa kiểu bool với integer

Một cách khác để mô phỏng kiểu bool là sử dụng một số nguyên (integer). Trong cách này, bạn quy ước rằng 0 đại diện cho false1 (hoặc bất kỳ giá trị khác 0) đại diện cho true.

typedef int bool;
#define true 1
#define false 0

int main() {
    bool isTrue = true;    // isTrue = 1
    bool isFalse = false;  // isFalse = 0

    if (isTrue) {
        // Thực hiện một số hành động khi isTrue là true
    }

    return 0;
}

Cách 4: Khai báo hằng số true/false

Bạn cũng có thể tự định nghĩa các hằng số truefalse mà không cần phải tạo kiểu dữ liệu mới. Điều này thường được sử dụng trong các ngôn ngữ hoặc môi trường không hỗ trợ kiểu bool một cách tự nhiên.

#define true 1
#define false 0

int main() {
    int isTrue = true;    // isTrue = 1
    int isFalse = false;  // isFalse = 0

    if (isTrue) {
        // Thực hiện một số hành động khi isTrue là true
    }

    return 0;
}

Cách 1 chỉ chạy được từ phiên bản C99 standard for C language. Tuy nhiên hầu hết các bản compiler C/C++ đều đã update cho nên các bạn nên dùng cách này. Cách 2,3,4: thì hoạt động giống nhau.

Nhìn chung thì kiểu bool vẫn là kiểu integer, nên cho dù dùng cách nào thì bạn vẫn có thể gán bool bằng một giá trị integer bất kì (0 tức là false, khác 0 tức là true).

Các ứng dụng thực tiễn của Bool C++

Kiểu dữ liệu boolean có rất nhiều ứng dụng trong lập trình, từ việc kiểm tra điều kiện trong câu lệnh if, vòng lặp while, for, đến việc sử dụng trong các phép toán logic phức tạp.

Kiểm tra điều kiện trong câu lệnh if

Câu lệnh if là một trong những câu lệnh điều kiện phổ biến nhất trong lập trình, và boolean đóng vai trò quan trọng trong việc xác định các điều kiện đúng hoặc sai.

Ví dụ:

#include <iostream>

int main() {
    bool isLoggedIn = true;

    if (isLoggedIn) {
        std::cout << "User is logged in." << std::endl;
    } else {
        std::cout << "User is not logged in." << std::endl;
    }

    return 0;
}

Sử dụng trong vòng lặp while

Vòng lặp while sử dụng boolean để xác định khi nào vòng lặp sẽ tiếp tục chạy và khi nào sẽ dừng.

Ví dụ:

#include <iostream>

int main() {
    int count = 0;
    bool keepGoing = true;

    while (keepGoing) {
        std::cout << "Count: " << count << std::endl;
        count++;
        if (count >= 5) {
            keepGoing = false;  // Dừng vòng lặp khi count >= 5
        }
    }

    return 0;
}

Sử dụng trong các phép toán Logic

Boolean cũng được sử dụng trong các phép toán logic, như AND (&&), OR (||), và NOT (!), giúp thực hiện các kiểm tra điều kiện phức tạp.

Ví dụ:

#include <iostream>

int main() {
    bool isAdmin = true;
    bool isLoggedIn = true;

    if (isAdmin && isLoggedIn) {
        std::cout << "User is an admin and is logged in." << std::endl;
    } else {
        std::cout << "Access denied." << std::endl;
    }

    return 0;
}

Kiểu dữ liệu boolean là một phần quan trọng và không thể thiếu trong lập trình, giúp lập trình viên thực hiện các kiểm tra điều kiện và các phép toán logic một cách dễ dàng và hiệu quả. Dù là trong ngôn ngữ C với sự thiếu hụt ban đầu của kiểu boolean hay trong C++ với kiểu dữ liệu boolean tích hợp sẵn, việc hiểu và sử dụng đúng cách kiểu boolean là kỹ năng quan trọng mà mỗi lập trình viên cần nắm vững.

Qua bài viết này, hy vọng bạn đã có cái nhìn sâu hơn về cách sử dụng kiểu boolean trong C và C++, cũng như biết cách áp dụng nó vào các tình huống thực tế trong lập trình.

Nguồn tham khảo: codecute.com

Xem ngay những tin đăng tuyển dụng IT mới nhất trên TopDev